Tengo un módulo LispWorks Common Lisp bastante complicado que se encuentra sobre algunos módulos .NET a través de RDNZL.Conexión de .NET a Common Lisp
Ha surgido que necesito exponer algunas de sus funcionalidades a algunas otras aplicaciones .NET, y no estoy seguro de la mejor (más corta) forma de abordar esto sin volver a escribir el módulo en C#. Sé que hay algunas implementaciones de CLR Lisp, pero la mayoría parecen no estar completas o son mantenidas y hay muchas cosas que no se pueden volver a escribir trivialmente en Scheme.
¿Hay alguna instalación que exponga lo contrario de lo que habilita RDNZL (.NET -> Common Lisp)? ¿Puedo usar RDNZL para entregar un archivo DLL que acepte objetos .NET?
estoy editando esto para incluir algunas de las opciones que la mayor parte con un interés en Lisp es probable que saber acerca de si están en Windows, y por qué no acabo de cumplir con los requisitos anteriores (o cómo, al igual sus usuarios, no transmití adecuadamente mis requisitos :).
- IronScheme - Niza, rápido, mantiene y rápido pero no es Common Lisp
- ClojureCLR - Lisp no es común; Beta, toma ~ 4secs para mí para poner en marcha (aceptable para aplicaciones de larga duración, no para cosas que requieren instancias frescas y luego unas pocas docenas de llamadas)
- LSharp - Lisp no es común, no se mantiene
- RDNZL - Permite registrando CL delegados de devolución de llamada con código .NET, pero tienes que comenzar en CL, no hay una manera relativamente simple (que yo haya podido averiguar hasta ahora) de pasar objetos .NET a una "C DLL" creada por tu Común Implementación de Lisp de elección.
- Yarr - Construido encima de LSharp (incluye defmacro y algunas otras necesidades). Parece no mantenido durante algún tiempo, pero puede ser la mejor opción por el momento.
¿Tal vez pueda transferir su código CL a Clojure y usar clojure-clr? : –