ご挨拶。私は今、Literate Programming を少し見てきましたが、その背後にあるアイデアが気に入っています。基本的には、コードについて小さな紙を書き、設計上の決定事項、おそらくモジュールを囲むコード、モジュールの内部作業などを書き留めます。モジュール、設計上の決定から生じる仮定と結論、潜在的な拡張、これらすべてを tex を使用して適切な方法で書き留めることができます。確かに、最初のポイント: それはドキュメントです。最新の状態に保つ必要がありますが、変更には正当な理由が必要であり、それを書き留めることができるため、それほど悪いことではありません。
しかし、リテレート プログラミングはどのようにしてより大きな規模に拡張できるのでしょうか? 全体として、Literate Programming はまだ単なるテキストです。もちろん、非常に人間が読めるテキストですが、それでもテキストであるため、大規模なシステムを追跡するのは困難です。たとえば、コンパイラの大部分を作り直して、>> を使用し、いくつかの魔法を使用してコンパイル手順を連鎖させました。 " 非常に扱いにくくなり、これを x >> y >> z >> a に変更すると少し改善されましたが、これも限界点にあります。
では、Literate Programming はどのように大規模システムに拡張されるのでしょうか? 誰かがそれをやろうとしていますか?
私の考えでは、LP を使用して、イベント ストリームを使用して相互に通信するコンポーネントを指定し、graphviz のサブセットを使用してこれらすべてをチェーン化することを考えています。ネットからドキュメント (データフロー図) を抽出し、そこからコードを生成することもできるため、これは LP のかなり自然な拡張です。どう思いますか?
――テタ。