2012-01-26 11 views
6

Así que, básicamente, no estoy comparando Scheme con Clojure aquí, quiero comparar realizaciones. Hay:Descubriendo lisp-family language Implementaciones de .NET

Clojure-clr que se puede instalar incluso con la extensión de Visual Studio, pero todavía me falta un poco para usarlo de esta manera. Después de crear y guardar dicho proyecto no puede abrirlo de nuevo ...

Y IronScheme, no hay ningún complemento VS para IronScheme hasta ahora, pero hasta ahora lo sé, pero mejoró el soporte de .NET Nunca lo usé y no puedo saber sobre eso

Entonces, ¿qué de estos dos (o tal vez incluso hay algo más con sintaxis similar a lisp) obtuvo mejor soporte CLR?

+0

Solo adhiérase a VS2008SP1. Hay un plugin de editor para eso. IMO VS2010 es demasiado defectuoso para siquiera intentar un soporte decente. Esperemos que los errores de showstopper se corrijan en VS11 +. Investigaré portar el plugin editor a él entonces. – leppie

+0

Así que solo estoy siguiendo la versión más reciente porque VS 2008 no tiene muchas características de 2010 y no puedo estar seguro cuando las necesito. – Cynede

+0

Usted los llama características, los llamo errores :) – leppie

Respuesta

4

ya he contestado sobre VS en un comentario.

En términos de interoperabilidad .NET, IronScheme es probablemente mejor, debido a que está diseñado y escrito en .NET y a la reutilización liberal de los tipos de .NET existentes.

En términos de ser un consumidor de .NET, IronScheme proporciona soporte excelente para la mayoría de las características de .NET (por ejemplo, genéricos, etc.).

En términos de ser un productor .NET, IronScheme todavía carece de un poco. Ejemplo, no puede crear métodos o clases genéricos. Los campos tipeados (en los registros) se introdujeron recientemente e incluso eso es un poco limitante (no admite definiciones de tipo de campo recursivo mutuo).

Ejemplo qué una media por encima de:

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

para producir algo como esto, no es posible actualmente, sino algo que es factible (hasta cierto punto).

Con algunos desarrollos a finales del año pasado (2011), he hecho posible escribir código en IronScheme que se ejecuta tan rápido (o incluso más rápido) que en C#. El método de salida IL del código coincide estrechamente con F # (por pura coincidencia). Ni siquiera me molesto en ir contra IronPython/IronRuby. :)

No dude en preguntar más, si es necesario.

Además, puede haber algunas discusiones informativas sobre el foro de discusión de Codeplex para IronScheme. Normalmente respondo muy rápido.

+0

Cree que su repositorio está en GitHub. Entonces, será más fácil usar IronScheme con otros lenguajes que proporcionen tipos de .NET válidos. Estaba pensando que eso también es posible en ClojureCLR. Es difícil comparar esta forma para mí ... Esta inicialización en Clojure https://gist.github.com/1584097 me asusta. Me gusta mucho (clr-reference System.Windows.Forms) más. Pero no cambiaré a VS2008, intentaré ejecutar algunos ejemplos incrustados en C# con él. – Cynede

+0

@ ヒ ザ I: reflejo el SVN de Codeplex en Github. – leppie

+0

@leppie En realidad, ClojureCLR está escrito en C# /. NET también. Es un puerto de la versión JVM para CLR. –

1

Ha habido mucha actividad últimamente en VsClojure, y pronto debería haber una actualización que solucionará muchos de los problemas que se están produciendo. Además, con respecto al problema específico que se está ejecutando al abrir un proyecto, si inicia Visual Studio primero y luego abre la solución/proyecto, debería funcionar. Simplemente no funciona desde el shell. Aquí hay algunos blogs que pueden ayudar a empezar:

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