Ластро
22 октября 2015
|
|
Я очень долго тестил из интерпретатора, подавал на вход функций значения и смотрел выходы. Потом мне это надоело, и родилась малюсенькая функция.
Вот такая. unitTest :: IO () -> Q [Dec] unitTest b = runIO b >> pure [] Она принимает на вход действие и выполняет его В МОМЕНТ КОМПИЛЯЦИИ, ну и по желанию, в случае нахождения ошибки либо просто пишешь в консоль/файл/etc (putStrLn/hPutStrLn), либо если что серьёзное просто останавливаешь компиляцию (error). Для использования смотри Template Haskell |