R7RS Considered Unifier of Previous Standards (2015) [pdf]
andykeep.com
andykeep.com
I don't see how that's "moving on" if it's still Scheme.
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.
So they have to search for new grounds, instead of being stuck into a design that no longer has the attention of the industry.
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.
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 ;)
Looks like that's actually a work in progress: https://github.com/drmeister/clasp
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?
First class continuations however are less easy, and just as big a part of scheme. Callcc is a cult, nearly, and for good reason. With it, almost all local control patterns can be easily implemented so you can have things like fibers, coroutines, etc basically for free. It gets harder when you want asynchrony and parallelism, Andy Wingo has a great blog about guile internals and delimited continuation implementation, CML stuff, etc. If you're interested in higher-level scheme implementation, that's a good starting point.
Clojure has advanced control flow mechanisms and more sophisticated parallelism features than most scheme implementations, but this relies a lot on the underlying host platform. Callcc is made possible at the fundamental level of how scheme works. Pmaps in clojure work because the jvm is incredible and js engines are getting there too. LLVM is not the magic bullet for excellent language design, sometimes.
Clojure a greatest strength was being able to use all the mature Java libraries. The jvm is an incredibly sophisticated platform, regardless of how shitty Java is. Clojure script benefits from the same concept by being able to run on node, use npm libraries, run on lighter devices in a quicker start-up than regular clojure, etc.
Common lisp and clojure have quite a few differences, though common lisp is certainly on clojures tail with regards to adoptability in enterprise. Scheme is a simpler, truer to principle language than CL.
I get where you're coming from, but there's a long list of reasons why it hasn't ever been done very well, not the least of which being that it just wouldn't be as useful as people think. There's a million languages that can talk to c/c++. Guile can do it, ruby can do it, Julia can do it, there's already some lisp cousins/friends that have that ability.
I'm not super familiar with clasp, but I'd bet anything that its missing some major features compared to sbcl.