
微型LISP解释器的构造与实现
文章平均质量分 76
ccat
Python Tutorial 2.3,2.4,2.5, 2.6, 2.7, 3.1 译者,《微型LISP解释器的构造与实现》作者。Jaskell系列Java/Scala组合子算法库作者。
展开
-
为 Java 编写的 Try 和 Tuple 类型
Java 设计了一套久经考验的异常处理机制,为开发高质量的程序提供了可靠保障。但是随着现在软件日趋复杂,特别是异步编程的发展,语法级的异常处理机制已经不足使用。我模仿 Scala 的 Try 类型,为 Java 编写了一组 Try 和 Tuple 方法,用于简化复杂应用逻辑中的异常管理和数据传递。根据最新的 Java 21 和目前仍在广泛使用的 Java 8,分别在 jaskell-rocks 和 jaskell-java8 工具库中实现。原创 2023-12-03 14:28:57 · 1230 阅读 · 0 评论 -
Parsec 的 Map 和 FlatMap
在 FP 的视角,map 和 flatMap 是比 Parsec 组合子更基础的概念。它们是任何 Monad 都应该支持的东西。对于 Haskell 原版,我们实际上是针对 parsec 算子的计算结果 `Either[Left, Right]` 做 map 和 flatMap,所以 Parsec 本身并不需要额外考虑这种问题。原创 2022-12-08 18:06:41 · 595 阅读 · 0 评论 -
《微型LISP解释器的构造与实现》中Parsec 算子的类型错误
感谢 Aaron ,在 《微型 LISP 解释器的构造与实现》一书中的一些错误,我对这一类错误发生的原因做一个简单的介绍。原创 2022-11-27 20:45:59 · 1556 阅读 · 3 评论