1. 22

  2. 4

    I’m a little disappointed Bigloo didn’t even get a mention – I consider it to be the most practical of the high performing schemes. Purists might find some things to dislike (e.g., its module system isn’t very scheme-like in spirit), but that’s only because the designers have chosen to be pragmatic over dogmatic.

    1. 3

      The type system of Bigloo is also a big draw (for me), and it can be used to implement ML as well (in fact, it actually used to include a Caml implementation, but it was later removed). It’s not my favorite Scheme (aside from my own dialect, I’m rather fond of Gauche ), but not including it here was a disappointment to me as well.

      1. 2

        Thanks for mentioning Bigloo and Gauche (it is on the article but I did not google about it). I was not even aware of their existance. What do you prefer Bigloo or Gauche over Racket for example?

        1. 2

          The last time I used Racket for serious work it was actually called “MzScheme” :D

          Over the years, I have used the following Scheme systems in client-facing production code:

          • Scheme48: servers (esp with images) + OCaml-style structures was a great win.
          • Bigloo: C/C++ integration and fast
          • KSM Scheme: Decent C FFI
          • STKlos: TK integration + CLOS made it nice to spin up GUI apps in Scheme
          • RScheme: experimentation with a team that was used to CLOS/Dylan (I also used Goo here too)
          • Gauche: Unix, Unix, Unix. lots of little utilities, nicely written
          • Gambit: mostly just for C compilation
          • TinyScheme: embedding into larger code bases
          • Guile: GNU stuffs, not used heavily
          • Digamma (my dialect): replaced all of the above with this (mostly)

          For a long time I tried to use the “right scheme for the right job”, and then I decided to create Digamma. I have since moved on a bit, since I have started to find the parens a bit tiresome when I really was already heading down the path of making Digamma an ML, but it’ll always be that apple of my eye (even tho I had two other languages in production before Digamma).

          Does that make sense?

          1. 2

            Fascinating roadmap! Is there any good Scheme with a hindley milner/ML type system? Something like Shen but with bigger community?

            1. 2

              There are quite a few Scheme systems that include type systems (even Chicken! ), but none with HM AND a larger community than Shen.

              Honestly, the type system I wanted to emulate the most was Stalin’s, but that’s based on set based analysis, not HM. I was also interested in Baker’s Nimble type checker for CL, which was a neat (but complicated!) idea.