@rml @theruran @vollmerm
I love how the minimal #Chez interpreter (without the compiler) on x86_64 Linux is only 346800 bytes. That is _small_ and minimal. But still the Chez compiler is best-in-class, producing the among the fastest and smallest binaries of any Lisp.
That said, Guile's #GPL licensing and it's use in #GuixOS, and it's extensive collection of libraries and SRFI support, make #Guile a superior choice for practical applications (IMHO). Also now I know of someone working on porting the "PreScheme" compiler from Scheme48 (a Scheme subset with no garbage collector) to Guile for use in building low-level high-performance binaries: https://gitlab.com/flatwhatson/guile-prescheme
> "I promise I'll convince everyone here that types are good by the end of this talk"
As a Haskeller, I do not need convincing at all. One thing that got me to even pay attention to #Scheme however was a conversation with a friend, William Byrd -- by the way, who's dissertation is in relational logic programming from the University of Indiana under Dan Friedman, same school as the presenter in this video -- explained to me that the power of Scheme comes from both it's minimalism, but also it's macro system which you can use to implement any type system you might want. Byrd told me he is frustrated by the world kind of gravitating toward the Hindley Milner type checking algorithm used by OCaml, F#, Haskell, Typed-Racket, Coalton, Carp, and PreScheme, as if it is the end-all-be-all of type systems.
So anyway, Will Byrd convinced me how cool it is being able to use any type system at all in Scheme. Hindley-Milner, CSP, Pi Calculus, Calculus of Constructs, Separation Logic, Location Calculus (which I just now learned about!), Borrow Checking and Linear Types (from Rust), or maybe even more exotic constraints systems modeled on physics -- use whatever is best for your problem domain.
#chez #gpl #guixos #guile #scheme