2016 - 2024

感恩一路有你

web前端 Lisp值得去学习吗?

浏览量:1895 时间:2021-03-14 02:05:50 作者:admin

Lisp值得去学习吗?

我认为这是非常值得的,而且LISP的解释器实现得很好,所以它不仅可以作为一种新的学习思路,而且可以作为学习编译原理的材料。SiCp也需要lisp,为什么不呢。有些人更容易理解LISP的思想,但是觉得Java风格是不可接受的。例如,我的一个朋友,大阪黑子,声称他不懂java。他一看到lisp就明白了这一点,于是加入了教学行列。我拍的另一张照片:个人:在学习编译器原理之前,我编写了LISP解释器。

完成一个Scheme解释器需要哪些知识?

参考编程语言要点目录,按顺序编写,然后将其写入完整的解释器。

首先编写一个解释算术表达式的解释器;

然后添加let以生成局部变量;

然后添加lambda以生成非递归函数;

然后添加letrec以生成递归函数;

第一类函数,现在已经理解/实现close,下面的步骤是:添加语法sugar,如if else;将cons/cat/CDR更改为内置函数(原来lambda计算可以模拟)并改进内存管理;

add quote and eval;

add set!引入赋值;

添加CPS转换实现call/cc,支持尾部递归;

添加define语法支持宏;

然后再接再厉,添加一些非方案标准的东西:

添加record/set/map等数据类型,实现相应的匹配(模式匹配)

如果不能满足要求,就用类型LISP做:

添加类型标签,支持基本类型/函数类型;

支持ADT;

支持Mu类型;

添加类型派生;

支持Hindley Milner;

支持类型类/构造函数类;

还有一些外围工作要做:

添加FFI以使语言和C相互调用。

技能列表已准备就绪。按这个顺序做是对的。另外,不管后端效率如何(没有虚拟机,只有解释),都不建议用C写解释器,最好用函数式语言写解释器。

解释器相关文献推荐:

LISP小品

编程语言要领

类型和编程语言

web前端 lisp自己写 web是什么意思

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。