與商業數學應用程序不同,Sage Math使用Python作爲其腳本語言。我不喜歡它,因爲它沒有尾遞歸,不是同態的,並且使用縮進來放出語句塊。我怎樣才能使用Scheme這樣的其他語言呢?如何在Sage Math中使用Scheme而不是Python
2
A
回答
5
如果你不喜歡Python,你可以useC/C++或Fortran。 Sage是圍繞Python/Cython庫構建的,幾乎沒有與其他編程語言的互操作性。
或者您可以使用編譯爲C的Scheme解釋器(例如,Chicken Scheme或Gambit Scheme)並以某種方式從Sage調用生成的代碼,原則上它應該是可能的。但爲什麼要麻煩?給Python一個嘗試,你會發現這是一個相當好的語言,與許多scientific libraries和應用程序。
1
除了Sage,您可以嘗試在Common Lisp中實現的Maxima [1],您可以輕鬆地在CL中編寫其他程序,並將它們與Maxima集成。
千里馬有它自己的編程語言,它具有類似Lisp的特徵(例如同心),但說實話,編程語言是笨拙的。
[1] http://sourceforge.net/p/maxima,http://maxima.sourceforge.net
相關問題
- 1. 在Python中使用Sage Math庫
- 2. 在python中獨立使用sage函數
- 3. 如何在pass.json中使用'changeMessage'鍵
- 4. 如何在Apache Commons Math中使用BicubicSplineInterpolator?
- 5. 如何在Go Lang中使用Math/Big
- 6. Scheme,何時使用符號而不是字符串?
- 7. BlazeDS返回DSK而不是AcknowledgeMessage
- 8. 如何使用eval而不是python
- 9. 在python中使用hasattr而不是hasattr
- 10. 如何使用python 3.6而不是python 3.5使用pip3?
- 11. 你如何在OS X中使用Scheme?
- 12. 如何在DrRacket Scheme中使用lambda
- 13. 如何在Telegram bot(Python)中使用inline_keyboard而不是鍵盤?
- 14. 在Python中,我如何使用子進程而不是os.system?
- 15. 在Sage中使用TensorFlow
- 16. Python:總是使用__new__而不是__init__?
- 17. 如何讓iPython使用Python 2而不是Python 3
- 18. 使用Sage作爲Python庫(Windows)
- 19. 如何使用「./」在終端而不是「python」?
- 20. SIGILL在Sage/Python後分叉
- 21. 在Python中何時使用%r而不是%s?
- 22. 在Redhat 6.7中使用python 2.7.13而不是默認的python 2.6
- 23. 如何在Scheme中指數?
- 24. 如何在virtualenv而不是python 2.7.1中獲取python 2.7.3?
- 25. 如何使python 3.6使用visual studio 2017而不是2015?
- 26. 如何使用Skin.AddPageMessage()方法?
- 27. 如何使用Java Math Commons CurveFitter?
- 28. Apache Commons Math SpearmansCorrelation - 如何使用
- 29. Python /在Sage Notebook中創建圖形
- 30. 在sage/sympy/Python中的Riemann Theta函數?
我已經嘗試Python和被嚇的它的語法和靈活性。 – ThePiercingPrince
@LinuxDistance這是無關緊要的,但是......我一開始並不喜歡Python的語法,但是過了一段時間,你已經習慣了。我喜歡我寫很少的代碼來做一些事情,而且它非常可讀:這是它「不靈活」的結果,這是一件好事!應該有一個,最好是[只有一個](http://www.python.org/dev/peps/pep-0020/),這是明顯的做事方式。它比你相信的更類似於Lisp(http://norvig.com/python-lisp.html)。另外,它適合在[函數式編程](http://ua.pycon.org/static/talks/kachayev)風格編寫代碼 –
好的答案!我只想補充一點,也可以使用一些Fortran,對於許多用戶來說(相比於其他數學軟件),Python作爲基礎被認爲是一個加號,而不是減號。 – kcrisman