Şema 48 - Scheme 48

Şema 48
ParadigmalarÇok: işlevsel, prosedürel, meta
AileLisp
Tarafından tasarlandıRichard Kelsey,
Jonathan Rees
GeliştiricilerRichard Kelsey,
Jonathan Rees
İlk ortaya çıktıMart 1987; 33 yıl önce (1987-03)
Kararlı sürüm
1.9.2 / 12 Nisan 2014; 6 yıl önce (2014-04-12)
Yazma disipliniDinamik, kuvvetli, Gizli
DürbünSözcüksel
işletim sistemiÇapraz platform
LisansBSD
İnternet sitesis48.org

Şema 48 bir Programlama dili, bir lehçe dilin Şema, kullanan bir uygulama çevirmen hangi yayar bayt kodu.[1] Bir yabancı işlev arabirimi arama için fonksiyonlar dilden C[2] ve bir kütüphane için düzenli ifadeler (regex),[3] ve Taşınabilir İşletim Sistemi Arayüzü için bir arayüz (POSIX ).[4] Taşınabilir Şema kitaplığı tarafından desteklenir SLIB ve Şema kabuğunun temelidir Scsh.[1] Akademik araştırmada kullanılmıştır.[5] Bu ücretsiz ve açık kaynaklı yazılım altında yayınlandı BSD lisans.

İlk versiyon Ağustos 1986'da 48 saat içinde yazıldığı için "Şema 48" olarak adlandırılır.[6] Yazarlar şimdi[ne zaman? ] 48 saat içinde anlaşılması amaçlandığını söylüyor.[kaynak belirtilmeli ]

Uygulama

Şema 48, bir sanal makine yorumlamak bayt kodu, C'ye çevrilebilen ve yerel bir ikiliye derlenebilen PreScheme adlı sınırlı bir Scheme lehçesinde yazılmıştır. PreScheme veya Pre-Scheme, Scheme'nin arzu edilen özelliklerinin çoğunu korurken, C'nin verimliliği ve düşük seviyeli makine erişimi ile statik olarak yazılmış bir Scheme lehçesidir.

Ön şema oldukça ilginçti. Sanırım Kelsey bunun üzerine bir makale yayınladı. Bir Scheme sistemine yükleyebilmeniz ve kodu çalıştırabilmeniz açısından Scheme idi. Ancak kısıtlayıcıydı - tam Hindley-Milner statik tip çıkarımına izin veren bir tarzda yazmanızı gerektiriyordu ve tüm yüksek dereceli prosedürler, derleme zamanında beta ile değiştirildi, yani * doğrudan * bir ön şema programını " C düzeyinde verimlilikle doğal "C kodu. Yani, ön şemayı düşük seviyeli kod için C'ye gerçekten hoş bir alternatif olarak görebilirsiniz. Ve bir anahtarı çevirmeden ve C koduna çevirmeden önce, seçtiğiniz etkileşimli Şema geliştirme ortamında ön şema programlarınızın hatalarını ayıklayabilirsiniz, çünkü ön şema sadece kısıtlanmış bir Şema idi. Şema 48 bayt kod yorumlayıcısı, ön şemada yazılmıştır. Prescheme bir tür öldü - yazdığı akademik makalenin ötesinde, Kelsey hiçbir zaman bunu belgelemek ve diğer insanların kullanabileceği bağımsız bir araca dönüştürmek için zamanı olmadı (Ian Horswill'in Northwestern'deki grubu bu iddianın bir istisnasıdır - ön şema kullandılar.

— Olin Shivers, "Olin Shivers: T'nin Tarihi"[7]

Referanslar

  1. ^ a b Kelsey, Richard; Rees, Jonathan. "Şema 48". S48.org. Alındı 2018-12-05.
  2. ^ Kelsey, Richard; Rees, Jonathan; Sperber, Mike (10 Ocak 2008). "The Incomplete Scheme 48 Reference Manual for release 1.8: Mixing Scheme 48 and C". S48.org. Alındı 2018-12-05., 1.8 sürümü için kılavuzda Bölüm 8.
  3. ^ Kelsey, Richard; Rees, Jonathan; Sperber, Mike (10 Ocak 2008). "Eksik Şema 48 1.8 sürümü için Referans Kılavuzu: Normal İfadeler". S48.org. Alındı 2018-12-05., Bölüm 5, sürüm 1.8 için kılavuzda.
  4. ^ Kelsey, Richard; Rees, Jonathan; Sperber, Mike (10 Ocak 2008). "The Incomplete Scheme 48 Reference Manual for release 1.8: Access to POSIX". S48.org. Alındı 2018-12-05., Bölüm 9, sürüm 1.8 için kılavuzda.
  5. ^ Çağrı / bilgi için son vardiya: doğrudan vardiya ve sıfırlama uygulaması
  6. ^ Rees, Jonathan A. "JAR'ın Şeması 48 Sayfa". Jonathan A. Rees. Mumble.net. Alındı 2018-12-05.
  7. ^ Titriyor, Olin. "Olin Shivers: T'nin Tarihi". PaulGraham.com. Alındı 2018-12-05.

Dış bağlantılar