3 ms·
> The idea of a language that can progressively gain features was (to the best of my knowledge) pioneered by Racket. Interesting, I did not know Racket had tho
by uticus 3y ago
> The idea of a language that can progressively gain features was (to the best of my knowledge) pioneered by Racket.
Interesting, I did not know Racket had those connections, although I dabbled with Dr. Racket [1] a while back. It's a pretty fascinating thing to work with, especially from the educational standpoint.
Smalltalk also has ties to education, see Alan Kay's "The Early History of Smalltalk" [2]
Of course when we talk about extensibility in a programming language, I would think early examples are not only Lisp (Racket is a Lisp of course) but also Forth [3].
[1] https://docs.racket-lang.org/drracket/index.html https://docs.racket-lang.org/drracket/index.html
[2] http://worrydream.com/EarlyHistoryOfSmalltalk/#smalltalkAndChildren http://worrydream.com/EarlyHistoryOfSmalltalk/#smalltalkAndC...
[3] http://www.bradrodriguez.com/papers/moving6.htm http://www.bradrodriguez.com/papers/moving6.htm (this page describes extending the language, but is part of a larger project building a Forth from the ground up...not sure if that counts as extensibility or just a pain point, but regardless building out a Forth seems to be part of the rite of passage, so in my mind that counts as a language that is focused on extensibility. Although not necessarily focused on pedagogy.)
- spdegabrielle 3y agoIt’s DrRacket not Dr. Racket
- DonaldPShimoda 3y agoI haven't looked enough into Smalltalk's history — thank you for the pointer! Although the "language levels" I'd mentioned previously are implemented with macros, the underlying concept is a little deeper than that and I don't know of an earlier example of such a system! Certainly the Lisps and Schemes did a lot of macro work, but they did not tailor applications of that work to CS education in the same way (to the best of my admittedly limited knowledge).