[racket] TLS "atom?" definition for Scheme does not work in DrRacket

From: Rufus (rlaggren at mail.com)
Date: Thu Mar 5 17:16:29 EST 2015


> [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.

Posted on the users mailing list.