Lisp on the .NET Runtime
Continuing our coverage of Lisp, we present some of the efforts underway to port the venerable language to the .NET runtime. Variants we look at include IronLisp, LispSharp, and Common Larceny.
IronLisp is new project loosely based on Scheme. It is being developed against the Dynamic Language Runtime, or DLR, an extension for the Common Language Runtime that adds features needed for dynamic languages like Python and Ruby. As the DLR is relatively new and very much in flux, this decision is an additional burden to the IronLisp team.
IronLisp is not currently Scheme compatible, but Llewellyn Pritchard writes:
Ideally IronLisp at some future time, will support/comply to some degree of Scheme, or will have a compatibility mode, or have macros to make it syntax (and functionally) compatible. With this in hand, hopefully IronLisp would be capable of running Scheme libraries.
Llewellyn Pritchard was inspired in part by Rob Blackwell's LSharp .NET. This lisp dialect is similar to Arc and is considered stable. An example of using Windows Presentation Foundation with LSharp is available.
Currently there is not much activity on the LSharp project and no mention of DLR or SilverLight support.
Another older project for the CLR is Common Larceny. Part of the Larceny Project, it is a Scheme implementation based on Twobit compiler. Though mired in the alpha stage, there is active work on the project with the last release in July. It explicitly states that it is not supported on Mono at this time.
With no production grade Lisp that is compatible with Common Lisp or Scheme, Lisp on the .NET platform does not seem to be a viable option at this time. Though the DLR may drive new interest over the coming year, for now it seems Lisp developers wanting access to the .NET framework should stick to compatibility layers like RDNZL.
Mike Amundsen May 29, 2015
Ben Linders May 28, 2015