目前,我只使用了黑迪克,但是看到了一些非常有趣的示例(例如 这个要点)识字的Haskell,我有兴趣在项目中尝试一下。

我得到的问题是:

  • 您以黑线径评论写了什么,您在识字部分中写了什么?

  • 您如何将识字编程扩展到多个文件?谁能指出一个示例,其中识字编程在带有多个模块的软件包中使用?您在较大包装中使用识字编程的经验是什么?

  • 哪种风味(Markdown,乳胶,...)是识字haskell的首选?

  • 您为什么要编程识字Haskell或Plain Vanilla Haskell?您是否在两种样式上进行编程,如果是这样,为什么?

  • 你喜欢块式吗(\begin{code})或鸟类(>)?为什么?

有帮助吗?

解决方案

我曾经写很多 识字计划.

您以黑线径评论写了什么,您在识字部分中写了什么?

外部API文档 进入哈迪克评论。其他一切都进入了识字部分。 “其他一切”可能包括:

  • 数据结构的内部不变性
  • 为什么 你正在这样做
  • 什么 设计 代码是
  • 为什么选择了这种设计,尝试并发现了其他设计的设计

您如何将识字编程扩展到多个文件?

您将大型乳胶文档缩放到多个文件的方式相同:每个模块一个文件,然后是一个巨型文件 \include他们全部。

谁能指出一个示例,其中识字编程在带有多个模块的软件包中使用?

不是哈斯克尔,而是 快速C-编译器 是使用识字编程编写的大型功能程序。

您在较大包装中使用识字编程的经验是什么?

识字编程非常适合记录棘手,困难或复杂的模块。对于大多数简单的模块,外部API文档(例如,黑线座)就足够了。而且,没有识字计划真的会为您提供包含超过十几个模块的设计的全局。为此,您需要其他工具和技术。

哪种风味(Markdown,乳胶,...)是识字haskell的首选?

如果您要进行如此重要的投资,那么我肯定会因为数学能力和工具的更大功能而选择乳胶。

您为什么要编程识字Haskell或Plain Vanilla Haskell?您是否在两种样式上进行编程,如果是这样,为什么?

我的Haskell代码几乎总是所有的香草,有两个原因:

  • 我与拥有更多Haskell经验的高级人员一起工作,他们放弃了识字的Haskell。只有其系统中最古老的模块才有机会成为.lhs。

  • 对于Haskell来说,识字编程是多余的。识字编程工具的最大好处之一是,您可以摆脱编译器或语言定义可能在您的代码出现的顺序上放置的任何约束。但是Haskell几乎没有这样的限制:使用之前没有定义,对于典型功能定义,我可以选择 let- 结合或 where- 结合辅助名称(或两者)。 识字编程 从来都不是关于花哨的评论,也是您所获得的“识字” Haskell。不值得打扰。

您喜欢块状( begin {code})还是鸟类风格(>)?为什么?

我非常喜欢块风格:

  • 它与地球上的所有其他识字工具都大致兼容。 (鸟类的踪迹是Haskell独有的。)

  • 我的编辑可以更好地使用块样式。

其他提示

如果您打算在Internet上共享程序,那么我发现Mathjax的Mathjax的识字Haskell的组合是一种很好的组合。 “ PANDOC”程序非常出色,可以将此“ Markdown+LHS”带入您想要的任何格式,包括PDF或HTML。如果您告诉Pandoc输出到HTML,则可以使用-MathJax(如果愿意的话,或其他类似标志)来使您的乳胶数学公式呈现。

当使用这种样式时,我发现鸟类风格是可取的,因为它对我来说更易读,并且似乎更适合Markdown风格。

将Pandoc与Markdown一起使用的好处是,您可以在代码,数学公式中添加引用,并具有真正的便携式格式。您可以构建类似于科学研究论文但可以执行的内容,也可以将其发布到博客/Wiki/网站上。

为了给诺曼(Norman)提出另一种观点,他说识字编程对于更清晰的代码安排很有用,可以说哈斯克尔表现得足够表达,您用代码解决的问题实际上很有趣,并且可以通过被解释文本包围而真正受益。想想数学研究论文。纯数学中的好论文有很多文本来解释数学符号的动机或更高级别的解释。例如,在有关Navier-Stokes方程式的论文中,将方程式包围的表示法用文本解释其与牛顿的势头保护之间的关系非常有用。

总而言之,我在使用Markdown+LHS风格,嵌入乳胶数学配方,鸟类风格和Pandoc的情况下使用Markdown+LHS风格,美元标志取得了良好的成功。我建议编写程序,就像它们是研究论文一样,并像您在研究论文中一样对待Haskell本身。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top