Question

Pouvons-nous utiliser l'API GHC ou autre chose pour charger non pas des modules de source de texte, mais des expressions AST, similaires à Haskell-Src-Extets Exp taper? De cette façon, nous pourrions gagner du temps pour la génération de code et l'analyse.

Était-ce utile?

La solution

Je ne pense pas que l'API GHC expose une interface AST (pourrait être fausse cependant), mais le modèle Haskell le fait. Si vous construisez des expressions en utilisant le Language.Haskell.TH Exp Structure, vous pouvez créer des fonctions / déclarations et en utiliser par le $(someTHFunction) syntaxe.

Une mise en garde assez majeure est que TH ne fonctionne qu'au moment de la compilation, vous auriez donc besoin de tout pré-générer. Si vous voulez utiliser le temps d'exécution, je pense que vous devez imprimer le modèle Haskell AST, puis utilisez l'API GHC sur la chaîne résultante.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top