InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Article: Exploring LISP on the JVM

Posted by Ryan Slobojan on Jul 17, 2008

Sections
Development
Topics
Language ,
Java ,
Compilers
Tags
JVM ,
LISP ,
Scheme

This article, written by Per Jacobsson, is aimed at Java developers curious about Lisp. It discusses the different dialects of Lisp that are available on the JVM today, and gives a crash course in how Lisp programming works and what makes it unique. Finally it looks at how Lisp code can be integrated with a Java system.

From the article:

One of the most exciting things in the Java world right now is the work being done to get other programming languages to run on the virtual machine. There is a lot of buzz around JRuby, Groovy, Scala, and the JavaScript engine Rhino. But why stop there? If you really want to take a step outside the mainstream and dive into something completely different from Java, Lisp is a great option. And there are several open-source implementations of the Lisp programming language for the JVM out there, ready to be explored.

So what makes Lisp worth looking at? For one thing, this fifty-year-old language has been the catalyst of many ideas we take for granted today. The if-then-else construct originally came out of Lisp, as did early attempts at object-orientation and automatic memory management with garbage collection. Lexical closures -- a hot topic for Java programmers right now -- were first explored in Lisp back in the seventies. And beyond that, Lisp still has many other unique features that other languages have yet to adopt, the kind of good ideas that are bound to make a comeback in the future.

Read the full article here.

12 comments

Watch Thread Reply

Eclipse Plugin by Michael Bohn Posted
"Lisp is a great option"??? by Paulo Trecenti Posted
very interesting by Deepal Jayasinghe Posted
Great Lisp Intro by Julian Browne Posted
Re: Great Lisp Intro by Michael Neale Posted
Re: Great Lisp Intro by Michael Hunger Posted
Re: Great Lisp Intro by Michael Hunger Posted
Try this new lisp language on the vm by Ralf Puchert Posted
LISP Rocks by peter lin Posted
Re: LISP Rocks by Julien Martin Posted
Learning Common Lisp by Charles Ditzel Posted
Get over it by Mark Souza Posted
  1. Back to top

    Eclipse Plugin

    by Michael Bohn

    There is also the Dandelion plugin for Eclipse:
    sourceforge.net/projects/dandelion-ecl

    The advantage of this plugin is, that it is not bound to a specific Lisp Implementation. The two Lisps that are currently supported are CLISP and SBCL. They come directly with the plugin and are ready to use after the installation. This is ideal for Lisp beginners.

  2. Back to top

    "Lisp is a great option"???

    by Paulo Trecenti

    Ada is a great option.

  3. Back to top

    very interesting

    by Deepal Jayasinghe

    I still remember the first time I use LISP , it was for am AI assignment. I enjoyed a lot using that as well as I realize how powerful LIPS is. Having support from JVM for the powerful language like LIPS will make our life much more easier.

    Article is very useful and very straightforward


    Deepal

  4. Back to top

    Great Lisp Intro

    by Julian Browne

    I used to share a regular car journey with a real Lisp nut. He used to say that once you really get Lisp, all other languages look like a poor relations.



    Shortly after I came across this article which filled in a lot of the gaps for me and to some extent explain why Lispalikes, like javascript and Ruby, are so powerful.

  5. Back to top

    Try this new lisp language on the vm

    by Ralf Puchert

    Here the Link: clojure.org/
    And here an netbeans-plugin with completions,repl and so on: enclojure.org/
    Have a look !

  6. Back to top

    LISP Rocks

    by peter lin

    I'm bias, but LISP rocks. Unfortunately, getting developers to try LISP or use it on a regular basis is hard. LISP is also very popular in the AI world in expert systems because it is so powerful.

    peter

  7. Back to top

    Learning Common Lisp

    by Charles Ditzel

    I am not well versed at Scheme - but am familiar with Common Lisp and there are objects that I feel are excellent aspects of it - specifically CLOS (Common Lisp Object System) and add-ons like the rule-based CL libraries - LISA and Lisp Reasoner. One excellent place to start is LispBox. There is an excellent learning environment that features Franz's Allegro CL, Steele Bank CL, Clozure CL and CLISP tightly woven into Emacs development environment. Note also there are nice stand-alone development environments like Franz's development environment and LispWorks. I should point you to Foil which consists of a protocol and set of libraries to access the JVM (and for that matter CLI/CLR). Also environments like Franz's Common Lisp includes jLinker (a dynamic link between Lisp and Java). I've recently been spending a fair amount of time on Common Lisp - refreshing myself with what's happened in the past 20 years since I worked with it. Finally, I encourage anyone interested in Common Lisp and Scheme to view the following Google video, Practical Common Lisp.



    cheers.

    Charles

  8. Back to top

    Re: Great Lisp Intro

    by Michael Neale

    I was trying to think of a joke involving a cdr journey, but my coffee hasn't kicked in yet.

    Just assume it was something witty ;)

  9. Back to top

    Re: Great Lisp Intro

    by Michael Hunger

    I heartily recommend the SE-Radio podcast with Dick Gabriel On Lisp. It is a real eye opener.
    See www.se-radio.net/podcast/2008-01/episode-84-dic...
    Especially the wonderful song from the roundworm album of Bob Kanefsky: www.songworm.com/lyrics/songworm-parody/Eternal... (God wrote in Lisp)

    The OnLisp book from Paul Graham is available online at: www.paulgraham.com/onlisp.html
    For German speaking people there was lately a quite funny introduction at CCC-Radio-Express:
    chaosradio.ccc.de/cre084.html

    Michael

  10. Back to top

    Re: Great Lisp Intro

    by Michael Hunger

    I forgot the mp3-link for the song: www.prometheus-music.com/audio/eternalflame.mp3

    Michael

  11. Back to top

    Get over it

    by Mark Souza

    LISP developers, get over it. Use it for your hobbies and AI projects.. but are you serious about this???

    (define frame (make JFrame))
    (define button (make JButton "Click only once"))

    (define action-listener
    (object (ActionListener)
    ((action-performed e :: ActionEvent) ::
    (*:set-enabled button #f))))

  12. Back to top

    Re: LISP Rocks

    by Julien Martin

    "Lisp rocks": I fully agree with you even though I would be hard put to code a simple "hello world" in lisp. I base my judgment of Lisp on a very powerful program called Maxima. This program is a symbolic math engine that allows you to perform any kind of formal calculus very easily. The only problem is that it is coded in common lisp and as stated in this article the jvm implementation of common lisp is not as good as the scheme version. My aim is to run Maxima on the jvm. Will this be possible one day???

Educational Content

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.

Beauty Is in the Eye of the Beholder

Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.

Architecting Visa for Massive Scale and Continuous Innovation

John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.