[ML][小贴士]:ML 中的 =, -> 和 =>

发布于 2022-08-10 11:40:21 字数 783 浏览 19 评论 9

如果你学 ML 的方式跟我一样浮躁,很可能被这几个符号搞糊涂:

  1. fun f x = x+1;
  2. fn x => x+1;

复制代码

=  用在 fun 定义的普通函数中,而 => 用在 fn 定义的匿名函数中。

那 -> 又是什么呢?它表示两种类型间的一个映射。在 ML 的交互环境中,你常常能看到它。

  1. - fn x=> x+1;
  2. > val it = fn : int -> int

复制代码

有时候需要自己输入 ->,比如

  1. datatype 'a seq = Nil | Cons of unit->'a * 'a seq;

复制代码

------------贴士的贴士----------------------------------

贴士在粤语中很常用,是个外来词,即 tips.

----------------------------------------------------------

[ 本帖最后由 win_hate 于 2008-11-9 11:13 编辑 ]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

我纯我任性 2022-08-18 19:46:25

原帖由 drunkedcat 于 2008-11-10 10:56 发表

Eric Raymond 推荐学习 html, c/c++, java, perl, lisp, 英语,呵呵,我觉得应该可以加上 haskell. 思维方式都不一样。

每个人推荐的东西都会受到他/她自己知识背景的限制,因此参考一下就可以了,没必要太认真

揽清风入怀 2022-08-18 19:30:03

原帖由 MMMIX 于 2008-11-9 23:26 发表

多学几种类型不同的语言还是很有好处的,起码可以开阔眼界。

Eric Raymond 推荐学习 html, c/c++, java, perl, lisp, 英语,呵呵,我觉得应该可以加上 haskell. 思维方式都不一样。

我们的影子 2022-08-18 19:27:58

原帖由 drunkedcat 于 2008-11-9 19:40 发表

所以语言还是不要学太多,现学现用,呵呵。

多学几种类型不同的语言还是很有好处的,起码可以开阔眼界。

趁微风不噪 2022-08-18 19:19:30

原帖由 MMMIX 于 2008-11-9 13:41 发表

慢慢你就习惯了。

学了很多语言的一个副作用就是,许多时候会突然忘了你要用的语言的语法,然后乱写一气。。。

就是就是。

所以语言还是不要学太多,现学现用,呵呵。

别把无礼当个性 2022-08-18 18:34:19

看来 FP 语言都这几条语法。
只不过用的符号各不相同,差别挺大的。

ML 里面的 => 在 Erlang 里面用 -> 来表示。
FP 里面的 -> 和 ML 是一样的。

囍孤女 2022-08-18 18:14:29

原帖由 drunkedcat 于 2008-11-9 12:15 发表
晕了,呵呵。

用 haskell 时第一个符号问题是 "/=" 表示不等于,而不是“!=”,呵呵。

学过 C 的都觉得这里是在做除法。

瞳孔里扚悲伤 2022-08-18 17:17:05

原帖由 drunkedcat 于 2008-11-9 12:15 发表
晕了,呵呵。

慢慢你就习惯了。

学了很多语言的一个副作用就是,许多时候会突然忘了你要用的语言的语法,然后乱写一气。。。

戏蝶舞 2022-08-17 15:48:39

晕了,呵呵。

用 haskell 时第一个符号问题是 "/=" 表示不等于,而不是“!=”,呵呵。

空心↖ 2022-08-11 14:50:03

看一下数学上的类似行为:

集合 A 到 B 的映射记为 A -> B

集合 A 的元素 a 映射为集合 B 的元素 b 记为 a |-> b

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文