什么是组合子逻辑?一般来说组合子逻辑是指一类函数式编程语言的编程模式,它将具有同一功能接口的不同逻辑功能 (算子) 组合为新的、更复杂的逻辑,同时保留同样的功能接口,使接口具有外在的一致性。这是函数式编程中的一个基本范式。在面向对象的设计模式中,也有一些类似的设计思想。
不少函数式编程语言的文本分析工具是用组合子实现的,例如 Haskell 的 Parsec 和 Scala 的 Parser.Combinators 库。这是因为组合子很适合表达抽象模式,例如重复、间隔、顺序依赖等。组合子的这种特性使其可应用于各种各样的序列分析,包括非线性序列。
OSCHINA 本期高手问答(6 月 28 日 - 7 月 4 日)我们邀请到畅销书《微型 Lisp 解释器的构造与实现》的作者 @刘鑫 MarsLiu 老师和大家一起探讨 “用 Java 和 Scala 实现微型 Lisp 解释器” 的话题,包括:
-
学习组合子逻辑要注意什么? -
实现这样一个解释器的难点在哪里? -
用组合子实现解释器的优势是什么? -
移植的这些解释器应用在了哪些项目?
更多精彩
文章评论