PicoLisp
編程範型 | 函數式, 過程式, 面向對象, 聲明式, 反射式, 元編程 |
---|---|
語言家族 | Lisp |
設計者 | Alexander Burger |
釋出時間 | 1988年 |
當前版本 |
|
型態系統 | 鴨子, 動態, 強類型 |
實作語言 | LLVM, PicoLisp |
系統平台 | IA-32, x86-64, Arm64 |
作業系統 | POSIX |
許可證 | MIT |
文件擴展名 | .l |
網站 | picolisp |
衍生副語言 | |
Ersatz PicoLisp[2], miniPicoLisp[3] |
PicoLisp是Lisp語言的一個方言。它運行在包括Linux和其他兼容「可移植作業系統接口」(POSIX)的作業系統之上。它的顯著特徵是簡單性和極簡主義。它建造一個內部數據類型之上:單元(cell)。在語言層面上,編程者可以使用由單元表示的三種數據類型(數、符號和列表),由單元結束處的位元來區分[4]。它是在MIT許可證(X11)下發行的自由及開放原始碼軟件。
特徵
函數可以接受任意類型和數目的實際參數。宏只在少有的情況下需要並使用quote
函數實現。PicoLisp不包含Lisp的lambda
函數。這是因為它變更了quote
函數,使其不求值的返回所有它的實際參數,而不再只是car
第一個實際參數[5]。
一個特殊特徵是內在的增刪查改(CRUD)功能。持久符號是頭等對象。它們在訪問的時候自動的從數據庫文件裝載,並在有修改的時候寫回。應用使用實體和聯繫的類層級來書寫。
其他特徵包括:Prolog引擎、數據庫引擎和數據庫查詢、 分佈式數據庫,內聯C語言函數和本機C函數調用,子進程管理、進程間通信、瀏覽器圖形用戶界面(GUI)和國際化與本地化。
引用
- ^ https://software-lab.de/down.html.
- ^ Burger, Alexander. Ersatz PicoLisp. Software Lab. 8 May 2013 [2021-10-30]. (原始內容存檔於2017-11-12).
- ^ Embedded Programming - MiniPicoLisp. [2021-10-30]. (原始內容存檔於2021-10-30).
- ^ Burger, Alexander. Internal structures. Software Lab. [18 November 2018]. (原始內容存檔於2016-12-25).
- ^ Even small details make a difference!. [2021-10-30]. (原始內容存檔於2016-08-26).