«Начальная загрузка» с помощью Cabal

Представьте себе Makefile, подобный следующему:

stage1 : Stage1.hs
       ghc -o stage1 Stage1.hs
Stage1.hs : stage0 
       stage0 > Stage1.hs
stage0 : Stage0.hs
       ghc -o stage0 Stage0.hs

Текущий каталог сначала будет содержать Makefile и Stage0.hs, а затем создаст stage1.

Вот вопросы:

  1. Как я могу сделать это полностью внутри Кабала? Я должен делать это только с крючками? (например, это или это .) Что, если ловушка должна зависеть от другой программы в пакете, который нужно собрать?
  2. Что, если Setup.hs становится настолько сложным, что требует своего собственного управление зависимостями?
  3. Есть ли кабалистический пакет, который делает подобные вещи? Если бы Happy включил кабалистическую тестовую программу, зависящую от вызова Happy, это было бы прекрасным примером.

8
задан Community 23 May 2017 в 10:29
поделиться