9 ms·
What's the general state of the Scheme community? I'm getting the impression that after the backlash against R6RS and R7RS most people moved on to Racket, Cloju
by erikj 9y ago
What's the general state of the Scheme community? I'm getting the impression that after the backlash against R6RS and R7RS most people moved on to Racket, Clojure, or Common Lisp.
- SwellJoe 9y agoIsn't Racket Scheme? They have an R6RS language for Racket (http://docs.racket-lang.org/r6rs/Using_R6RS_with_DrRacket.html http://docs.racket-lang.org/r6rs/Using_R6RS_with_DrRacket.ht...). I don't see how that's "moving on" if it's still Scheme.
- fusiongyro 9y agoRacket is a Scheme descendent, but it isn't exactly Scheme. https://racket-lang.org/new-name.html https://racket-lang.org/new-name.html A lot of modern languages seem to eschew what they are derived from; Pharo isn't Smalltalk either, SWI-Prolog now defaults to a standards-incompatible mode, etc.
- pjmlp 9y agoI would say it is a consequence of their origins fading away on the mainstream or being stuck in some university classes. So they have to search for new grounds, instead of being stuck into a design that no longer has the attention of the industry.
- fusiongyro 9y agoHaving a language defined by a standard is good if you can't have portable compilers/interpreters. Once your compiler is available on all the platforms you use, the utility seems to fall off a cliff.
- pjmlp 9y agoI agree regarding standards, my point is that the existing standards got stuck into a point that does appeal to the masses any longer. Another example is Pascal, the original standard was too little for what people were actually using it for. Most of the extensions were then standardized as Extended Pascal, but no one cared because a selling point was being Turbo Pascal compatible.
- erikj 9y agoNo, Racket is a separate language, though it grew out of a Scheme implementation (PLT Scheme) and still includes its predecessor.
- brlewis 9y agoYes, but I think it continues in the general spirit of Scheme, despite things like immutable cons cells that make it not fully backward-compatible.
- erikj 9y agoWell, you can say that Scheme continues in the general spirit of MACLISP, yet we separate them.
- dragonwriter 9y agoI thought that PLT Scheme had actually diverged from Scheme (though it included an R5RS implementation) long before they decided to change to Racket the name based on that fact.
- AnkleInsurance 9y agoRacket is a scheme in one sense but not spiritually. It's a unified learning environment. The editor works hand in hand with the language engine, which you can mold however you like, there's a sophisticated package system, etc. It's practically an insult to describe racket as "a scheme implementation". It's not wrong, but it's a massive understatement.
- AnkleInsurance 9y agoScheme was my first love, before we even knew what r6rs would look like. I feel like r7rs-small rights the wrongs that r6 dumped on us. Scheme has always been a very fragmented community especially in the technical sense, there's a lot of scheme features that don't carry over to another implementation. However, I think most scheme subcommunities appreciate the spiritual benefits of immutable data structures, hygiene in macros, lambda calc, continuations once you grok them, streams, etc. Clojure has filled the hole for a while but I suspect a scheme implementation with as sophisticated a packaging and build system as clojure/lein could be in the works somewhere ;)
- devrandomguy 9y agoI wonder, would it be better to have something like an LLVM frontend for Clojure, rather than another new Scheme? Or, would we still have a long startup time, regardless of the platform? I know Clojure's startup time isn't to be blamed on the JVM, but since Clojurescript does not suffer from that issue, I'm not really sure where the problem is. Looks like that's actually a work in progress: https://github.com/drmeister/clasp https://github.com/drmeister/clasp
- agumonkey 9y agochafmeister talks on youtube are worth a view, half for the lisp part, half for the biochem one.
- xfer 9y agoClojure doesn't have hygenic macros/continuations. Scheme people highly value these features.
- devrandomguy 9y agoClojure's macros can be made hygienic using `gensym`. Is this not enough? Is it desirable to Schemers for it to be impossible to generate user-accessible symbols within a macro? What if symbols in macros were hygienic by default, but we had a `pubsym` escape hatch, allowing us to specify the exact symbol name. Would that allay safety concerns, or does that make something else difficult/impossible?