I'm evaluating racket, clojure, even IronScheme over mono.
Do you recommend using Chicken Scheme, what are his advantages/disadvantages over the other languages mentioned earlier?
I'm evaluating racket, clojure, even IronScheme over mono.
Do you recommend using Chicken Scheme, what are his advantages/disadvantages over the other languages mentioned earlier?
It's also BSD-licensed -- not so important for a personal project, but nice if you want to build a commercial product in Scheme. Gambit Scheme also has this (it's available under the Apache 2.0 license).
Why do I love it? It can be fast, very fast. You can embed C code if it isn't fast enough.
It is very practical, there are many libs. It compiles to C which makes it pretty easy to add support for many popular libs that are written in C/C++.
A lot of schemes sacrifice speed and practicality for academic reasons, chicken scheme doesn't do this.
The community is fantastic. Everyone is reasonable and kind and helpful.
-Compiles to C, so it's highly portable and you get the performance optimization benefits of whichever C compiler you're using
-Lots of libraries
-Good packaging system, with packages that are cutely referred to as "eggs" (similar to Ruby's "gems" system)
Racket is great too, though, and DrRacket is an excellent IDE with minimal install/configuration difficulty. It just works.
I'm not really sure what tools exist for Chicken Scheme. With Clojure, you're probably going to need to configure emacs or another text editor for syntax highlighting and REPL. I write Clojure in Sublime Text 2 with SublimeREPL but that requires some config and isn't technically free. There are Eclipse and NetBeans plugins, but I dislike Java IDEs for their enormous memory footprint.
This is basically the same thing you do for every other language when using vim/tmux.
Feel free to replace vim/tmux with $EDITOR/$TERMINALMUXER of your choice here, outside of emacs, which kinda does this already as long as you don't care about updating your repl buffer at the same time as you are editing code (say, whatever code you send doesn't return immediately because it's doing something time-consuming). vim+conque has this same issue as emacs, making $EDITOR/$TERMINALMUXER the only alternative if you want to use the repl to hack/dispatch big jobs.