米雪兒 [Common Lisp] 程式設計教學

Lisp 是第二古老的高階語言,僅次於 Fortran,而且目前仍有實際應用。現存的 Lisp 方言中,最主要的即是 Common Lisp 和 Scheme。本系列文章會介紹 Common Lisp。

本系列文章所提到的小工具存放在 cl-portablecl-yautils 專案。該專案採用 MIT 授權,有需要的讀者可自行取用。

文章

[Common Lisp] 程式設計教學:宣告和使用變數 (Variable)

在電腦程式中,資料存在於記憶體。變數本身不是資料,而是資料的標籤。電腦程式藉由變數存取資料。本文介紹在 Common Lisp 中使用變數的方式。 繼續閱讀

[Common Lisp] 程式設計教學:使用 SBCL 或 Clozure CL 建立開發環境

在本文中,我們會建立 Common Lisp 開發環境。由於 Common Lisp 本身是語言標準,沒有官方實作品,現存的 Common Lisp 實作品間都有細微的差異。最好在選定 Common Lisp 實作品後就固定使用同一種 Common Lisp 編譯器或直譯器,以避免反覆修改程式碼。 繼續閱讀

[Common Lisp] 程式設計教學:處理命令列參數 (Command Line Arguments)

在 Common Lisp 實作品中,取得命令列參數的方式並不一致。與其在每個命令列程式中重覆解決這項無法避開的議題,還不如將這個問題封裝成跨平台的函式,日後就以相同的方式來解決。本文介紹在常見的 Common Lisp 實作品中處理命令列參數的方式。 繼續閱讀

[Common Lisp] 程式設計教學:介紹

Lisp 是資訊界上古三大神兵之一,世界第二古老的高階程式語言。這個語言在長期的演進過程中出現過許多方言,包括我們要介紹的 Common Lisp。由於 Lisp 算是冷門的語言,學習這個語言並不是為了實際面的考量。而是藉由學習的過程,體驗不同的範式,以拓展對程式設計的視野。 繼續閱讀

[Common Lisp] 程式設計教學:使用運算子 (Operator)

Lisp 家族語言不嚴格區分運算子和函式,因為 Lisp 使用前綴表示法,不需要區分兩者。像是 Common Lisp 的 + 就是函式而非運算子。本文仍會介紹一些在 Algol 家族語言視為運算子的符號,讓讀者學習幾個 Common Lisp 中實用的指令。 繼續閱讀

[Common Lisp] 程式設計教學:資料型態 (Data Type)

資料型態規範電腦程式中特定資料的合法操作。本文介紹 Common Lisp 的資料型態。由於 Common Lisp 的資料型態較龐雜,先大略看一下即可,不用硬背。寫一陣子 Common Lisp 程式後自然會熟悉。 繼續閱讀

[Common Lisp] 網頁程式設計教學:Hunchentoot 入門

本文介紹使用 Common Lisp 撰寫網頁程式的常見方案,並以兩個簡單的實例說明 Hunchentoot 網頁程式的撰寫方式。 繼續閱讀

[Common Lisp] 網頁程式設計教學:Parenscript 入門

Parenscript 是一個基於 Common Lisp 的轉換器 (translator) 和領域專用語言 (domain-specific language),可將 Common Lisp 程式碼轉為等效的 JavaScript 程式碼。Parenscript 的目的是為了簡化 Common Lisp 程式設計者撰寫網頁程式的過程。 繼續閱讀

[Common Lisp] 程式設計教學:相關的開發工具

各式各樣的開發工具在不同面向協助程式設計者開發應用程式。由於這些工具在學習程式設計的初期不會馬上用到,一開始不用急著全部學起來。以 Common Lisp 來說,先會用 QuickLisp 安裝社群函式庫就夠了。其餘的開發工具行有餘力再慢慢學習即可。 繼續閱讀

[Common Lisp] 程式設計教學:基礎概念

由於 Lisp 家族語言和主流語言差異較大,在本文中,我們會介紹 Lisp 和 Common Lisp 的基本概念,做為撰寫 Common Lisp 程式的準備。 繼續閱讀