I learned of this implementation’s existence because it was mentioned in a new SRFI. It’s hosted on Chibi (but can theoretically be run on any R7RS small implementation). Looks pretty cool, and it even comes with a syntax-case implementation, which perhaps we could steal for a CHICKEN egg :)
I guess a good example would be Racket running on Chez Scheme; an implementation can offer new syntax and experiment with other new features while leveraging the runtime and tooling of another implementation. This is also how new implementations get bootstrapped, but I think for this particular one the goal is more to be a clean (in their words “sane”) implementation of Scheme which makes it easy to add reference implementations of new SRFI libraries (which is what it’s being used for right now).
OK I can honestly say that this is the only programming language I have ever seen where despite clicking several levels deep through link nests I have yet to come upon an actual example of the syntax of this variant or what makes it different.
I have! I got through the first 1/3 or so of SICP using MIT Scheme, and I’ve played off and on with Racket, Chicken Scheme and, back in the dark ages when dinos roamed the earth, I ported Scheme48 to Windows as part of my day job :)
LISP like languages are a thing I have wanted to explore in more depth for a long time, but lately I’m cutting back on that kind of thing a lot in favor of honing my important skills for $dayjob :)
I learned of this implementation’s existence because it was mentioned in a new SRFI. It’s hosted on Chibi (but can theoretically be run on any R7RS small implementation). Looks pretty cool, and it even comes with a syntax-case implementation, which perhaps we could steal for a CHICKEN egg :)
Can you ELI5 how it makes sense for one scheme implementation to require a second one? Couldn’t I just use Chibi instead of this?
I guess a good example would be Racket running on Chez Scheme; an implementation can offer new syntax and experiment with other new features while leveraging the runtime and tooling of another implementation. This is also how new implementations get bootstrapped, but I think for this particular one the goal is more to be a clean (in their words “sane”) implementation of Scheme which makes it easy to add reference implementations of new SRFI libraries (which is what it’s being used for right now).
OK I can honestly say that this is the only programming language I have ever seen where despite clicking several levels deep through link nests I have yet to come upon an actual example of the syntax of this variant or what makes it different.
It says it’s an implementation of R7RS scheme, so any scheme code you’ve seen before would be literally identical?
I’m not sure you correctly parsed what this project is. It’s not a new language. It’s an implementation of an existing one.
You’re right. I hadn’t. Thanks for pointing that out.
No problem. 🙂
Have you ever tried Scheme?
I have! I got through the first 1/3 or so of SICP using MIT Scheme, and I’ve played off and on with Racket, Chicken Scheme and, back in the dark ages when dinos roamed the earth, I ported Scheme48 to Windows as part of my day job :)
LISP like languages are a thing I have wanted to explore in more depth for a long time, but lately I’m cutting back on that kind of thing a lot in favor of honing my important skills for $dayjob :)
Someday!