最近,Facebook宣布了一个JavaScript的静态类型检查器Flow,它主要在OCaml(https://code.facebook.com/posts/1505962329687926/flow-a-new-static-type-checker-for-javascript/)中实现。
Hacklang(带有静态类型检查程序的PHP)也主要用OCaml编写。所以,我想知道OCaml制作静态类型检查器的独特优势是什么?
答案 0 :(得分:47)
" OCaml作为一种编程语言有什么好处"确实是一个基于意见的问题,而且我不打算在这里解决。但是,我在Facebook的Hack团队工作,并与Flow团队密切合作,所以我可以回答我认为你想问的问题:"为什么Facebook选择OCaml到构建Hack和Flow?"
fold_left
over the statements it contains。mmap
进程之间共享的特殊fork
区域,包含共享的无锁哈希表。这是我不想用C - and that's exactly what we do之外的任何语言表达的那种东西。 OCaml代码可以调用几个神奇的函数,而不是任何明智的,它实际上是C的底层。 (顺便说一下,我将在1月份做一个关于我的多线程如何工作的技术讲座,以及其他一些Hack实现细节 - 它真的很酷,但很难掌握介绍,即使代码是开源的!)