Hacker News new | past | comments | ask | show | jobs | submit login

[Chicken Scheme](https://call-cc.org) is fast, makes native binaries, and has a giant library of "eggs" covering most of the SRFIs. It's R5RS working its way towards R7RS. I've been using it for my "Python but fast" code for the last year or so, and it's one of the best production languages I've ever had.

[Chez Scheme](https://scheme.com) is super fast, and has the best REPL I've ever seen, but can't easily make binaries, and has limited external libraries. It's R6RS, which I prefer, but in the event you find other Schemers to work with about half of them are going to be annoyed it's not R7RS.

I found Racket to be substantially slower to compile and at runtime, the library is weird and not what I expect of a Scheme, and DrRacket IDE has some annoying quirks (it destroys your REPL environment every time you edit & run source, which is just monstrous). It's really heavily designed around educational uses, not so much production, and with the "Racket 2" changes it's likely to fragment and chase off any serious users.

Learning one Scheme (with SICP, TSPL, etc.) gets you 95% of the way with any Scheme; not so much with the three major LISPs (CLISP, Clojure, Arc). You'll still spend half your time reading library docs and SRFIs, which is where they all differ.

With any Scheme or LISP, you're going to face opposition from soi-disant "programmers" who don't like to learn anything about programming, and managers who don't want to support anything that isn't in the last 5 buzzwords they've heard, but if you own your own project, it's pretty great.




Great response, I really like chicken when working on Mac or Linux, but it's windows (where I do most of my development) that it struggles.

Some eggs just don't install and the error messages are really bad at that point. Trying to install awful to develop a web api I had to give up, couldn't find a way of getting it installed on windows (no problem on OSX or Ubuntu 18.04)

Installed Portacle and (ql:quickload "hunchentoot") and was up and running in a few minutes.

A lot of lisp-languages could do with an equivalent to Portacle, an opinionated dev environment that you can install and just start coding, an area that Racket is excellent in.


I've never had a Windows, I'm a Mac nerd, but I'm looking into it for cross-platform binaries.

Option 1: MS has a Linux subsystem now. Problem solved, but maybe not customer-friendly.

Option 2: Cygwin probably works, I've seen John Cowan mention it in IRC.

Option 3: This somewhat messy process: https://wiki.call-cc.org/compiling-chicken-on-windows-xp-wit...


Cygwin is the best option because you can easily access all of the installed binaries for use with GUI emacs running in windows.

But I don't consider that to be a real native option, it is some kind of weird halfway house that sort of installs linux binaries but they are also kind of windows ones polluting your windows path.

Currently SBCL 'just works' on native windows, which puts it ahead for me if you are happy with both Scheme and CL.


Option 4: Use msys2 which lets you install/build a bunch of Scheme implementations, e.g. http://wiki.call-cc.org/msys2.


I really wanted to love Chicken but I remember finding a number of eggs I wanted to use that were broken for OSX. If I were a better programmer I guess maybe I could have figured it out.


Which eggs? I'm on Mac, and in Chicken 5 currently, everything has "just worked". SDL required me to hit the SDL site for the frameworks, the rest I've used have had no external requirements.


I wish I could remember which eggs, it's been about a year since I've moved on.


A balanced and intelligent comment.

Although, if Racket is for educational uses only, if you see their main website you will notice that it is actively preparing itself to become the next Python.


Racket as a language is not intended for educational use.

Racket comes with multiple languages - and a few of them are for teaching. They are clearly labelled teaching languages.

The main language, racket, is a full fledged programming language.


Yes, that was my point, too.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: