2012-01-26 12 views
6

Quindi in pratica non sto confrontando Scheme con Clojure qui, voglio confrontare le realizzazioni. Ci sono:Scoperta della lingua della famiglia lisp Implementazioni .NET

Clojure-clr che può essere installato anche utilizzando l'estensione di Visual Studio, ma è ancora un po 'buggy per me usarlo in questo modo. Dopo aver creato e salvato tale progetto non è possibile riaprirlo ...

E IronScheme, non esiste ancora un add-in per IronScheme per quanto ne so ma forse è migliorato. Supporto .NET Non l'ho mai usato e non posso saperlo.

Quindi, quale di questi due (o forse c'è anche qualcos'altro con sintassi simile al lisp) ha un supporto CLR migliore?

+0

Basta attenersi a VS2008SP1. C'è un plugin per l'editor per questo. IMO VS2010 è troppo buggato per tentare anche un supporto decente. Speriamo che i bug degli showstopper vengano corretti in VS11 +. Indagherò sul porting del plug-in dell'editor in quel momento. – leppie

+0

Quindi sto solo seguendo la versione più recente perché VS 2008 non ha molte funzionalità per il 2010 e non posso essere sicuro di quando ne ho bisogno. – Cynede

+0

Si chiamano funzionalità, io li chiamo bug :) – leppie

risposta

4

ho già risposto su VS in un commento.

In termini di interoperabilità .NET, IronScheme è probabilmente migliore, grazie alla progettazione e alla scrittura in .NET e al riutilizzo progressivo dei tipi .NET esistenti.

In termini di consumatore .NET, IronScheme fornisce un supporto eccellente per la maggior parte delle funzionalità .NET (ad esempio generici, ecc.).

In termini di produttore .NET, IronScheme manca ancora un po '. Esempio, non è possibile creare metodi o classi generici. I campi tipizzati (su record) sono stati introdotti solo di recente e anche questo è un po 'limitante (nessun supporto per le definizioni del tipo di campo ricorsivo reciproco).

Esempio quello che una media da sopra:

class Foo { Bar bar; } 
class Bar { Foo foo; } 

a produrre qualcosa di simile, non è possibile attualmente, ma qualcosa che è fattibile (in una certa misura).

Con alcuni sviluppi verso la fine dello scorso anno (2011), ho reso possibile scrivere codice in IronScheme che scorre veloce (o anche più veloce) di quello in C#. L'output del metodo IL del codice corrisponde a F # da vicino (per pura coincidenza). Non mi annoio più nemmeno il benching contro IronPython/IronRuby. :)

Sentitevi liberi di chiedere di più, se necessario.

Inoltre, potrebbero esserci alcune discussioni informative sul forum di discussione Codeplex per IronScheme. Normalmente rispondo molto velocemente.

+0

Pensato che il tuo repository sia su GitHub. Quindi sarà più facile usare IronScheme con altri linguaggi che offrono tipi .NET validi. Pensavo che fosse possibile anche in ClojureCLR. È difficile confrontare questo modo per me ... Questa inizializzazione in Clojure https://gist.github.com/1584097 mi spaventa. Mi piace molto (clr-reference System.Windows.Forms) di più. Ma non passerò a VS2008, proverò a eseguire alcuni esempi incorporati in C# con esso. – Cynede

+0

@ ヒ ザ キ: specchio l'SVN da Codeplex su Github. – leppie

+0

@leppie In realtà, ClojureCLR è scritto anche in C# /. NET. È una porta della versione JVM su CLR. –

1

C'è stata molta attività ultimamente su VsClojure, e ci dovrebbe essere presto un aggiornamento che risolverà molti dei problemi che stai incontrando. Inoltre, per quanto riguarda il problema specifico che stai incontrando quando si apre un progetto, se si avvia Visual Studio prima e quindi si apre la soluzione/progetto, dovrebbe funzionare. Semplicemente non funziona dalla shell. Qui ci sono alcuni blog che potrebbero aiutarti a iniziare:

http://clojureclr.blogspot.com/
http://www.myclojureadventure.com/
http://clrviaclojure.blogspot.com/

Problemi correlati