Most of chapter 4 will be impossible to really translate to JS because JS has no macros (required to implement some of the special forms like delay) and isn't homoiconic.
SICP translated to JavaScript
11–20 of 116 posts
Re: SICP translated to JavaScript
#12Most of chapter 4 will be impossible to really translate to JS because JS has no macros (required to implement some of the special forms like delay) and isn't homoiconic.
http://sweetjs.org/
Re: SICP translated to JavaScript
#13Re: SICP translated to JavaScript
#14Re: SICP translated to JavaScript
#15why, God, why?
Perhaps due to the increasing popularity of JavaScript and the decreasing accessibility or usage of Scheme.
Is Scheme really decreasing in usage? Sure, in recent years there have been high-profile moves to Python at MIT and UCB, but I don't know of any hard stats on worldwide Scheme usage. Not that it matters.
Re: SICP translated to JavaScript
#16Side note: the navigation is really irritating. The back button only works sometimes, because it's replacing content without doing some kind of pushState. So you have to hunt for links.
Another side note: Sean Burke and Piers Cawley have ported some of mjd's excellent book Higher-Order Perl to JavaScript. This might be even better, because both Perl and JS have C-like syntax hiding some impressive functional capabilities. I wish someone would finish that, but I guess few people even know about HOP, these days.
Re: SICP translated to JavaScript
#17Re: SICP translated to JavaScript
#18Obvious objections - JS has no tail call elimination, no macros, and state-changing is managed with entirely different conventions in Scheme. Also the conceit of SICP (not really justified) is that they don't have to teach you syntax, because homoiconicity. Still, I think it's a worthy pursuit to try to bring the insights of this book to a wider audience. Side note: the navigation is really irritating. The back butto…
Re: SICP translated to JavaScript
#19Re: SICP translated to JavaScript
#20Earlier quoted context omitted.
Now if someone would only translate it to Visual Basic it would be truly accessible.
Preferably classic Visual Basic, not the .NET edition :-)