首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Haskell
1417 关注,77 文章
关注
热门
最新
最热
掘金安东尼
1年前
前端
Haskell
笔记
热爱函数式的你,句句纯正的 Haskell【库函数篇】
本篇是笔记篇,介绍 Haskell 的强大的库函数,也可感受下与我们平常的 js 操作异同之处~~~
2119
13
1
掘金安东尼
1年前
JavaScript
函数式编程
Haskell
热爱函数式的你,句句纯正的 Haskell【表达式篇】
本篇关注 Haskell 中表达式是怎样写的,运算符怎样用的,并与 JavaScript 比较差异,感受下函数计算的思想,花个三、五分钟阅览一遍还是阔以~~
988
16
评论
YOLO_TTT
1年前
Haskell
慢慢学Haskell(二):遍历素数
在Haskell官网的示例中,只用了短短三行代码,就实现了素数的遍历,让我们来窥探一下其中的奥秘吧。
1275
4
2
掘金安东尼
1年前
前端
函数式编程
Haskell
热爱函数式的你,句句纯正的 Haskell【函数篇】
在 Haskell 中有 3种定义函数的方式,其中也有柯里化思想的应用。柯里化如此自然,就像呼吸一般~还有 λ表达式,是实现匿名函数的有效方式!!
1930
19
3
掘金安东尼
1年前
前端
函数式编程
Haskell
热爱函数式的你,句句纯正的 Haskell【类型篇】
如果想要在 javaScript 中善用函数式编程思想,那不得不会会真正的、强力的函数式语言了—— Haskell,第一章,《类型篇》,看完直呼:舒服了~
1696
16
评论
R3m
2年前
前端
Haskell
JavaScript
∞ 在 JS 中模拟 Haskell 的无穷数组
因为有惰性求值,所以在 Haskell 中你可以创建一个无限数组。例如 [0..], 创建一个从 0 递增到正无穷的数组。本文介绍了无穷数组的用途,以及在 JS 里实现无穷数组的一种方式。
1042
6
评论
方应杭
2年前
Haskell
写给前端工程师看的函数式编程对话 - 3
方:今天我教你写函数,先聊聊函数参数吧。 学生:参数有什么好讲的,就是把数据传给函数吧。对了,根据你昨天讲的,函数也可以被当作参数传给另一个函数。 add 可以求两数之和。要调用 add,只需要把 1 和 2 传给 add 即可得到 3 学生:嗯,接下来你肯定要整点花里胡哨的写…
625
14
4
Kazurin
2年前
Haskell
Haskell 中的 Monad 和 IO
对于 Haskell 初学者来说,Monad 和 IO 或许是掌握 Haskell 之路上的第一大难关。本文将会以尽量浅显的方式介绍 Monad 和 IO 背后的原理和设计思想,希望能够给 Haskell 初学者们一些思考与启发。 本文假设您对函数式编程有一定的理解,因为这是讨…
1059
6
4
用到掘金倒闭
3年前
Haskell
使用 Haskell 与 Android NDK 进行 Linux 原生开发
Android 是 Google 公司基于 Linux 平台开发的开源手机操作系统, 自然要对 C C++ 提供原生支持. 通过 NDK, Android应用程序可以非常方便地实现 Java 与 C/C++代码的相互沟通. 随着语言的发展, 近些年来出现了一些诸如 Rust, …
742
点赞
评论
方应杭
4年前
Haskell
《概念数学》第一章:伽利略与物体的乘法
既然这么重要,我就打算找些相关的书看一看,目前我觉得我能看懂的只有这本《Conceptual Mathematics》,并没有中文版,所以我只能看英文原版了。 知乎上@甄景贤(研究普适人工智能)推荐这本书的理由是『中学生也能看懂』。 以下是我第一章的笔记。原书是英文版,我可能有…
890
4
评论
方应杭
4年前
Haskell
async/await 之于 Promise,正如 do 之于 monad(译文)
CertSimple 网站最近发布了一篇文章,说 ES2017 里的 async 和 await 是 JS 最好的特性。我非常赞同。 基本上来说,JS 为数不多的几个优点之一就是对异步请求的处理得当。这得益于它从 Scheme 那里继承来的函数和闭包。 然而这也是 JS 的最大…
2056
16
1
方应杭
4年前
Haskell
《Haskell趣学指南》笔记之 Monad
monad 是加强版的 applicative 函子。 我现在有点忘了什么是 applicative 函子,所以我先复习一下。 其意义是把一个容器里的值,经过一个函数加工一下,然后放回一样的容器里。 其意义跟 fmap 很相似,区别在于那个函数也在容器里。 但是有些时候容器比喻…
966
3
评论
方应杭
4年前
Haskell
《Haskell趣学指南》笔记之 Monoid
Monoid 是一个类型类。 这应该是范畴论里的东西,反正我目前是看不懂这个什么群。 newtype 关键字是根据现有数据类型创建新类型。 newtype 跟 data 很像,但是速度更快,不过功能更少,只能接受值构造器,值构造器只能有一个参数。 一个 Monoid 的实例由一…
1468
2
评论
方应杭
4年前
Haskell
《Haskell趣学指南》笔记之 Applicative 函子
仔细观察就会发现,这个 fmap 实际上就是函数组合。所以 (r ->) 就是一个容器吧。或者容器这个比喻在这里已经不适用了。 如果一个函数的类型是a -> b -> c ,就表示它接受一个 a 类型的值,返回一个 b -> c 函数。所以 a -> b -> c 等价于 a …
756
2
评论
方应杭
4年前
Haskell
《Haskell趣学指南》笔记之I/O
IO () 返回的类型为 (),即空元组,也叫单元。下一节会出现的 IO String 返回的类型为 String。 () 即使一个类型,也是对应类型的值。 do 语法可以将多个 I/O 操作合成一个。 ++ 左边的类型是 String,右边的类型为 IO String,所以上…
1443
4
评论
方应杭
4年前
Haskell
《Haskell趣学指南》笔记之自定义类型
但是现在如果你在 ghci 里输入 Circle 1 1 5 会报错,因为 Shape 不是 Show 类型类的实例,不能被 show 函数调用。 Circle 函数接受三个 Float 参数,这三个参数前面两个是圆心的坐标,最后一个是半径。 其中 Shape(..) 的意思是…
1597
1
评论
方应杭
4年前
Haskell
《Haskell趣学指南》笔记之模块
目前我们提到的所有函数、type 和 typeclass 都是 Prelude 模块的一部分,默认情况下,Prelude 模块会被自动导入。 导入之后,该模块的所有函数就都进入了『全局』命名空间。 要查看函数位于哪个模块,可以用 Hoogle (www.haskell.org/…
1607
2
评论
方应杭
4年前
Haskell
《Haskell趣学指南》笔记之高阶函数
《计算的本质》讲得更好一些,我感觉这本书这里讲得不通透。 让函数只接受一个参数就够了。 如果想接受两个参数,就先接受一个,返回一个接受另一个参数的函数即可。 注意这里的括号不能省略,因为 -> 默认是右结合。 技巧:在编写函数(尤其是高阶函数)时如果拿不准函数的类型,可以先不写…
1187
点赞
1
方应杭
4年前
Haskell
《Haskell趣学指南》笔记之函数
写好模式,Haskell 会直接帮你匹配。如: 但是注意,如果把 lucky x 挪到 lucky 7 前面,就永远匹配不到 lucky 7 了。 其中的 bmi < 18.5 就是一个 guard。 每条 guard 语句至少缩进一个空格。 如果当前模式的守卫都没有 True…
914
2
评论
方应杭
4年前
Haskell
《Haskell趣学指南》笔记之类型(type)
多态函数:使用了类型变量的函数。 类似于接口,但是它是用来约束类型 type 的。 一个 type 可以是多个 typeclass 的实例,一个 typeclass 可以有多个 type 实例。 类型注解:可以使用类型注解来告诉 GHCi 这玩意是什么类型。read "True…
1722
1
评论
温馨提示
当前操作失败,如有疑问,可点击申诉