2010-12-14 15 views
20

Sto vedendo diverse varianti là fuori; ClojureCLR, LSharp, IronScheme, IronLisp, tra gli altri. Alcune di queste sono mantenute attivamente e/o ovunque vicino a "mature", o sono per lo più esperimenti o raccoglitori di polvere? Quale sarebbe considerato il framework più maturo per la compilazione in .Net dll e referencing altri .Net dll, se ce ne sono? Si integra bene con Visual Studio almeno una funzionalità "Crea progetto Lisp"?Esistono compilatori Lisp/Scheme/Clojure abbastanza maturi per .Net CLR?

+0

CloJureCLR o CloSureCLR. _J_ è lì per _Java_. Esatto, per favore. – ffriend

risposta

14

IronLisp è morto e sostituita da IronScheme, che a sua volta è ancora in fase beta.

L Sharp e ClojureCLR sono simili e seguono la stessa idea del Lisp moderno per CLR (a differenza di IronScheme, che tenta di implementare semplicemente lo standard R6RS sulla nuova piattaforma). ClojureCLR sembra essere più popolare di L Sharp e la comunità Clojure di Java sta crescendo rapidamente, quindi puoi usare molte delle sue librerie nella tua applicazione .NET.

So che per ClojureCLR c'è un VS2010 plugin disponibili.

credo, ClojureCLR ora è il più intensamente sviluppato, in modo ci avrei scommesso su di esso. D'altra parte, Clojure (e quindi ClojureCLR) cambia ancora e le versioni future potrebbero differire molto dallo stato attuale, il che non è molto buono per il progetto di produzione a lungo termine. Da questo punto è più preferibile IronScheme, che implementa i vecchi R6RS verificati. Non posso dire molto L #, ma suppongo che sia a metà tra ClojureCLR e IronScheme.

Quindi, la decisione effettiva dipende dalle esigenze personali: stabilità, dimensioni di un progetto (potenziale) e, naturalmente, caratteristiche del linguaggio - non dimenticare di imparare un po 'su tutti e tre.

+0

Quindi, IronScheme, L # o ClojureCLR, o un altro, che è più maturo e/o attivo? cioè, se si amano le parentesi e .Net, dove si dovrebbe iniziare? –

+1

@Dax: ho aggiornato il post. – ffriend

0

C'è un (non standard) compilatore Lisp for .NET con l'accento sulla interoperabilità .NET:

http://www.meta-alternative.net/mbase.html

E 'il più ricco di funzionalità di tutti gli elencati, ma si continua a cambiare e è ancora in fase beta.

0

Non dimenticare Bigloo, che è un noto compilatore Scheme per C e Java VM e recentemente ha aggiunto un compilatore bytecode .NET sperimentale.

+0

"Sperimentale" non si qualifica esattamente come "maturo", che l'OP ha specificamente richiesto. –

0

Se è sufficiente chiamare .NET da Lisp e non è necessario creare DLL , RDNZL potrebbe funzionare per voi.

non sto dicendo che non è possibile creare DLL con rdnzl e l'implementazione Lisp, solo che non ho avuto alcun motivo per provare a farlo.