Como un ejercicio para aprender Haskell (y torturarme a mí mismo), estoy considerando escribir un embellecedor de código Haskell configurable.Analizador de Haskell para AST
Se apoyará un archivo de configuración escrito en JSON o YAML (o algo mejor?) Que especifica opciones como la clasificación importaciones, clasificación/agrupamiento data
y class
declaraciones, el número de líneas entre las secciones, etc.
soy buscando un analizador sintáctico para Haskell 98 que genera un árbol sintáctico abstracto (AST) y retiene los comentarios. El análisis de GHC, con sus extensiones de idioma, será una ventaja.
En ausencia de tal cosa, creo que puedo escribir un analizador sintáctico de descenso recursivo o uno que use Parsec o un generador de analizador sintáctico. Tal vez hacer rodar el mío aumentará el aprendizaje (y la tortura :-)).
¿Hay un analizador Haskell-> AST completo disponible bajo una de las licencias de código abierto? Si hago algún progreso en este proyecto, lo pondré en github.
Uno de mis peeves favoritos es el código feo. La mayor parte de mi trabajo está en Java y me sorprende cómo la gente puede verificar el código sin alineamiento de llaves, espaciado incoherente entre operadores, etc. ¿No leen su propio código? ¿No les molesta? Tal vez es mi TOC. De todos modos, estoy de acuerdo con que Haskell fuera de la caja es un orden de magnitud más agradable. Pero todavía quiero escribir un embellecimiento :-). – Ralph
Sí. Realmente estaba bromeando, porque me gusta el tipo de cosas que estás sugiriendo. ¿Por qué no usar haskell para el idioma del archivo de configuración? Estoy seguro de que leí sobre alguien que evolucionó gradualmente en el lenguaje específico de dominio para la configuración hasta que se dieron cuenta de que solo querían a Haskell, pero [esto] (http://www.jmreardon.com/posts/2011-07-17-typesafe-config -in-haskell.html) es lo más cercano que pude encontrar. O puede usar el paquete [ConfigFile] (http://hackage.haskell.org/package/ConfigFile). – AndrewC