Racket(Scheme)有哪些威力十足的庫?
01-28
都說Racket(Scheme)是教學語言,它在實際工程上有哪些好用的庫?
謝邀。
Racket的庫太豐富了,可以參見官網的 Packages 分類(Packages),故不贅述。
至於 Scheme,眾所周知,類似於 RFC ,Scheme 的擴展都是通過 SRFI (Scheme Requests for Implementation)來實現的,所以搜 SRFI 能搜到很多擴展包/腳本。
放一個 Scheme 的十全大補丸吧——SLIB(The SLIB Portable Scheme Library)。這庫是由MIT 的 Aubrey Jaffer 創建並維護的,支持目前主流的 Scheme 實現。主要提供的功能有:
- 部分 SRFI
- 語言語法擴展
- 文本處理(包括HTML、XML的處理)
- 數學相關包(甚至還有plot)
- 資料庫相關
等等。這個是手冊:http://people.csail.mit.edu/jaffer/slib.pdf
另外,Scheme 的官方實現 MIT-Scheme 本身就有豐富的功能了,讀一下收穫還是挺多的
- http://www.gnu.org/software/mit-scheme/documentation/mit-scheme-ref.pdf
- http://www.gnu.org/software/mit-scheme/documentation/mit-scheme-user.pdf
一些零碎的東西:
- 經典數據結構的 Scheme 實現(注意,很多是命令式風格的,用了set!):Scheme code for Data Structures
- 測試套件:axch/test-manager · GitHub
- plot:axch/adaptive-plot · GitHub
- axch/integer-sequences · GitHub
工程用的庫當然是這裡啦,樓主擼的一個庫,很方便。打算做個遊戲引擎用的。 evilbinary/scheme-lib
srfi/19 能讓你得自己去實現加減時間
上面的回答都不全面,都只是在介紹scheme的庫。racket/gui 編寫用戶界面racket/scribble 編寫文檔和論文
slideshow 編寫幻燈片
racket/draw 繪圖庫typed/racket 靜態類型racket,更快的速度racket/math 數學函數,矩陣運算庫pict 函數式圖形庫
rackunit 單元測試racket/contract 契約一些不夠成熟的庫就不介紹了推薦閱讀:
※Racket和Haskell誰更有發展潛力?
※愉悅的scheme之旅(4)--Delimited Continuations