标签: ocaml

什么是OCaml习惯用语相当于Python的范围函数?

我想创建一个从1到n的整数列表.我可以使用range(1,n + 1)在Python中执行此操作,在Haskell中使用:take n(iterate(1+)1).

什么是正确的OCaml成语?

python ocaml

25
推荐指数
6
解决办法
1万
查看次数

OCaml是否有增强的解释器toploop?

Python有IPython .. OCaml有类似的东西吗?

我非常想拥有命令历史,虽然其他功能也会很好.我已经读过,我可以通过在Emacs中运行来获取命令历史记录,但我不使用Emacs ..

ocaml ledit

25
推荐指数
4
解决办法
3193
查看次数

学习OCaml和F#的好项目

在学习了基本语法之后,阅读一些非平凡的代码是学习语言的快捷方式.我们还可以学习如何在阅读其他代码时设计库/软件.

我有以下清单.

  1. 一个国际象棋中的OCaml程序通过托梅克Czajka.

  2. HalDaumé 在Ocaml 写了几个机器学习库.包括决策树,逻辑回归和SVM.所有这些都是接近生产质量的代码.

  3. 一个国际象棋博弈分析程序在F#在微软研究院.

以上三个是我的最爱.你会建议一些其他来源吗?通用的开源软件都很好,专门的开源就像我在这里列出的三个更受欢迎.

f# ocaml

25
推荐指数
3
解决办法
8996
查看次数

如果我已经了解OCaml,我应该学习Haskell还是F#?

我想知道我是否应该继续学习OCaml或切换到F#或Haskell.

以下是我最感兴趣的标准:

  • 长寿

    • 哪种语言会持续更长时间?我不想学习用户和开发人员可能在几年内放弃的东西.
    • 从长远来看,格里斯科大学的Inria,微软是否会继续支持他们各自的编译器?
  • 实际性

    • 这样的文章让我害怕使用Haskell.哈希表是快速检索的最佳结构.Haskell支持者建议使用Data.Map这是一个二叉树.
    • 除非好处很大,否则我不喜欢被绑在庞大的.NET框架上.
    • 我希望能够开发的不仅仅是解析器和数学程序.
  • 精心设计

    • 我喜欢我的语言一致.

请通过逻辑论证和文章引用来支持您的观点.谢谢.

f# ocaml haskell language-comparisons

24
推荐指数
5
解决办法
2万
查看次数

什么"开放!" 在OCaml意味着什么?

我正在查看以下面的指令开头的OCaml源文件:

open! MiscParser
Run Code Online (Sandbox Code Playgroud)

我理解这open MiscParser意味着"打开MiscParser模块",但我不知道感叹号的含义.

syntax ocaml module

24
推荐指数
1
解决办法
2247
查看次数

Haskell中的Or模式

在OCaml中,我习惯于编写如下代码:

let combine o1 o2 = match o1, o2 with
    | Valid, Invalid | Invalid, Valid -> Invalid
    | _ -> ...
Run Code Online (Sandbox Code Playgroud)

我没有找到在Haskell中编写或模式的方法,我真的很想念它.有没有人有办法解决吗?

ocaml haskell

24
推荐指数
2
解决办法
1692
查看次数

为什么对冲基金和金融服务经常使用OCaml?

谈到一些quants/hedgies,我得出的结论是,他们中的很多人似乎都在使用自制语言或OCaml执行许多任务.许多人无法回答的原因是.

我当然可以理解他们为什么不想在大多数情况下使用C++,但为什么OCaml与其他脚本语言(如Python,Ruby等)相比更适合这些用途?

ocaml programming-languages quantitative-finance

23
推荐指数
5
解决办法
1万
查看次数

在Vim中使用OCaml的当前设置是什么?

我从未使用过Vi或Vim,但它似乎是编辑OCaml文件的最佳选择.不幸的是我迷失了很多东西需要关注:ocaml-vi-addon,vi-scripts,otags等.

我打破了我最初对使用奶油的Vim的恐惧,但我怀疑我是否需要除了vim脚本以外的任何软件包*.

  • - >我使用Debian,也许这个信息没用

vim ocaml

23
推荐指数
3
解决办法
1万
查看次数

OCaml中是否有中缀函数组合运算符?

只是一个简单的问题.我想知道在标准库(或在Jane Street的核心或电池中)中定义的OCaml中是否存在中缀函数组合运算符,就像Haskell中的(.)函数一样,它为我们节省了很多括号,因为我们可以编写(f . g . h) x而不是不太吸引人f (g (h x))).

谢谢大家.

ocaml ocaml-batteries ocaml-core

23
推荐指数
4
解决办法
1万
查看次数

功能广度优先搜索

功能深度优先搜索在有向无环图中很可爱.

然而,在带循环的图中,我们如何避免无限递归?在程序语言中,我会在我点击它时标记节点,但是让我说我​​不能这样做.

访问节点列表是可能的,但速度很慢,因为使用一个会导致在重复之前对该列表进行线性搜索.比这里的列表更好的数据结构显然会有所帮助,但这不是游戏的目的,因为我在ML中编码 - 列表是王道,还有其他任何我必须自己写的东西.

这个问题有巧妙的方法吗?或者我是否必须处理访问列表或上帝禁止,可变状态?

python ocaml haskell functional-programming sml

23
推荐指数
3
解决办法
3933
查看次数