Release Announcement for Racket 6.10
download.racket-lang.org
download.racket-lang.org
Presumably by "future racket implementations" they mean the Racket 7 move to Chez Scheme: https://news.ycombinator.com/item?id=13656397
Also, this seems like a neat thing for people needing to deploy racket code x-platform:
> Racket supports cross-compilation of executables in more cases, including executables that depend on packages for foreign libraries.
Presumably, it's broader than that, and applies to any new VMs enabled by the Racket-in-Racket effort, not just the expected move to Chez as the primary VM.
For example, this site (Hacker News) is built in Arc, which is built on an old version of Racket.
EDIT: Also worth noting that Racket will move to an even more performant runtime (Chez Scheme) at some point in the future.
Slow compared to, say, Python3? Generally Racket wins out commandingly: http://benchmarksgame.alioth.debian.org/u64q/compare.php?lan...
EDIT: Normal disclaimers about lies, damned lies, and benchmarks apply :-)
It's also important to compare the idiomatic version of the code in Racket versus the idiomatic version of the code in Python. If you make a line by line translation, you can get an awful performance.
Also, remember that by default the DrRacket IDE use the mode "debugging" and "preserve stacktrace". They are very handy for debugging but they make the code much slower. The recommendation is to run the benchmarks in the command line. But if you disable "debugging" and "preserve stacktrace" the results are quite good.
Leonard Henry Courtney, 1895.
Perhaps it seems that it lacks libraries compared to the NPM repository, or to Java, but last time checked, there are 779 packages listed for Racket:
Have you taken a look to see if you find what you need?
For a parallel example: At first I was reluctant to develop in Common Lisp due to what appeared to be "too few libraries", again, it's just an appearance when you compare to the amount of libraries for a more mainstream platform like Java or C++. However, for CL i found all the libraries i needed (and then some); i wouldn't be surprised if for Racket you can find everything you need.
It used Racket's inbuilt Threads, http constructors, and the only external package, db-lib, to talk to Postgres.
Supported about ~12,000 long-lasting connections/min for the first 48hrs, without dropping or being overly slow.
Lack of some libraries weren't really an issue, because:
* Typed, Lazy and normal Racket can all talk to each other easily.
* Re-inventing the wheel is ridiculously easy and quick in Racket.
* Re-writing something from SLIB [0], is a five minute thing, if you need to make any changes.
* Racket has a decent FFI, and wrapping C is simple. (There is also progress for talking to Java)
Add to that, for most people Python is easy. And when they get used to parentheses, most of my team were surprised to find Racket is a lot like Python, which meant fast iteration, with better performance than Python, but less opinion.
[0] https://en.wikipedia.org/wiki/Arc_(programming_language)