Maclisp - 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 ; 55 yıl önce ( 1966-07 )
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.

ö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