|
|
|
|
|
by refulgentis
1035 days ago
|
|
I almost posted this an hour ago, and feel more comfy now that it’s an hour later: I’m sad how quickly this rocketed to top 3 on front page and how little content there is, it’s just someone resigning from a project virtually none of us know about. The “My resignation letter” was titillating enough to skyrocket upvotes and engagement |
|
You may be surprised! For context, R7RS is the latest standard for Scheme. Actually it's two standards: a 'small' one for the core language (similar to R5RS; this was finished a decade ago), whilst this involves the 'large' standard, which is trying to agree on a "standard library".
Some reasons people may have upvoted this, or otherwise be interested in Scheme:
- R7RS has been dragging on for so long, it may be nice to see some/any sort of status update
- Scheme has so many diverse implementations (Racket, Guile, Gambit, Chicken, Chez, Stalin, etc.) that it's really important to have some common standards.
- Scheme was a major influence on Javascript (along with Self)
- Scheme pioneered many features that are now taken for granted, e.g. first-class functions (it's a "1-lisp"), lexical scope, tail-call elimination, continuation-passing style, call/cc, etc.
- Scheme is commonly used as a scripting language by applications written in other languages (similar to Lua). Indeed, Guile is the "official" extension language of the GNU project (e.g. see Guix, Shepherd, etc.).
- Scheme was/is taught at many schools and university courses
- Well-known textbooks like SICP use Scheme; and indeed guide the reader through writing their own implementation!
- Scheme is used for programming language research (e.g. "towers of interpreters", (delimited) continuations, miniKanren, etc.). Indeed Racket used to be called PLT Scheme (PLT = Programming Language Theory)