Forwarded from Deleted Account
by-name 实现起来不好吧,都得传 block 进去,把那东西内联……
block closure 的实现有什么注意点呢
block closure 的实现有什么注意点呢
Forwarded from Deleted Account
就是说 by-value 调用前优先顺序求值?
function wtf() {
if [ a = 0 ]; $1
else; $0
}Forwarded from Deleted Account
原来 shell 都是 call-by-name 的,直接传递代码字符串的引用,而且没局部作用域、没闭包
Forwarded from Deleted Account
$1 $2 $3 是局部变量吗?
还是我
还是我
some_fn a b c 的时候赋值的全局变量呢?Forwarded from Deleted Account
你觉得就解析器而言,是带 tokenizer 的好些还是 scannerless parsing 好些? 🤔
我听人说 parsing 和 type inference 的本质都是 unification,你怎么看?
我听人说 parsing 和 type inference 的本质都是 unification,你怎么看?
Forwarded from Deleted Account
可是 scannerless parsing 更符合直觉,如果加上 tokenizer 的话要维护两个级别的输入流
Forwarded from Deleted Account
tokenizer 的结果往往不好看,而且即便是类似 coroutine 一样的 nextToken() Sequence 模式,tokenizer 也会造成一些 SourceLocation 对象的资源浪费
从性能的角度,tokenizer 更容易做优化吗?
从性能的角度,tokenizer 更容易做优化吗?
Forwarded from Deleted Account
我觉得……
Java 什么的当然首推 ANTLR,语法还算可以,工具也不错
JavaScript 我用过 PEG.js 和 Ohm,我觉得 Ohm 比较直观,虽然实现语义的话很麻烦
Bison/YaCC 都不行
Java 什么的当然首推 ANTLR,语法还算可以,工具也不错
JavaScript 我用过 PEG.js 和 Ohm,我觉得 Ohm 比较直观,虽然实现语义的话很麻烦
Bison/YaCC 都不行
Forwarded from Deleted Account
JetBrains 的 MPS 用过没 🤔
MPS 是干什么的来着,好用吗
Kotlin 前端也是用 MPS 设计出来的?
MPS 是干什么的来着,好用吗
Kotlin 前端也是用 MPS 设计出来的?