4 ms·
Sorry, Lisp. I tried.
- brlewis 19y agoSounds like CL wasn't right for his particular requirements. He would have been better off with a Scheme implementation on the JVM -- Kawa or SISC.
- dpapathanasiou 19y agoI was thinking the same thing -- there's also a Lisp for the JVM called Clojure (http://clojure.sourceforge.net/ http://clojure.sourceforge.net/) which he might have found interesting.
- ketralnis 19y agoI've been looking at that one, as well as Armed Bear Common Lisp. Shortly after writing that article I started reading up a lot on Erlang which I've come to like and now have some projects in it (notably wrotit.com, where the submitter probably found this article, since that's the domain on which this was submitted to reddit a few hours ago). I didn't discover ABCL or Closure until after I started using Erlang, so both are a bit of a back-burner educational thing at this point.
- hhm 19y agoMaybe Lush? http://lush.sourceforge.net/lush-manual/f0288067.html http://lush.sourceforge.net/lush-manual/f0288067.html Rather than a Lisp that runs on the JVM, I'd be very interested in knowing a Lisp that somehow runs as Python bytecode. Does such a monster exist?
- danohuiginn 19y agoGoogling turns up a few lisp-in-python implementations: <a href="http://www.biostat.wisc.edu/~annis/creations/PyLisp/ http://www.biostat.wisc.edu/~annis/creations/PyLisp/">Pylisp</a>, <a href="http://www.xs4all.nl/~yduppen/site/psyche.html http://www.xs4all.nl/~yduppen/site/psyche.html">psyche</a> and <a href="http://hkn.eecs.berkeley.edu/~dyoo/python/pyscheme/ http://hkn.eecs.berkeley.edu/~dyoo/python/pyscheme/">pyscheme</a> (the last two being scheme, obviously). Haven't tried using them; maybe I will the next time I feel like frittering away a couple of hours.
- danohuiginn 19y agoclearly html links are the wrong way to go around here ;)
- hhm 19y agoThanks a lot! I had googled for that, but couldn't find anything interesting.
- henning 19y agoLush is great for numerical prototyping, much better than MATLAB/Octave. Its matrix/tensor engine is one of the most awesome (as in being in awe) pieces of software I've ever come across. It is definitely mature and well-tested in that niche. It was created by leading neural network researchers. Outside of its niche, it's pretty useless.
- viergroupie 19y agoI don't quite get the faith Lush seems to inspire in some of its users. It's terribly documented, has antiquated semantics (no closures), and isn't even type safe (you can segfault if you pass an object of the wrong type). I might consider using Lush when performance was absolutely critical, but otherwise I don't think it holds a candle to Matlab for prototyping.
- jey 19y agoWhy? So you have access to the Python libraries from Lisp? That would probably be better accomplished by writing a layer that used the Python/C API to fbnd the functions into Lisp, rather than compiling the whole program to run on the (slow) python interpreter.
- hhm 19y agoNo, I just was thinking in some Lisp implementation that didn't require to install the JVM, but that could use the bytecode of a lighter language, like Python. Also because I suppose if a Lisp implementation is generating code for a specific platform, its documentation will refer to such platform, and I'd prefer to read about Python bytecode than about JVM. But maybe I'm wrong and it's just useless prejudice of my part.
- deleted 19y ago[deleted]
- Zak 19y agoWithout database access, sockets, threads, POSIX, or a portable FFI (which I could at least use to write many of those features), my programs can't talk to the outside world, and that makes them basically useless. Is this a troll, or did the author simply not do very much research? CLSQL can talk to MySQL, PostgreSQL, SQLite, Oracle and (through ODBC) MS SQL. What database does dking want to access? I'm pretty sure all the major Lisps provide a socket interface. Usocket standardizes it. I think the commercial Lisps provide threads. SBCL and CMUCL have threads on certain platforms, especially x86 Linux. POSIX is available through the FFI, but some Lisps provide their own POSIX package. I think there's some work being done on a more portable library. CFFI and UFFI are both good FFIs portable between all the major Lisps. Everything the author asks for is easy to find. Many of these libraries are the first hit for a reasonable google search (e.g. "lisp sql"). I've had issues finding good Lisp libraries on occasion, but the situation is much better than the author suggests.
- ketralnis 19y ago> Is this a troll, or did the author simply not do very much research? It's not a troll, and I did do some research. I wrote this a few months ago (this is its second round on news.yc, and I'd make some addenda to it if it weren't actively linked to at the moment). My biggest problem was that I was insisting on portability across implementations, because that's something that I got for free in languages like Ruby that I didn't want to give up. Reading around, it looks like most Lisp users didn't have such a requirement, and mine was largely engineered because of bias given to me by the implementations of the other languages I was using. When it comes down to it, I needed an implementation with those things that would work with FreeBSD, OS X, and Linux, and maybe sometimes Windows, and support threads, WebDAV, and some other stuff. While I still can't find a WebDAV client library, it looks like my requirements for portability across implementations may have been unfounded. Since then I've gotten into Erlang, but if I were to try Lisp again it would probably be a Scheme after reading around.
- Zak 19y agoPortability between implementations is a bit of a red herring (as you seem to have discovered); most libraries you'd actually want to use run on most implementations you'd actually want to use. Ruby and Python don't give you this either, but they do give you a standard implementation. I suspect a lot of Ruby code you might want to run doesn't work with JRuby or IronRuby. Portability between operating systems is a more serious problem. I think ECL is the only free implementation that does this well, and most libraries don't seem to be tested on it.
- awt 19y agoCheck out http://programming.nu http://programming.nu. It has pretty much everything that this guy says he was missing.
- sohail 19y agoThis guy is an idiot.
- mov 19y agoPlease, check http://cliki.net http://cliki.net, http://common-lisp.net http://common-lisp.net and http://cl-user.net http://cl-user.net. There are packages to all the things commented. About SQL, for example, I'm using Submarine (ORM) with Postmodern and it's running like a charm. For Web development, there are Hunchentoot, AllegroServe and interesting frameworks like UCW or Weblocks (each one I'm using right now). Maybe the guy didn't tried enough, more 5 min. at google would be enough ;-)
- ketralnis 19y agoSubmitter: thanks for submitting the (original) ketralnis.com article. The same article was submitted under my experimental domain wrotit.com to reddit, and I'd much prefer to reduce the incoming links to that domain until I've made final decisions about the link and URL structure over there :)
- henning 19y agoLisp the Platonic ideal is powerful and important. Particular dialects like Common Lisp and particular implementations are akward because the ANSI standard is intentionally silent about common network, I/O, etc. stuff. Old news.
- vikram 19y agoI had similar issues. But I find that the simplest way to get around them is to use VMWare or Parallels, depending on what your emacs is running on. Run Lisp inside the OS of your choice and connect to it using Slime. If you don't use Slime+Emacs+Tramp, I don't think it's worth getting into CL at all. Slime absolutely rocks my world. I have 8 SBCL instances running on multiple machines (virtual and dedicated) on my network and the internet, and I don't have problems doing any lisp development. My advice would be to pick the OS/Lisp implementation based on what you think you might need.
- mov 19y agoOne of these SBCL instances is for telltrains dot com? :-)