T (programlama dili) - T (programming language)

T
paradigma Çoklu paradigma : nesne yönelimli , zorunlu , işlevsel , meta
Aile Lisp
Tarafından tasarlandı Jonathan A. Rees
Norman I. Adams
geliştiriciler Jonathan A. Rees
Norman I. Adams
İlk ortaya çıktı 1982 ; 39 yıl önce ( 1982 )
Son sürüm
3.0 / 1 Ağustos 1984 ; 37 yıl önce ( 1984-08-01 )
Yazma disiplini dinamik , güçlü
platformu Çapraz platform
işletim sistemi Çapraz platform
İnternet sitesi mumble .net /~jar /tproject
Tarafından etkilenmiş
Şema
Etkilenen
EuLisp , Joule

T bir olan lehçesi arasında Şeması programlama dili Jonathan A. Rees tarafından 1980'lerin başında geliştirilen Kent M. Pitman ve Norman I. Adams , Yale Üniversitesi'nden dil tasarımı ve uygulanmasında bir deney olarak.

Gerekçe

T'nin amacı, Guy L. Steele Jr. ve Gerald Jay Sussman tarafından Scheme hakkındaki makale dizilerinde geliştirilen tezi test etmektir : Scheme, olağanüstü ifade gücüne sahip pratik bir programlama dili için temel olarak kullanılabilir ve Scheme'in uygulamaları. diğer Lisp sistemlerinden daha iyi performans gösterebilir ve geleneksel makine mimarilerinde genellikle doğası gereği Lisp'ten daha verimli olduğu düşünülen C ve BLISS gibi programlama dillerinin uygulamalarıyla rekabet edebilir . Bunun çoğu, Orbit adlı bir optimize edici derleyici aracılığıyla gerçekleşir .

T, modern Scheme'de bulunmayan bazı özellikleri içerir. Örneğin, T nesne yönelimlidir ve yerel olmayan şekilde değiştirilebilen ve bir modül sistemi olarak kullanılabilen locales adı verilen birinci sınıf ortamlara sahiptir . T için çeşitli ekstra özel formları vardır tembel değerlendirme ve akış kontrolü ve eşdeğer Common Lisp 'ın SETF . T, Scheme gibi, mevcut-devamlı çağrıyı (çağrı/cc) destekler, ancak aynı zamanda adı verilen daha sınırlı bir forma da sahiptir catch. T kılavuzundan, varsayımsal bir uygulaması consşöyle olabilir:

 (define-predicate pair?)
 (define-settable-operation (car pair))
 (define-settable-operation (cdr pair))
 (define (cons the-car the-cdr)
         (object nil
                 ((pair? self) t)
                 ((car self) the-car)
                 ((cdr self) the-cdr)
                 (((setter car) self new-car) (set the-car new-car))
                 (((setter cdr) self new-cdr) (set the-cdr new-cdr))))

Bu örnek, T'deki nesnelerin kapanışlar ve mesaj iletme ile yakından ilişkili olduğunu göstermektedir. Bir ilkel join, iki nesneyi bir araya getirerek kalıtım benzeri bir şeye izin verir .

Limanlar

T, aşağıdakiler dahil birçok donanım platformuna ve işletim sistemine taşındı :

Ayrıca bakınız

Referanslar

Dış bağlantılar