2014-01-11 45 views
2

我一直在環顧四周,但還沒有找到一個這樣的例子。我想用Clojure寫出一些長/乏味的Python腳本。僅僅因爲我碰巧享受了更多的Clojure,而且他們還沒有完全掌握程序。是否可以將clojure語法轉換爲python語法?

這個網站讓我覺得這是可能的: http://jkkramer.com/sudoku.html

例如,如果我有script.clj,我希望能夠將其轉換爲script.py - 不是當然的手。

可以做到這一點嗎?如果是這樣,我應該使用什麼工具/庫/腳本?如果不可能的話,爲什麼不呢?

[編輯]我編輯了這個,因爲措辭錯誤地給我的印象,我正在尋找一個寫我自己的解決方案的詳細課程。我只是好奇,如果工具是在那裏回答我的問題,如果沒有,那麼爲什麼不。

+0

你的意思是你想把python *轉換成clojure嗎?因爲這不是標題所說的。 – jonrsharpe

+1

「作爲練習,我將Peter Norvig的Sudoku求解器從Python轉換爲Clojure。」可以在您參考的博客文章中閱讀。 –

+0

這聽起來像是您正在描述源到源編譯器。是的,這當然是可能的。例如,ClojureScript將Clojure編譯爲Python。怎麼樣?這個網站太廣泛了。 –

回答

3

是的。編寫一個採用Clojure語法並輸出有效Python語法的編譯器。

如何做到這一點遠遠超出了StackOverflow答案的能力/範圍。

另外請注意,如果你這樣做的一般情況下編譯任何一塊Clojure代碼到Python中,你將在Python中實現相當多的Clojure(尤其是當你實現defmacro和泛型方法時)。

3

實際上,您不必爲了編寫將與python庫進行交互的Clojure進行源代碼翻譯。請參閱clojure-py,它允許您編寫常規Clojure語法並在Python解釋器下運行它並調用Python庫。

相關問題