Haskell Monoid(幺半群)的介绍

2022-04-21
阅读 10 分钟
2k
为什么程序员应该关心 Monoids?因为 Monoids 是一种在编程中反复出现的常见模式。当模式出现时,我们可以将它们抽象化并利用我们过去所做的工作。这使我们能够在经过验证的稳定代码之上快速开发解决方案。

Expression Problem 和 Calcit 相关引用笔记

2021-08-10
阅读 2 分钟
1.7k
Wiki [链接]知乎引用 [链接]中文简介 [链接]The Expression Problem and its solutionsMore thoughts on the Expression Problem in Haskell3 ways to solve the expression problemThe Expression Problem in RustSolving the Expression Problem with Clojure(Protocol)Calcit 示例代码 {代码...} 运行示例: {代码...}

PureScript 的 equality

2021-07-28
阅读 3 分钟
1.7k
从 PureScript 的角度反过来看, JavaScript 的好多概念还是比较模糊的.前几天群里看到讨论 js 的 equality 的事情, 我就觉得 js 设计挺不清晰的.js 里用 === 的话, 遇到

一种 Monad 的偏门的理解方式

2021-03-16
阅读 4 分钟
3.3k
我对数学概念属性符号掌握得不好, 所以理解比较慢,这篇文章是从概念性的内容去理解 Monad, 不精确, 可能具体到数学概念也不准确.但是希望提供一个比较直观的方式去了解, Monad 是怎么来的?

[译] 函数式 Arrow 实用案例

2021-03-15
阅读 4 分钟
1.7k
Arrow 提了一种表示"计算"的手段. 甚至有些 Monad 用法里边看不到的复杂操作, 通过 Arrow 提供的一些有意思的组合式的组合方法, 也可以构造出来.

关于 Haskell 当中使用 mutable 数据的一些资料

2016-05-05
阅读 5 分钟
4.9k
网上扒了不少链接, 看了以后对问题有点改观, 但是消化不掉所以整理一下放在这里, 希望有点提升, 而且可以讨论下这个问题Clojure 教程当中明明白白讲过 Atom, 所以可变数据的态度明确Clojure 里就是整体用不可变数据, 而可变的部分用 Atom 包裹起来到了 ClojureScript 更放开了调用 JavaScript 代码时的可变状态由于 Cloj...

[译] 用 Haskell 写简单的 Monadic Parser

2015-09-25
阅读 6 分钟
6.7k
最近我开始学习 Haskell, 同时很享受 Haskel 提供的视野. 可能以后会再写一篇.今天我分享我用 Haskell 写的第一个比较大的程序.

笔记, 如何生成一个 Haskell 模块, Hackage

2015-05-10
阅读 2 分钟
3.8k
完成了第一遍 Hackage 的上传, 记录一下中间一些用到的东西 这篇笔记不是完整的内容, 只是上传一个模块需要的基本操作 我没有细看添加文档跟测试的内容, 以及其他高级内容 这篇笔记有其他问题请评论指出 到 Hackage 注册 [链接] 注册好以后, 用户名密码会在命令行当中用到. 编写代码 代码放在 src/ 目录下边 配置文件 项...

关于 Monad 的学习笔记

2015-05-03
阅读 8 分钟
14.9k
现在回头看, 如果从前学习得法的话, 最快可能几天或者几周就搞定的 比如说有 Node.js 那样成熟的社区跟教程, 或者公司里有就有人教的话 此前在 Haskell 中文论坛问过, 知乎问过, 微博私信问过, 英文教程也看了 总体上 Monad 就成了越来越吸引我注意力的一个概念

[译] PureScript: 一门编译到 JavaScript 的 Haskell 方言

2015-04-01
阅读 3 分钟
10.3k
PureScript 是一门编译到 JavaScript 的强类型静态类型语言. 它的功能受到 Haskell 的激发, 并且使用 Haskell 编写, 其目标是: "编译到 JavaScript 同时保持清洁跟可读" 而且根据 PureScript 作者 Phil Freeman 所说, PureScript 具备跟其他编译到 JavaScript 的语言相互操作的能力.

[翻译] WikiBooks: Haskell 调试

2015-01-04
阅读 2 分钟
4.4k
打印调试信息是调试程序通用的办法. 命令式语言中, 我们只要设置打印语句到标准输出的代码, 或者到某些 log 文件里, 这样就能追踪调试信息了. (比如说, 特定变量的值, 或者一些肉眼可读的消息.) 然而对于 Haskell, 除了 IO Monad 以外我们没办法打印任何信息., 而且我们不像单单为了调试引入那样的例外.

翻译 Haskell Talks

2014-06-15
阅读 2 分钟
3.7k
Haskell 是一门很棒的语言, 伴随着一个很棒的社区. 不过, 反正因为一些原因, 关于这门语言只有一些比较少的视频音频资料. 过去的几个月, 我收集了很多一些很有启发性的话题.