想学习一种FP语言,你的推荐会是什么?

鉴于 Elm 的特性以及所处的位置,它应该跟 ClojureScript、PureScript、ReasonML… 这些相提并论。

「前景」具体是指什么?如果包括拼爹的话,那么 Elm 似乎并不乐观,倒是 Reason 有两个爹:

图片来自 ReasonML - React as first intended

1 个赞

入门还是看TSPL 4th吧。

Elixir
原因嘛,实用。

idris,想学中。。。

感谢回复。

有一个问题,我如果现在把 Elm 换成 Elixir,投票结果会被清零吗? @LdBeth

顺便加个 Erlang :joy:

会的,投票一创建就不能改了。

不如一步到位学一个 Proof Assistant…比如 Coq, Agda…

Lisp既然涵盖的特性多,为什么在FP方面,还要推荐haskell呢?就因为它是纯FP语言?还是在FP方面,haskell的特性更多?

我现在停留在使用lambda的水平,并且还不清楚untyped和typed的区分。除了lambda之外,FP还有什么高级特性。方便的话,帮罗列一下,我抽点时间了解一下。

我现在正在学CL,还有必要学haskell吗?毕竟时间是有限的。

那应该选Coq 还是Agda 还是…

F# 或者 Clojure,背靠CLR或者JVM,容易复用现成库或者和现有代码集成。

实际上不会一门 FP 完全没法学定理证明器,因为不管 Coq 还是 Agda 它们的资料既不会教你 FP (只会教点最基本的 Dependent type 作为 demo,默认你基础的 Martin-Löf 什么的全会),也不会教你定理证明(不会证明用证明器干嘛)。

不用学,因为你连 CL 都不见得能学会多少。

你们吹的 SICP 实际上是基本功里的基本功,连这个都没过说明连 lambda calculus 都没摸到。

好吧,我也是感兴趣学学。

至于这里的lambda calculus,和golang,rust中的lambda有什么区别,我也不太清楚,有什么资料的话,希望给提供一下。

下面就是所说的基础书籍吧?

帽子和帽子的图片的区別。加法和加法符號的区別。

1 个赞

Proof Assistant 也不能一步到位

还有线性类型、高级子类型、以及各种morphism。。。

Haskell的话 主要参考这份 LambdaConf 提出的 《函数式编程技能表》

Rust.

请看这位大神的文章:https://people.mpi-sws.org/~dreyer/research.pdf

直接看第三段: How can we provide programmers with both safety and control?

这给了我审视语言的新角度。

我是用coq。

感觉学术界用coq的更多(近年来验证相关的论文好像没看到用Agda的, 只看到用Coq和 Isabelle的), 而且Coq还有牛人写的tactic库(虽然我还没看…)

用了一阵子觉得rust更像是oop语言,操作闭包麻烦得要死

Haskell 这么受欢迎的吗?社区里好像没有几个 Haskell 黑客啊