Распечатать и выполнить строку

Я пишу много кода вроде

putStr "foo (bar 1) (bar 2) ="
print $ foo (bar 1) (bar 2)

Проблема в том, что напечатанное сообщение может не синхронизироваться с реальным исполняемым кодом. Очевидное решение - автоматически сгенерировать этот код.

Один из способов сделать это - поместить весь текст в файл и написать небольшую программу, которая считывает файл и генерирует из него исходный код Haskell. Но другой альтернативой является использование Template Haskell.

Кто-нибудь знает, как я могу написать функцию, которая берет String и генерирует из нее приведенный выше код? Я предполагаю, что это должно быть довольно просто, но TH плохо документирован.

7
задан MathematicalOrchid 29 February 2012 в 11:52
поделиться