【问题标题】:Is it possible to translate a clojure syntax into python syntax? [closed]是否可以将 clojure 语法翻译成 python 语法? [关闭]
【发布时间】:2014-01-30 19:13:54
【问题描述】:

我一直在环顾四周,但没有找到这样的例子。我想用 Clojure 写出一些冗长乏味的 Python 脚本。只是因为我碰巧更喜欢 Clojure,而且它们的程序并不完整。

这个网站让我觉得这是可能的: http://jkkramer.com/sudoku.html

例如,如果我有 script.clj,我希望能够将其转换为 script.py - 当然不是手动。

可以这样做吗?如果是这样,我应该使用什么工具/库/脚本?如果不可能,为什么不呢?

[编辑] 我编辑了这个,因为措辞错误地给人一种我正在寻找关于编写自己的解决方案的详细课程的印象。我只是好奇是否有工具可以回答我的问题,如果没有,那为什么不呢。

【问题讨论】:

  • 您的意思是要将python 转换为 clojure 吗?因为这不是标题所说的。
  • “作为练习,我将 Peter Norvig 的数独求解器从 Python 翻译成 Clojure。”可以在您提到的博文中阅读。
  • 听起来你在描述一个源到源编译器。是的,这当然是可能的。例如,ClojureScript 将 Clojure 编译为 Python。如何?这个网站太宽泛了。
  • @A.Webb 我相信你的意思是 ClojureScript 将 Clojure 编译为 JavaScript
  • @verdammelt 是的,当然,脑残。

标签: python clojure translate


【解决方案1】:

实际上,您不必为了编写将与 python 库交互的 Clojure 进行源到源的翻译。只需查看clojure-py,它允许您编写常规的 Clojure 语法并在 Python 解释器下运行它并调用 Python 库。

【讨论】:

  • @Uri 我更新了链接。不幸的是,该项目似乎没有受到太大的关注,也没有得到维护。
【解决方案2】:

是的。编写一个接受 Clojure 语法并输出有效 Python 语法的编译器。

如何做到这一点远远超出了 StackOverflow 答案的能力/范围。

另外请注意,如果您对将任何 Clojure 代码编译成 Python 的一般情况执行此操作,您将在 Python 中实现了相当多的 Clojure(尤其是当您实现 defmacro 和泛型方法时)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-09
    • 1970-01-01
    • 2021-11-01
    • 2011-04-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多