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

时间:2013-08-31 05:41:53

标签: python lisp code-translation

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

也许像Parenscript这样的工具会生成Python代码而不是Javascript。

2 个答案:

答案 0 :(得分:8)

我一直在尝试使用Lisp compiler targeting Python bytecode

您可以看到small video here

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

相反,定位Python源代码非常烦人,因为有明确的语法限制使得编译Lisp变得困难(例如,赋值不是表达式,lambda中不允许使用语句,捕获的变量在Python 2中是只读的。 x)的

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

我的玩具目前可以定位Python 2.x,Python 3.x,甚至可以使用PyPy(所以你也可以使用JIT编译器)。

当然,从技术角度来看,成为完全兼容的Common Lisp实现将是IMO的无意义,但基于Python运行时类型并与Python对象系统兼容的lisp方言可能是实际应用程序的合理工具。

答案 1 :(得分:3)

我相信Hy正是您所寻找的。从教程:

  

Hy转换为python自己的抽象语法树,所以你很快就会开始   发现python的所有熟悉的力量都在你的指尖。

但是请注意Hy不是Common Lisp,所以你不能剪切和粘贴。