跳至內容

Racket

出自Taiwan Tongues 台語維基
於 2025年8月23日 (六) 04:00 由 TaiwanTonguesApiRobot留言 | 貢獻 所做的修訂 (從 JSON 檔案批量匯入)

(差異) ←上個修訂 | 已批准修訂 (差異) | 最新修訂 (差異) | 下個修訂→ (差異)

Racket(原名PLT Scheme)是一个通用、多範型,屬於 Lisp 閣有家族的函數式程式設計語言,伊的設計目之一是為著提供一種用於創造設計佮實作其他的程式語言的平台,Racket 被用佇指令碼程式設計、通用程式設計、電腦科學教育佮學術研究等無仝領域。

Racket 有一个實作平台,包含執行環境、函式庫、即時編譯器(JIT compiler)等咧,閣提供一个以 Racket 本身寫做的開發環境 DrRacket ( 原名 DrScheme )。

Racket 平台的發行版本是免費而且開放原始碼的,以 GNU 闊通用公共許可證授權發行,所有由社群所編寫的擴充功能和套件攏會予傳起去到 PLaneT ( 一个網頁套件發佈系統 )。

是因為 Racket 實現的 Scribble 會當用來構建 HTML 抑是 PDF(依賴 LaTeX), Racket 官方文件就是基於講這个語言來編寫的。

開發原則

Racket 的開發基於以下原則:

  • 程式語言的目的是表述佮解決問題,這一過程通常佇咧特定的情境內底發生,該情境有一定的講語言,所以 Racket 應該是會當創製新程式語言的程式語言;
  • 所以基於是上述的問題的方式,問題系統會當看做多語言的互相聯絡的組件的集合,Racket 應當會當提供予足保護機制,允准實現各種語言的完整特性;
  • 佮問題解決相關的佇語言以外的機制,如專案佮資源的管理,嘛會用得予人 Racket 轉換做語言構造。

歷史

開發

Matthias Felleisen 佇一九九空年代中期建立矣 PLT,一開始為一个研究團隊,無偌久了後漸漸投入程式設計師入門教材的專案開發。

佇一九九五年一月,這个團隊決定開發一个建立佇 Scheme 函數式程式語言的教學用程式語言環境,Mattew Flatt 簡單的對 libscheme 中將 MrEd ( Racket 的原始虛擬機器 )、wxWidgets 佮一寡其他的免費系統結合,紲落來的幾冬來,由 Flatt、Robby Findler、Shriram Krishnamurthi、Cormac Flanagan 佮其他真濟人組成的團隊推出了 DrScheme,一个予 Scheme 程式設計新手的程式設計環境,成做弱型別程式語言的研究環境,彼當陣 DrScheme 主要支援的程式語言叫做 PLT Scheme。

佇這个同時,該團隊也開始為中學教師開設研習課程,教授𪜶學習程式設計佮函數式程式設計,遮的老師佮𪜶的學生所做的現場測試提供了團對專案開發方向重要的依據,佇紲落來的幾年中,PLT 團隊為 DrScheme 加入去教學用語言,比如講代數步進器、讀取-求值-輸出循環、constructor-based printer 佮其他真濟發明,推出一套有應用價值的程式教學環境。

二空空一年,核心團隊 ( Felleisen , Findler , Flatt , Krishnamurthi ) 嘛編織佮發行矣𪜶的頭一本教科書《程式設計方法》,融合了真濟𪜶的教學理念。

佇二空一空六月七號,PLT Scheme 予人重號名做 Racket。

代碼範例

楊輝三角形(代碼來自:rosettacode):

運行了後顯示


`'( ( 一 ) ( 一一 ) ( 一二一 ) ( 一三三一 ) ( 一四六四一 ) ) `

畫迵天代八擺的謝爾賓斯基三角形(代碼來自:Racket 官網):

佇代碼的頭一行使用 ` # lang ` 來使用無仝的方言。下跤的範例使用 Racket 的一種靜態類型的方言 Typed Racket 計算階層。

註解

外部連結

  • 官方網站