Alex > [racket processes variable definitions first, then functions]
Got it. > Ok, does it show that (or a similar message about not being able to re-define > add1) > for your original program with BSL? > ... If I run the add1 definition, regardless I place it above or below the definition of atom?, Racket flags it w/a "...defined previously" error; when it does this it ignores the pair? problem in the atom? defintion. If I remove the unneeded add1 def, it then gives a "pair?... not defined" error for the atom? definition. So Racket does variable defs first, then functions and checks for "previously defined" before trying to create any new functions. I guess this means that we cannot override existing function definitions in Racket? OK by me. <g> I think in Javascript and maybe others one could just redefine right over the top of "inherited" stuff. But then that's probably apples/oranges and I began Racket b4 really learning much JS. JS seems to do pretty much whatever it wants, although D. Crockford has provided a lot of "good-practice" forms that look to make it civilized. JS is what actually got me looking at code again: It appears I need it to mess w/some really annoying bank websites that require 6, up to 20 or so, clicks to download images of your paper transactions. Each transaction, that is. But I need to learn modern concepts that weren't common practice when I left IT in the mid '80s. Crockford recommended TLS most highly and after going cross-eyed pencilling intermediate answers I decided I might as well just code the stuff. The rest is history... I have to say, Racket looks _lovely_ compared to most of the development options I've found in the last few weeks. And while I don't think I'd actually try to _kiss_ the authors, I gotta say the documentation is fantastic. Better than anything I've seen anywhere. ' Rufus ____________________ Racket Users list: http://lists.racket-lang.org/users