POP-2(也稱為POP2,Package for Online Programming:線上編程包),是Robin Popplestone和Rod Burstall在大約1970年於愛丁堡大學開發的程式語言,起源於更早的語言POP-1(Robin Popplestone在1968年開發,最初叫做COWSEL)[1]。它根源於很多來源:LISP和ALGOL 60語言,和來自Peter J. Landin的理論上的想法。它使用增量式編譯器,這給與它某些直譯語言的靈活性,包括允許在執行時間定義新函數,和在程式執行時修改函數定義(二者都是動態編譯的特徵),而沒有直譯語言的開銷。
影響
POP-2是具有動態繫結和動態(執行時間)確定類型的函數式語言,它的語法是ALGOL風格的,而它的特徵受到了Strachey和Landin工作的重大影響。它有一些顯著特徵,比如在部份應用中具有的一種形式的函數閉包,和受到Landin的J算子啟發的一種逃離線制(jumpout
函數),它扮演了與Lisp中的catch
/throw
類似的角色。
POP-2對ML的設計有着重要的影響,這來自它的記錄結構,這裏定義了數據構造子和並以欄位名字作為選擇子,和它的section ... endsection
指令,這是提供了初步模組性支援的一種簡單名字空間管理機制,ML後來把它替代為local ... in ... end
。[2]
參見
- POP-11程式語言
- Poplog編程環境
參照
參考書目
外部連結
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.