tipos pattern ordenar opciones lista hacer funciones ejemplos como ciclos haskell code-generation installscript

pattern - string en haskell



Generando código para otro idioma en Haskell (1)

Quiero generar código para otro idioma en Haskell, pero estoy desconcertado sobre cómo abordar este problema. Estoy buscando una representación abstracta y elegante del lenguaje en Haskell, que también es útil para la generación de código. El idioma en cuestión es InstallScript ( link a la guía de referencia del idioma). ¿Podría alguien proporcionar sugerencias (tal vez con ejemplos?) Sobre cómo capturar las construcciones de lenguaje empleadas en InstallScript en los tipos de Haskell, o señalar proyectos similares para inspirarse?


Este es un problema classic para resolver en Haskell.

  • Defina un árbol de sintaxis abstracta para su idioma.
  • Definir una impresora bonita (para generar código)

Para puntos de bonificación:

  • Definir un analizador
  • Escribe una buena biblioteca de combinadores de Haskell para permitirte incrustar el objetivo en Haskell
  • Escribe un optimizador para tu sintaxis abstracta

Hay muchos, muchos ejemplos en Hackage (por ejemplo, este ).