Tôi muốn Cabalize một dự án Haskell để tải nó lên Hackage. Nó bao gồm một tệp .hs chuẩn để xây dựng tệp thực thi khởi động và tám tệp .lhs không chuẩn được xử lý bởi tệp thực thi bootstrap để mang lại các tệp .hs tạo tệp thực thi sản xuất.Làm thế nào để xây dựng và sử dụng một bootstrap thực thi trong một gói Cabal
Nói cách khác, dự án của tôi là một bộ tiền xử lý văn bản tùy chỉnh (với đánh dấu HTML, viết mã, tài liệu tại đây) được viết bằng chính nó. Nó phụ thuộc vào một phiên bản bootstrap có thể dịch mã ngôn ngữ cho phiên bản sản xuất, nhưng không thích hợp cho việc sử dụng chung. Vì vậy, tôi không muốn phiên bản bootstrap là một gói riêng biệt; nó chỉ được sử dụng một lần, ở đây.
Tôi đã sử dụng Makefile, có thể có trong Cabal nhưng không theo tinh thần của Cabal. Một cách sạch sẽ để làm điều này, mà tận dụng tối đa lợi thế của tính tổng quát của Cabal là gì? Tôi đã không nhìn thấy bất kỳ đề xuất cho điều này trong tài liệu trực tuyến, viết tắt của một trong hai viết lại Distribution.Simple hoặc sử dụng một Makefile.
Rất tuyệt! Tôi đang thử nghiệm với điều này ngay bây giờ. Mã tiền xử lý bootstrap của tôi khá ngắn; một lựa chọn sẽ cho tôi để chỉ đơn giản là bao gồm nó trong Setup.hs! – Syzygies