我正在研究我自己语言的模式匹配,并想知道Racket如何实现它。我对语言并不熟悉,而且很难找到its source。我想看一下它所写的代码。
有人能指出我正确的方向吗?
答案 0 :(得分:1)
模式匹配器的来源在这里:
https://github.com/racket/racket/tree/master/racket/collects/racket/match
关于实施的文章"可扩展语言中的可扩展模式匹配"作者:Sam Tobin-Hochstadt来自:
http://www.ccs.neu.edu/home/samth/match-ifl-full.pdf
答案 1 :(得分:1)
可以通过右键单击标识符并选择"打开定义文件"来检查在Racket中编写的每个导入的标识符。
你最终会发现自己被绊倒了,因为打开定义文件的选项并不存在。例如。 cons
没有。原因是它们是用C语言编写的原语,它奇迹般地来自#%kernel
。要查看您需要searching racket sources