I played with Color Logo as a kid, and recall it fondly in part because I think it was the only encounter with the language that demonstrated anything like actual programming (the book even contains a later chapter teaching recursion) or the language's Lisp-y roots. The trouble with it was that most of the use of LOGO never really got to that at the time: it was just more 'make the computer do a thing!' When I did LOGO in school on the Apple IIs, they never even showed us past the prompt and basic FD/LT/RT etc. When I got hold of Color Logo and found an actual screen editor, my young mind only having been exposed to line-edited BASIC by that point, I was floored.
But I think most people only ever got that FD/LT/RT demonstration, made a few squares and circles, and then promptly moved to BASIC. And the home versions of Logo in those days diluted the language with piles of very un-LISP things like including actual GOTO tags and so forth (Color Logo even included it's own bizarre and incomprehensible DSL for drawing new turtle icons: https://archive.org/stream/Color_Logo_1982_Micropi#page/n95/mode/2up) And that low-end of the LOGO experience really serves to do nothing so much as cement a very imperative way of thinking about how to operate the computer. I did look at the sweet-expressions implementation, and I think with that you get something that looks more QBASIC or LOGO-like in syntax, but found that it didn't work with the REPL (expressions still expected parens to evaluate). I think the "weirdness" and "difficulty" of Lisp syntax is mostly overstated anyhow, if I could get a handle at that age on the madness that was most languages then, and if kids now can get a handle on JavaScript of all things, I don't think the parens are so scary. If Heresy becomes a proper teaching tool instead of just a toy, I'm more interested in using it to teach functional thinking and ease the transition from BASICs to Lisp, than teaching programming from scratch. I'll leave that to the Racket team. ;) On Mon, Nov 17, 2014 at 1:38 AM, Matthias Felleisen <[email protected]> wrote: > > Racket supported some Logo flavors for a while. I am sure they'd be easy > to resurrect. -- The bad part isn't that Logo isn't just dysfunctional > (isn't that the right word for "not functional") but don't help kids with > anything. -- Matthias > > > > > > > > On Nov 16, 2014, at 12:23 PM, Byron Davies wrote: > > John, > > If you’re working on a BASIC-like Lisp, may I suggest Seymour Papert’s > Logo language http://c2.com/cgi/wiki?LogoLanguage. > > This is a line-oriented language developed for kids, with Lisp-like > semantics, developed originally for Turtle graphics. Since there’s already > a Turtle package in Racket, perhaps you could create a full-up Logo in > Racket. Not functional, but still cool. > > Byron > ========= > Byron Davies, Ph.D. — 480-276-4285 > Chief Learner and Director of K-12 Innovation > [email protected] > http://StarShineAcademy.org > > > On Nov 16, 2014, at 10:00 AM, [email protected] wrote: > > Message: 2 > Date: Sun, 16 Nov 2014 11:20:00 +0100 > From: Konrad Hinsen <[email protected]> > To: J Arcane <[email protected]> > Cc: Racket Users <[email protected]> > Subject: [racket] Can't get my language package to work. > Message-ID: > <[email protected]> > Content-Type: text/plain; charset=us-ascii > > J Arcane writes: > > I've been tinkering about with a BASIC-inspired Lisp syntax in Racket to > practice > macros. I've now got all the basic definitions established and wanted to > thus start > working on making it usable as a language, at least with #lang s-expr but > I'm failing > even at that. I can't even get my file to import and function with > (require). > > > The best starting point I found for implementing languages in Racket is > this > article by Matthew Flatt: > > https://queue.acm.org/detail.cfm?id=2068896 > > You can download all the examples and play with them. I suggest you > take his version based on s-expr and modify it in small steps toward > your own language. It's always easier to modify working code than to > start from scratch. > > Konrad. > > > ____________________ > Racket Users list: > http://lists.racket-lang.org/users > > > > ____________________ > Racket Users list: > http://lists.racket-lang.org/users > >
____________________ Racket Users list: http://lists.racket-lang.org/users

