Macintosh Common Lisp 的傳承:連結 Lisp 與 Mac OS

對於許多在經典 Mac OS 成長的開發者而言,Macintosh Common Lisp(MCL)這個名稱喚起了一段快速原型開發與深度系統整合的特定時代。在其巔峰時期,MCL 不僅僅是一個編譯器;它是一個完整的整合開發環境(IDE),讓開發者能在 Apple 平台上以原生的感受與功能,運用 Common Lisp 的強大力量。

了解 MCL 不只是一次計算史的課程;它也是一門研究,說明高階函式語言如何與低階系統 API 緊密耦合,從而打造出極具生產力的開發體驗。

整合的力量:Macintosh Toolbox

MCL 的決定性特徵在於它與 Macintosh Toolbox(以及後來的 Apple Carbon)之間的無縫整合。當時許多 Lisp 實作都在真空中運作,或是依賴通用的封裝器;MCL 則提供了雙層的系統存取方式:

  1. 低階介面: 允許開發者直接在 Lisp 中操作原生 Mac OS 資料結構。這對於效能敏感的任務以及實作尚未被高階 API 支援的功能至關重要。
  2. 高階介面: 更便利、符合 Lisp 風格的層級,簡化常見任務,使開發週期更快。

這種協同作用使 MCL 成為快速應用程式開發的強大引擎。能在執行中的程式上即時修改,並在原生 Mac 視窗中立即看到結果,這種體驗具有革命性。Peter Norvig 在 2001 年 Dr. Dobb's Journal 的文章中也提到這點:

"MCL 是我在 Macintosh 平台上使用任何語言時最喜愛的 IDE,且是其他平台上 IDE 的強勁競爭者。"

動盪的演變史

MCL 的開發始於 1984 年,隨著底層硬體從 Motorola 68k 轉向 PowerPC 架構,接下來的數十年裡,它經歷了多次名稱變更與所有權轉移。

68k 時代

在早期,該軟體因商業 Lisp 市場的變化而擁有多個名稱:

  • Coral Common Lisp(1987)
  • Macintosh Allegro Common Lisp(1987)
  • Apple Macintosh Common Lisp(1988)

PowerPC 轉型

到 1994 年,實作被重新命名為 Digitool Macintosh Common Lisp,標誌著在基於 PowerPC 的 Mac 上進入穩定成長期。

從專有到開源

在大部分生命週期中,MCL 都是專有產品。然而,2000 年代後期為了保存這項工具的遺產,開始向開源轉變。

  • MCL 5.2: 最終開源,讓社群得以取得核心實作。
  • RMCL: 2009 年發布的另一個版本,基於 MCL 5.1,設計可在 Rosetta(Apple 的二進位翻譯軟體,讓 PowerPC 程式在 Intel Mac 上執行)下運行,確保環境能在硬體轉換期間存活。

持續的影響:Clozure CL

MCL 最重要的遺產之一是 Clozure CL(CCL) 的誕生。最初稱為 OpenMCL,CCL 於 1998 年作為一個獨立維護的分支出現。與其母系統不同,CCL 發展成跨平台的實作,延續了 MCL 專案的精神,同時將其影響力擴展至 Apple 生態系統之外。

今天,雖然 MCL 可能只是經典 Mac OS 的遺跡,但它的影響仍在我們思考高階語言與原生作業系統環境之間關係的方式上持續存在——證明了正確的整合能將開發環境變成程式設計師思維的真正延伸。

Sources