我有一個庫項目,它需要C與其他語言的互操作性和合理的性能,但必須非常清晰地記錄文檔編程,其文檔可能從功能方法中受益,如Haskell ,甚至Idris「的特點。多種語言的文字編程
因此,我有興趣將這個庫作爲一個識字程序,首先編寫文檔和工作Idris原型代碼,然後編寫與Idris代碼非常類似的C代碼以解決任何性能問題,並且可以輕鬆地與其他代碼鏈接語言。
我需要什麼文學編程工具?
NuWeb是專爲多語言編程書籍,但他們的@符號,或任何轉義字符的使用,是有問題的像伊德里斯,哈斯克爾等
伊德里斯wants功能性語言literate programming tool到我可以貢獻。我喜歡他們的首選方法,只使用由\begin{code} .. \end{code}
塊分隔的.tex
文件。
伊德里斯,哈斯克爾等不需要像C那樣糾結,所以這樣做會增加複雜性,我寧願我在這裏使用的任何工具都存在。
,最大限度地減少工裝庫的消費者可能會提取使用一個簡單的Perl腳本的C和伊德里斯代碼像cat_latex_env
的一種方法:
#!/usr/bin/perl
use strict;
use warnings;
sub usage { die "Usage: cat_latex_env enviroment_name [filename]\n"; }
usage if ($#ARGV < 0);
my $env = shift;
my $begin = quotemeta "\\begin{$env}";
my $end = quotemeta "\\end{$env}";
while (<>) {
if (/$begin/../$end/) {
next if /$begin/ || /$end/;
print;
}
}
此時伊德里斯應該編譯罰款。我可以嵌入C語言編程工具(如CWEB或NuWeb)所需的糾結指令。
想法?
我不會創建答案,因爲我的選擇是有偏見的。就個人而言,我反對任何形式的文學編程,它使得程序維護和調試非常困難。我建議你看看其他方式,使用程序內的文檔工具。像C的doxygen和Haskell的http://en.wikipedia.org/wiki/Haddock_(software)等。 – qunying 2015-05-05 17:43:36
@Cœur這個問題似乎脫離主題,因爲它要求提供軟件建議。你的編輯只是糾正了一個拼寫錯誤。你會投票結束這個問題,以更好地服務Stack Overflow嗎? – AdrianHHH 2017-04-03 08:14:58
@Cœur補充說AdrianHHH說:問題主要是這個問題碰到了首頁,沒有明顯的改進(我沒有把一個拼寫糾正算作重要的),現在這個OT問題重新受到關注,因爲它再次位於首頁。我已經看到你編輯這樣的微不足道的編輯問題,只是稍後關閉;請在編輯時考慮問題,並考慮是否接近投票不是更好的選擇。 – Adriaan 2017-04-03 08:22:59