我想创建一个从1到n的整数列表.我可以使用range(1,n + 1)在Python中执行此操作,在Haskell中使用:take n(iterate(1+)1).
什么是正确的OCaml成语?
Python有IPython .. OCaml有类似的东西吗?
我非常想拥有命令历史,虽然其他功能也会很好.我已经读过,我可以通过在Emacs中运行来获取命令历史记录,但我不使用Emacs ..
我想知道我是否应该继续学习OCaml或切换到F#或Haskell.
以下是我最感兴趣的标准:
长寿
实际性
精心设计
请通过逻辑论证和文章引用来支持您的观点.谢谢.
我正在查看以下面的指令开头的OCaml源文件:
open! MiscParser
Run Code Online (Sandbox Code Playgroud)
我理解这open MiscParser意味着"打开MiscParser模块",但我不知道感叹号的含义.
在OCaml中,我习惯于编写如下代码:
let combine o1 o2 = match o1, o2 with
| Valid, Invalid | Invalid, Valid -> Invalid
| _ -> ...
Run Code Online (Sandbox Code Playgroud)
我没有找到在Haskell中编写或模式的方法,我真的很想念它.有没有人有办法解决吗?
谈到一些quants/hedgies,我得出的结论是,他们中的很多人似乎都在使用自制语言或OCaml执行许多任务.许多人无法回答的原因是.
我当然可以理解他们为什么不想在大多数情况下使用C++,但为什么OCaml与其他脚本语言(如Python,Ruby等)相比更适合这些用途?
我从未使用过Vi或Vim,但它似乎是编辑OCaml文件的最佳选择.不幸的是我迷失了很多东西需要关注:ocaml-vi-addon,vi-scripts,otags等.
我打破了我最初对使用奶油的Vim的恐惧,但我怀疑我是否需要除了vim脚本以外的任何软件包*.
只是一个简单的问题.我想知道在标准库(或在Jane Street的核心或电池中)中定义的OCaml中是否存在中缀函数组合运算符,就像Haskell中的(.)函数一样,它为我们节省了很多括号,因为我们可以编写(f . g . h) x而不是不太吸引人f (g (h x))).
谢谢大家.
功能深度优先搜索在有向无环图中很可爱.
然而,在带循环的图中,我们如何避免无限递归?在程序语言中,我会在我点击它时标记节点,但是让我说我不能这样做.
访问节点列表是可能的,但速度很慢,因为使用一个会导致在重复之前对该列表进行线性搜索.比这里的列表更好的数据结构显然会有所帮助,但这不是游戏的目的,因为我在ML中编码 - 列表是王道,还有其他任何我必须自己写的东西.
这个问题有巧妙的方法吗?或者我是否必须处理访问列表或上帝禁止,可变状态?