有没有工具可以将Lisp代码翻译成Python?

2024-10-03 11:22:19 发布

您现在位置:Python中文网/ 问答频道 /正文

因为我想使用Lisp的语法和Python的库。在

可能有些工具,比如Parenscript,但是生成Python代码而不是Javascript。在


Tags: 工具代码语法javascriptlispparenscript
2条回答

我相信Hy就是你要找的。从教程中:

Hy converts to python’s own abstract syntax tree, so you’ll soon start to find that all the familiar power of python is at your fingertips.

但是请注意,Hy不是普通的Lisp,所以不能剪切和粘贴。在

我已经用Lisp compiler targeting Python bytecode做了一点实验。在

你可以看到一个small video here。在

这只是一个概念验证玩具,但在我看来,这是一条可行的道路,最终结果将能够自由地从python调用和调用(并且它将与任何python扩展库兼容)。所有这些都保留了宏的强大功能(元编程可能是Python离lisp最远的领域)。在

相反,以Python源代码为目标是相当麻烦的,因为有显式的语法限制使得Lisp的编译变得困难(例如,赋值不是表达式,lambda中不允许有语句,python2.x中捕获的变量是只读的)。在

然而,VM运行时没有这些限制,Python字节码相当不错。在

我的玩具目前可以针对python2.x,python3.x,甚至可以使用PyPy(所以你也可以得到一个JIT编译器)。在

当然,从技术角度来看,想要成为一个完全兼容的通用Lisp实现是毫无意义的,但是基于Python运行时类型并与Python对象系统兼容的Lisp方言可能会成为实际应用中的合理工具。在

相关问题 更多 >