关于面向代理编程范式的三个标准:
是否有未编译的解释编程语言?据我所知,解释语言的全部目的是实现一种具有某些特性、语法等的新语言。但是底层的实现最终需要编译成一些低级的东西,这样才能真正地执行它。
面向代理的编程范式的第3点仅仅是说仅仅从理论上定义一种语言是不够的,而不是用某种可以编译成可以实际运行的低级代码的语言来实现语言吗?
发布于 2018-11-05 00:57:57
是的,杰森被完全解释了。它是一个BDI代理平台。它还支持动态(动态)编程.您可以在运行时添加和组织计划,还可以保存代理的精神状态,并在整个系统运行时加载新的内容。
发布于 2018-11-04 18:23:58
实际上,在编译语言和解释语言之间有一个连续体。编译或解释是语言实现的一个属性(编程语言是一种规范,即像R5RS这样的文档;它不是软件)
我强烈建议阅读Quiennec的https://en.wikipedia.org/wiki/Lisp_in_Small_Pieces书,这本书非常详细地解释了这一点(参见这)。我还建议阅读斯科特的https://www.cs.rochester.edu/~scott/pragmatics/书。
顺便说一句,明斯基的https://en.wikipedia.org/wiki/Society_of_Mind书和皮特拉的https://onlinelibrary.wiley.com/doi/book/10.1002/9780470611791书也会让你感兴趣。而J.Pitrat的博客也是相关的。
许多“汇编”语言都有“解释”部分。例如,在C中,大多数printf实现都是“解释”控制格式字符串(这是在C标准库的printf函数中完成的),即使规范允许某种形式的“编译”。(有时GCC或Clang可能会很聪明.)
是否有未编译的解释编程语言?
阅读关于部分评价和Futamara预测的文章
研究Common并查看它的SBCL实现,它将编译成机器代码,每个REPL交互。还可以查看LuaJit。
https://stackoverflow.com/questions/53143875
复制相似问题