2009-11-02 9 views
5

De acuerdo con Wikipedia: "IronScheme, una próxima implementación del Esquema, planeaba construir sobre el DLR, pero decidió abandonar esta idea porque la rama DLR que utilizó el proyecto no estaba sincronizada con el tronco, y también porque el DLR, de acuerdo con los desarrolladores, no pudieron soportar la mayoría de los requisitos del Esquema "¿Cuáles son algunos de los requisitos que IronScheme no pudo completar?

¿Alguien sabe qué requisitos no se cumplieron y por qué?

+0

Probablemente continuaciones. – jrockway

+0

@jrockway: las continuaciones limitadas son más un problema de tiempo de ejecución. – leppie

Respuesta

8

Originalmente, una de las grandes limitaciones era la capacidad de generar ensamblajes. Creo que sin embargo lo solucionaron.

En segundo lugar, solicité asistencia para las llamadas finales, pero eso nunca sucedió, y es una necesidad absoluta para Scheme.

Por último *, el DLR parecía muy centrado en Python, y tenía toneladas de funcionalidad no necesarias para Scheme (por ejemplo, entornos de primera clase) que solo ralentizaba las cosas y evitaba más optimizaciones.

De todos modos, el plan para la versión 2, es reescribir el compilador en Scheme, y luego ir barebones con Reflection.Emit, o utilizar un "ensamblador" no centrado en el lenguaje como el CCI.

*** Probablemente estoy olvidando más

+1

Genial para ver una respuesta directamente desde la fuente. –

+0

Tuve suerte, vi esto 40 segundos después de que se publicó, me envié un recordatorio cuando llegué al trabajo :) – leppie

+0

Muchas gracias por su respuesta. Me encantaría saber sobre más limitaciones. – unj2

Cuestiones relacionadas