tags:

views:

2061

answers:

8
+7  Q: 

Using Lisp in C#

As a lot of people pointed out in this question, Lisp is mostly used as a learning experience. Nevertheless, it would be great if I could somehow use my Lisp algorithms and combine them with my C# programs. In college my profs never could tell me how to use my Lisp routines in a program (no, not writing a GUI in Lisp, thank you). So how can I?

+10  A: 

Try these .Net implementations of Lisp:

IronScheme will aim to be a R6RS conforming Scheme implementation based on the Microsoft DLR.

L Sharp .NET is a powerful Lisp-like scripting language for .NET. It uses a Lisp dialect similar to Arc but tightly integrates with the .NET Framework which provides a rich set of libraries.

John
It’s worth noting that IronScheme is developed by Leppie, an active StackOverflow user.
Konrad Rudolph
+2  A: 

If it's merely the routines you want to use you might try LSharp, which lets you have Lisp expressions in .NET:

http://www.lsharp.org/

The other way around (using .NET from Lisp) would be RDNZL:

http://www.weitz.de/rdnzl/

Michiel Borkent
+1  A: 

Perhaps you should take a look at L#. I don't know if it is what you are looking for (haven't touched Lisp since university) but it might be worth to check out.

http://www.lsharp.org/

Patrik
A: 

The .Net 1.1 SDK contains a LISP compiler example. See SDK\v1.1\Tool Developers Guide\Samples\clisp

Lars Truijens
A: 

Cool, didn't know any of that. What I want to have is a way to use my AI algorithms in my (crappy) c# games.

Got this bookmarked and will check them all out. Thx

borisCallens
+6  A: 

Clojure is a Lisp-1 that is compiled on-the-fly to Java bytecode, leading to very good runtime performance. You can use Clojure, and cross-compile it to a .NET assembly using IKVM's ikvmc. Of course, when used in .NET, Clojure happily generates .NET IL, leading to the same kind of compiled-code performance you can expect when using it on a JVM.

Chas Emerick
A: 

I think we need an update here since Clojure, now can run on .NET via ClojureCLR!

Kaveh Shahbazian
A: 

There is also DotLisp.

Mark Hurd