/tmp/duangsuse.sock
23 subscribers
303 photos
3 videos
92 files
337 links
从 duangsuse::Echo (@dsuse) 跟进出来的分支,将在作者恢复原帐号访问的时候合并删除。
Download Telegram
Forwarded from Deleted Account
by-name 实现起来不好吧,都得传 block 进去,把那东西内联……
block closure 的实现有什么注意点呢
Forwarded from Deleted Account
这个是常见实现
直接 clone 一个,然后 update merge keys
Forwarded from Deleted Account
就是说 by-value 调用前优先顺序求值?
function wtf() {
if [ a = 0 ]; $1
else; $0
}
Forwarded from Deleted Account
不存在子程序作用域啊…… 子程序离开了之后还是存在、递归的话就会冲突
Forwarded from Deleted Account
原来 shell 都是 call-by-name 的,直接传递代码字符串的引用,而且没局部作用域、没闭包
Forwarded from Deleted Account
$1 $2 $3 是局部变量吗?
还是我 some_fn a b c 的时候赋值的全局变量呢?
Forwarded from Deleted Account
想起了 Ruby 里的 lexical_specialvars
Forwarded from Deleted Account
不能赋值啊……
Forwarded from Deleted Account
是一个 shell 概念上会定义的东西啊…… 对名字的抽象语义
Forwarded from 直美 大空
xs
Forwarded from Deleted Account
你觉得就解析器而言,是带 tokenizer 的好些还是 scannerless parsing 好些? 🤔

我听人说 parsing 和 type inference 的本质都是 unification,你怎么看?
Forwarded from Deleted Account
可是 scannerless parsing 更符合直觉,如果加上 tokenizer 的话要维护两个级别的输入流
Forwarded from Deleted Account
tokenizer 的结果往往不好看,而且即便是类似 coroutine 一样的 nextToken() Sequence 模式,tokenizer 也会造成一些 SourceLocation 对象的资源浪费
从性能的角度,tokenizer 更容易做优化吗?
Forwarded from Deleted Account
你觉得不同侧面,最好的解析器框架/解析器生成器 是什么?
Forwarded from Deleted Account
我觉得……
Java 什么的当然首推 ANTLR,语法还算可以,工具也不错
JavaScript 我用过 PEG.js 和 Ohm,我觉得 Ohm 比较直观,虽然实现语义的话很麻烦
Bison/YaCC 都不行
Forwarded from Deleted Account
就是说纯手写,分词器=某种状态机、解析器=递归下降?
Forwarded from Deleted Account
这样的可移植性有什么好的方法吗?
Forwarded from Deleted Account
🤔有道理
我只是说,如果有的话
Forwarded from Deleted Account
JetBrains 的 MPS 用过没 🤔
MPS 是干什么的来着,好用吗
Kotlin 前端也是用 MPS 设计出来的?
Forwarded from Deleted Account
(没兴趣就停止算了,我也就是闲聊)