One thing to note is that the authors are foremost very well known machine learning researchers. Reading Bottou's PhD thesis (in French unfortunately for most HN readers) was kind of depressing in a way, when you see the kind of things he did 20 years ago in an environment which seemed more powerful than what we have today. This environment was not lush I think, but it certainly was the inspiration for i: some info in Englisg at <a href="http://leon.bottou.org/projects/lush" rel="nofollow">http://leon.bottou.org/projects/lush</a>
I've hacked up one or two tiny things in Lush.<p>To me, the important thing about Lush is not that it's object-oriented, but that it's oriented toward high-performance numerical computation.<p>It has array types with aggregate operations (like J, K, R, NumPy, PDL, PV-WAVE IDL, etc.) even for interpreted code, plus bindings to all the standard numerical libraries; and it has a decent compiler and supports inline C.
I really like this language. The core libraries have sensibly named functions, getting it to generate or talk to C is trivial, and it's simple to get a GUI or a small script or something going. It has good bindings to SDL, which makes it easy to do some game programming. The REPL has a great online help facility, and interactive reflection is simple, so there's little head-scratching. I used it years back, when my main exposure to Lisp had been CL, and it was refreshingly convenient.<p>The only problems I have with it are the minor one of the OO syntax (minor as I never made much use of the OO features) and the somewhat more major issue of the dynamic scoping (no closures). It was a deal-breaker for me but was pretty educational, as I had not quite understood dynamic versus lexical scoping at the time.<p>Except those issues, it's a great Lisp, especially if you need one that plays nicely with the OS and is easy to learn. (And it is pretty speedy to boot, even respectably speedy interpreted.)<p>(Edited, removed a bit where I repeated myself.)
Has anyone compared this with Incanter, another lisp-based (clojure) stats environment?<p><a href="http://incanter.org/" rel="nofollow">http://incanter.org/</a><p>Both look like activity has died out recently... This is a shame, I was thinking recently about this issue. It seems that there is a real need for a stats environment based around a straight-forward general purpose programming language that can be easily parallelized and can easily access GPU functions. Although GPU functionality is still pretty narrow, it's growing, and linear algebra seems to have a place in statistical computing.<p>I have not yet seen anything that fits this bill, but Incanter is the closest. Clojure has the Calx library for OpenCL. Last I asked around, nobody had put the peanut butter in the chocolate just yet.
<i>(no automagic memory management, no garbage collection, no functional programming).</i><p>That's a big drawback.<p>Common Lisp (SBCL) is very fast already, and one can avoid the GC overhead in a number of interesting situations (though not all). Are there benchmarks comparing SBCL and Lush?<p>Has anyone found a sane way of doing maths (linear algebra, etc.) in Common Lisp? My experience with the GNU scientific library has been disastrous.