Maclisp - Maclisp
paradigmalar | Çoklu paradigma : işlevsel , prosedürel , yansıtıcı , meta |
---|---|
Aile | Lisp |
Tarafından tasarlandı |
Richard Greenblatt Jon L. Beyaz |
geliştirici | MIT : MAC Projesi |
İlk ortaya çıktı | Temmuz 1966 |
Yazma disiplini | dinamik , güçlü |
uygulama dili | Assembly dili , PL/I |
Platformu | PDP-6 , PDP-10 |
işletim sistemi | Uyumsuz Devre Paylaşım Sistemi , TOPS-10 , TOPS-20 , Multics |
Dosya adı uzantıları | .lisp , .fasl |
Tarafından etkilenmiş | |
lisp 1.5 | |
Etkilenen | |
Ortak Lisp |
Maclisp (veya MACLISP , bazen MacLisp veya MacLISP olarak adlandırılır ) bir programlama dilidir , Lisp dilinin bir lehçesidir . Bu ortaya çıkmıştır Massachusetts Institute of Technology 'in (MİT) Proje MAC 1960'ların sonunda (bu önek türetilmiş olan) ve Lisp'te 1.5 dayanıyordu. Richard Greenblatt , PDP-6 için orijinal kod tabanının ana geliştiricisiydi ; Jon L. White, daha sonraki bakım ve geliştirmeden sorumluydu. Maclisp adı , 1970'lerin başında, onu diğer PDP-6 Lisp çatallarından , özellikle BBN Lisp'ten ayırmak için kullanılmaya başlandı .
Tarih
Maclisp, Lisp 1.5'in soyundan gelmektedir . Maclisp , değişkenlerin dinamik değerlerine erişmek ve bunları depolamak için bir değer hücresi kullanarak Lisp 1.5'ten ayrılır ; Lisp 1.5, bir değişkenin değerini belirlemek için bir ilişkilendirme listesinin doğrusal bir aramasını kullandı. Maclisp değişken değerlendirmesi daha hızlıdır ancak farklı değişken anlambilimine sahiptir. Maclisp ayrıca giriş/çıkış (G/Ç) olarak adlandırılan daha okunabilir giriş ve çıkış yapmak için okuyucu makroları kullandı . Girmek yerine , aynı s-ifadesini almak için girilebilir . Her iki uygulama da işlevleri özellik listesine koysa da, Maclisp işlevleri tanımlamak için farklı sözdizimi kullanır. Maclisp ayrıca isteğe bağlı yükleme özelliğine sahiptir.
(QUOTE A)
'A
Maclisp , Uyumsuz Zaman Paylaşım Sistemini (ITS) çalıştıran Digital Equipment Corporation PDP-6 ve PDP-10 bilgisayarlarında başladı ; daha sonra diğer tüm PDP-10 işletim sistemlerine, örneğin Zaman Paylaşımı / Toplam İşletim Sistemine , TOPS-10 ve TOPS-20'ye taşındı . Orijinal uygulama oldu Assembly dilinde ama bir sonraki uygulama Multics kullanılan G / PL . Maclisp, ömrü boyunca önemli ölçüde gelişti. Diğer dil sistemlerinde tipik olarak ana sürüm numaralarına karşılık gelen ana özellikler eklendi.
Maclisp uygulamak için kullanıldı Macsyma bilgisayar cebir sistemi (CAS) veya sembolik cebir programı. Macsyma'nın gelişimi ayrıca Maclisp'te çeşitli özellikleri de beraberinde getirdi. SHRDLU blokları dünya programı Maclisp yazılmış edildi ve dil yaygın kullanımda bu yüzden yapay zeka 1980'lerin yoluyla (AI) araştırma toplumu. Planner ve Scheme gibi diğer programlama dillerini uygulamak için de kullanıldı . Multics Maclisp ilk Lisp tabanlı uygulamak için kullanıldı emacs'in .
Maclisp, etkili bir Lisp uygulamasıydı, ancak artık aktif olarak sürdürülmüyor. Artık PDP-10 öykünücülerinde çalışır ve erken AI programlarıyla denemeler yapmak için kullanılabilir.
1955 | 1960 | 1965 | 1970 | 1975 | 1980 | 1985 | 1990 | 1995 | 2000 | 2005 | 2010 | 2015 | 2020 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
LISP 1, 1.5, LISP 2 (terk edilmiş) | ||||||||||||||
Maclisp | ||||||||||||||
interlisp | ||||||||||||||
MDL (programlama dili) | ||||||||||||||
Lisp Makinesi Lisp | ||||||||||||||
Şema | R5RS | R6RS | R7RS küçük | |||||||||||
NIL | ||||||||||||||
ZIL (Zork Uygulama Dili) | ||||||||||||||
Franz Lisp | ||||||||||||||
Ortak Lisp | ||||||||||||||
Le Lisp | ||||||||||||||
T | ||||||||||||||
Chez Programı | ||||||||||||||
Emacs Lisp | ||||||||||||||
AutoLISP | ||||||||||||||
PicoLisp | ||||||||||||||
EuLisp | ||||||||||||||
ISLISP | ||||||||||||||
OpenLisp | ||||||||||||||
PLT Şeması | raket | |||||||||||||
GNU Guile | ||||||||||||||
Görsel LISP | ||||||||||||||
Clojure | ||||||||||||||
yay | ||||||||||||||
LFE | ||||||||||||||
Merhaba |
özellikleri
Maclisp küçük, sabit sayıda veri türüyle başladı : cons cell, atom (daha sonra sembol olarak anılacaktır ), tamsayı ve kayan noktalı sayı . Daha sonraki eklemeler şunları içeriyordu: asla birinci sınıf veri türleri olmayan diziler ; keyfi kesinlikli tamsayılar (bignumlar); dizeler ; ve demetler . Tüm nesneler (inumlar hariç) işaretçiler olarak uygulandı ve veri türleri, küçük sayılar (inumlar) için özel bir durumla, işaret ettiği bellek bloğu tarafından belirlendi.
Programlar yorumlanabilir veya derlenebilir . Derlenen davranış, SPECIAL olarak bildirilmedikçe yerel değişkenlerin derlenmiş kodda varsayılan olarak sözcüksel olması ve CAR ve CDR gibi satır içi işlemler için hata denetimi yapılmaması dışında yorumlananla aynıydı. Ncomplr derleyicisi (1970'lerin ortası) Lisp dillerine hızlı sayısal destek sunarak , veri tipinde gönderilen yorumlayıcı rutinleri çağırmak yerine aritmetik için makine kodu (talimatlar) üretti . Bu, Lisp aritmetiğini skaler işlemler için hız açısından Fortran ile karşılaştırılabilir hale getirdi (ancak Fortran dizisi ve döngü uygulaması çok daha hızlı kaldı).
Orijinal sürüm, PDP-10'un 18 bitlik kelime bellek adresiyle sınırlıydı ve uygulamayı yalın ve basit tutmak için büyük çaba harcandı. Multics Maclisp çok daha büyük bir adres alanına sahipti, ancak kullanımı maliyetliydi. PDP-10'un bellek ve işlem gücü aşıldığında, Lisp Makinesi icat edildi: Lisp Makinesi Lisp , Maclisp'in doğrudan torunudur. Birkaç başka Lisp lehçesi de kullanılıyordu ve topluluğu birleştirme ihtiyacı, modern Common Lisp diliyle sonuçlandı .
İsim
Maclisp, Project MAC için seçildi ve Apple'ın onlarca yıl öncesine dayanan Macintosh (Mac) bilgisayarıyla ilgisi yok . Macintosh için çeşitli Lisp sistemlerinin Maclisp ile özel bir benzerliği yoktur.
Referanslar
Dış bağlantılar
-
http://www.softwarepreservation.org/projects/LISP/maclisp_family/ Maclisp'in bir kaynakçasını içerir.
- John L. Beyaz. Bir Geçici LISP Kullanıcı Kılavuzu. Yapay Zeka Notu No. 190, MAC Projesi, Massachusetts Teknoloji Enstitüsü, Mart 1970, 87 sayfa. ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-190.pdf "'MACLISP', MAC Projesinin Yapay Zeka Grubunda kullanılan LISP programlama dilinin PDP/6 uygulamasını ifade eder. "
- "1973 ve 1974'te David A. Moon , Multics altında Honeywell 6180'de MacLisp'i uygulamak için bir çabaya öncülük etti. Bu projenin bir parçası olarak Maclisp için, aşina olunan 'Moonual' olarak bilinen ilk gerçek kapsamlı referans kılavuzunu yazdı. " [Steele ve Gabriel 1993]
- Jon L. White [JONL], Eric Rosen [ECR], Richard M. Stallman [RMS], Guy L. Steele Jr. [GLS], Howard I. Cannon [HIC], Bob Kerns [RWK]. LISP Haberleri. MacLisp sürüm notları.
- Jon L. Beyaz. LISP: Program Veridir: MacLISP'e Tarihsel Bir Bakış. 1977 MACSYMA Kullanıcıları Konferansı Tutanakları. NASA Bilimsel ve Teknik Bilgi Ofisi (Washington, DC, Temmuz 1977), sayfalar 181–189. PDF
- McCarthy, John ; Abrahams, Paul W.; Edwards, Daniel J.; Hart, Timothy P.; Levin, Michael I. (1985) [1962]. LISP 1.5 Programcı El Kitabı (2. baskı). MİT Basın . ISBN'si 0-262-13011-4.
- Ay, David (1974). Maclisp Referans Kılavuzu (PDF) .
- Gözden Geçirilmiş Maclisp Kılavuzu (1983), Kent Pitman
- Bernard Greenberg tarafından yazılan Multics MACLISP derleyicisi (1977)