TRAC (ohjelmointikieli) - TRAC (programming language)
| Paradigma | yleiskäyttöinen makroprosessori |
|---|---|
| Suunnitellut | Calvin Mooers |
| Ilmestyi ensimmäisen kerran | 1964 |
| Vaikuttanut | |
| Makro SAP | |
| Vaikuttava | |
| SAM76 , ML / I | |
TRAC (ja T- ext R eckoning nd C ompiling) kieli on ohjelmointikieli kehittämä välillä 1959-1964 mukaan Calvin Mooers ja ensimmäinen toteutettu PDP-1 1964 L. Peter Deutsch . Se oli yksi kolmesta "äidinkieli" suosittelema Ted Nelson in Computer Lib . TRAC T64: ää käytettiin ainakin vuoteen 1984 asti, jolloin Mooers päivitti sen TRAC T84: ksi.
Kielen kuvaus
TRAC on puhtaasti tekstipohjainen kieli - eräänlainen makrokieli . Toisin kuin perinteiset tilapäiset makrokielet, kuten kokoonpanoissa, TRAC on hyvin suunniteltu, johdonmukainen ja monessa mielessä täydellinen. Siinä on nimenomaiset syöttö- ja lähtöoperaattorit, toisin kuin tyypillisissä implisiittisissä I / O: ssa syrjäisimmillä makrotasoilla, mikä tekee siitä samanaikaisesti yksinkertaisemman ja monipuolisemman kuin vanhemmat makrokielet.
Se eroaa perinteisistä makrokielistä myös siinä, että TRAC-numerot ovat numeroiden merkkijonoja, jolloin kokonaislukuaritmeettinen (ilman erityisiä enimmäisarvojen rajoituksia) tarjotaan sisäänrakennettujen ("primitiivisten") toimintojen kautta. Väitetysti yksi sen täydellisyyden näkökulma on, että virhekäsite rajoittuu tapahtumiin, kuten tiedostotilan puute ja merkkijonon laajentamista vaativa tulkin työvarasto; mitä monilla kielillä kuvailtaisiin laittomiksi operaatioiksi, käsitellään TRAC-ohjelmassa määrittelemällä tulos (usein tyhjä merkkijono) funktion argumenttijonojen jokaiselle mahdolliselle yhdistelmälle.
TRAC on tekstinkäsittelykieli, jota kutsutaan myös merkkijonokäsittelykieleksi.
Merkkijonot merkkijonoina ovat niin voimakkaita, että TRAC tarjoaa mekanismeja kielen omien syntaktisten merkkien käsittelyyn joko niiden syntaktisissa rooleissa tai kuten mikä tahansa muu merkki, ja itse modifioivalla koodilla on enemmän tunnetta tyypillisten TRAC-ohjelmointitekniikoiden luonnollisista seurauksista kuin olla erityispiirre.
TRAC on APL: n tai LISP: n tapaan ilmaisukeskeinen kieli (toisin kuin tyypillisemmille menettelytapakielille ), mutta toisin kuin APL: ssä, sillä ei ole täysin operaattoreita. Useimmissa tapauksissa kyseessä on puhdas toiminnallinen ohjelmointi .
TRAC on homoiconic .
TRAC: lla on yhteistä LISP: n kanssa syntaksia, johon yleensä liittyy monien sisäkkäisten sulkujen tasoja.
TRAC: n tärkein inspiraatio tuli Douglas McIlroy'n kolmesta artikkelista .
Henkinen omaisuus
Mooers tuotenimellä TRAC pyrkiessään ylläpitämään hallintaansa kielen määritelmää, mikä oli epätavallinen ja tienraivaaja. Yhdessä vaiheessa hän nosti DEC: tä vastaan immateriaalioikeuksien loukkaamista koskevan kanteen väittäen, että sopimus minitietokoneen toimittamisesta TRAC-tulkin kanssa loukasi hänen oikeuksiaan. " Dr. Dobb's Journalin ensimmäisessä numerossa, joka on yksi varhaisimmista julkaisuista henkilökohtaisten tietokoneiden alalla, on vitriolinen pääkirjoitus Mooersia vastaan ja hänen rohkeutensa yrittäessään veloittaa ihmisiä tietokonekielestään." Tavaramerkki ( # 72301892 ) kuitenkin päättyi vuonna 1992. Nimeä on sittemmin käytetty useita kertoja etuyhteydettömiin tietotekniikkaprojekteihin , mukaan lukien nykyinen avoimen lähdekoodin projektinhallintajärjestelmä Trac .
Vaikutus ja käyttö
TRAC toteutettiin myöhemmin PDP-8: lla , PDP-10 : llä ja PDP-11: llä .
TRAC: n innoittamia kieliä on ollut useita. Välttääkseen ongelmat Mooersin kanssa, he nimesivät uudelleen primitiivit ja / tai käyttivät erilaisia metahahmoja. SAM76: n tapauksessa primitiivit lisättiin Claude Kaganin mukaan "koska TRAC on vauvapuhetta". MINTin tapauksessa primitiivejä lisättiin, jotta pääsy hienostuneeseen tekstieditorikoneistoon.
- yksi havaittu TRAC-puute oli täydellisen laajennuksen puute: jotkut TRAC-primitiiviset toiminnot ovat herkkiä nollan (nollamerkin) ja olemattoman (ei-erotetun) argumentin erottamiselle, mutta sen viimeisen ei-nolla-argumentin lisäksi käyttäjä määritelty funktio ei voi tehdä eroa. SAM76 oli TRAC: n kaltainen kieli, joka eliminoi tuon rajoituksen.
- Russ Nelson otti käyttöön emacs- laajennuskielen nimeltä MINT ( M INT I s N ot T RAC). Tätä kieltä käyttää FreeDOS- editori FreeMACS .
TRTP: tä käytti FTP-ohjelmisto PC / TCP-tuotteessaan modeemivalitsimen komentosarjakielenä.
TRAC: ta käytettiin myös käyttöliittymänä Digital Productions Cray-renderöijässä elokuville, mukaan lukien The Last Starfighter .
Esimerkkiohjelmasta
TRAC T84 -skripti Fibonacci-numeroiden laskemiseksi:
:(s,fibo,( :(ei,<1>, 1, 0,( :(ei,<1>, 2, 1,( :(aa, :(ri,fibo,:(as, <1>,1)),:(ri,fibo,:(as, <1>,2))) )) )) ))` :(mw,fibo)'
Katso myös
- TTM (ohjelmointikieli) , TRAC: n innoittama ohjelmointikieli
Viitteet
Ulkoiset linkit
- TRAC-säätiö (arkistoitu)
- TRAC, menettelytapa, joka kuvaa reaktiivisen kirjoituskoneen kieltä julkaisussa ACM Communications, nide 9, numero 3, maaliskuu 1966.
- Andrew Walkerin TRAC-tietosivu
- TRAC merkintä on HOPL Encyclopedia of Computer kielten
- TRAC käyttöönottoprojekti on SourceForge .
- Suullinen historian haastattelu Calvin N.Mooersin ja Charlotte D.Mooersin kanssa Charles Babbage -instituutissa . Haastattelussa käsitellään tiedonhaun ja ohjelmointikielen tutkimusta toisesta maailmansodasta 1990-luvun alkuun saakka.