函数式编程语言的静态分析器,egScheme
我很少看到像Racket/Scheme这样的函数式编程语言的静态分析器,我什至怀疑是否有。我想为函数式语言编写一个静态分析器,比如Scheme/Racket。我该怎么…
函数式编程中的多个源文件、目录结构和命名空间
我很惊讶地发现 Hacker News 的源代码只是一个包含函数定义的平面列表的大文件。 Git 中心 - news.arc 这对于函数式编程来说是典型的吗?像 OOP 项目…
在 Haskell 中构建和解析 SIP 消息(字符串)
我正在尝试通过编写 SIP 客户端来学习 Haskell。 我的问题是在下面的示例中,构建表示 SIP 请求的字符串的函数是什么样的,或者换句话说,而不是我正…
Donald Knuth 选择过程式编程而不是函数式编程有什么原因吗?
Donald Knuth 的计算机编程艺术系列使用他自己的程序汇编语言,称为 MIX。现在的问题是:Knuth 是否应该使用函数式语言来描述他的算法? TeX 应该用函…
Erlang:是否可以将最小函数编写为列表折叠?
给定一个函数: min(A, B) when A = A; min(_A, B) -> B. 我可以在函数 foldl 中以类似的方式使用它吗: lists:foldl(fun min/2, 0, [1,2,3,4,5,6,7,8…
将函数的第一个参数旋转为第 n 个
给定一个至少具有 n 个参数的函数,我想旋转第一个参数,使其成为第 n 个参数。例如(在无类型 lambda 演算中): r(λa. a) = λa. a r(λa. λb. a …
为什么 Curry 的 std lib 中的非确定性选择函数没有直接定义,而是使用辅助 2 参数函数定义?
考虑 Curry 编程语言 中的一个函数 choose,其规范为“(choose xs) 非确定性地从列表 xs 中选择一个元素”。 我将通过两个替代的非确定性规则直接实现…
有人知道上下文环境(CE)机器(解释器)吗?
我目前正在研究使用 Context-Environment 机器进行 lambda 演算的小步语义。 在这种机器中,或者说解释器中,闭包的定义是开放的 lambda 术语与定义闭…