代码之家  ›  专栏  ›  技术社区  ›  sanxiyn

学习OCaml和F#的好项目[结束]

  •  26
  • sanxiyn  · 技术社区  · 7 年前

    在学习了基本语法之后,阅读一些非平凡的代码是学习语言的一种快速方法。我们还可以在阅读他人代码的过程中学习如何设计库/软件。

    我有以下清单。

    1. A. Chess Tomek Czajka .

    2. 哈尔·道姆写过 several machine learning libraries

    3. A. Chess Game Analysis 微软研究院的F#课程。

    以上三个是我的最爱。你能推荐一些其他来源吗?通用开源软件很好,

    7 回复  |  直到 6 年前
        1
  •  17
  •   Pascal Cuoq    16 年前
        2
  •  12
  •   j d    15 年前

    OCaml的一个较少涉及的方面是高阶模块系统。这个 ocamlgraph 库是受益于这种语言特性的一个很好的例子。

    HLVM 项目我的《科学家OCaml》(2005)一书中的源代码是免费提供的 here

    MLDonkey 是一个早期的文件共享客户端,曾经拥有数十万用户。这是一个完全用OCaml编写的高度并发的开源应用程序,大约有171000行代码。

    这个 Unison 文件同步器是另一个完全用OCaml编写的开源实用程序应用程序,共有24000行代码。这也是第一个用ML衍生工具编写的使用异步IO的流行应用程序。所以现在所有异步的F#代码基本上都是从它派生出来的。

    FFTW 是一种用于快速傅立叶变换(FFTs)的代码生成器,本质上是一种非常特殊的优化编译器形式,已被广泛采用并获得商业使用许可,例如在MATLAB的核心中。大部分是用OCaml编写的,带有相当多的C语言,包含14000行OCaml代码。

    Hevea 和 ANT

    我想不出有什么开源的F#代码可以推荐。那里几乎没有什么珍贵的东西,而且通常质量很差。大部分读起来像哈斯克尔

        3
  •  5
  •   wheaties    16 年前

    詹斯街已经发行了几家图书馆 here

        4
  •  3
  •   Chang Chung    16 年前

    看看这些关于书虫问题的系列博客文章,它们很轻松,很好地展示了F#的多面性。最后一个看起来最“实用”

        5
  •  2
  •   Noon Silk    16 年前

    好, Unison Project Euler ,但就我个人而言,我通过写自己的文章做得更多 实际的 程序,所以我可能会将其中一个改编成OCaml,看看它是如何运行的。

        6
  •  1
  •   LB40    16 年前
        7
  •  0
  •   Cameron    14 年前

    用于基于web的Ocaml代码 Opa 所有这些都是开源的 code 也

    推荐文章