Hacker News new | past | comments | ask | show | jobs | submit login

I don't have the exact quote/source right here handy, but I believe that was Guy Steele's intention with Scheme.



He gave a brilliant talk about it: "Growing a Language"[1].

The idea is to make languages that grow—ones that provide a small, uniform core that can be extended by the user. Ideally, these extensions feel like first-class citizens: things added by users should feel on par with built-in language features.

It's still one of the best technical talks I've ever come across.

[1]: https://www.youtube.com/watch?v=_ahvzDzKdB0


He even humorously implied that a growing language shrinks, by replacing many specific constructs with a single general one.


https://en.wikipedia.org/wiki/Scheme_(programming_language)#...

This was a concept for R6RS (not sure what happened, apparently some controversy with it) and R7RS has (attempted? succeeded?) in going in this direction.


IIRC R6RS was deemed too modular for not much reason while abandoning backwards compatibility. Thus, R7RS was split into small/large specs, and largely builds on R5RS.


R6RS was the systemd of language standards. It went against the very philosophy of the language it purported to standardize, and was basically a prescriptive standard based on a few influential individuals' notion of what Scheme "should" be.

That's another reason why I remain unswayed in my detestation for systemd: I'd seen this movie before and I don't like how it ends.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: