Kategorinen abstrakti kone

Kategorinen abstrakti kone (CAM) on ohjelman laskentamalli [1] , joka säilyttää applikatiivisen, funktionaalisen tai kompozicionaalisen tyylin piirteet. Se perustuu aplikatiivisen laskennan tekniikkaan .

Yksi lähestymistapa toiminnallisten kielten toteuttamiseen on superkombinaattoripohjainen kone tai David Turnerin SK-kone . Kategorisen abstraktin koneen käsite tarjoaa vaihtoehtoisen lähestymistavan[ määritä ] . QAM:n rakenne sisältää syntaktisia, semanttisia ja laskennallisia komponentteja[ määritä ] . Syntaksi perustuu de Bruijn-formalismiin, jonka käyttö ratkaisee sidottujen muuttujien käytön aiheuttaman vaikeuden. Semantiikka on ilmaisumahdollisuukseltaan samanlainen kuin SK-kone. Laskelmat suoritetaan samalla tavalla kuin Landinin SECD- koneessa . Tällaisten asemien ottaminen[ selventää ] Kategorinen abstrakti tarjoaa johdonmukaisen perustan syntaksille, semantiikalle ja laskentateorialle. Tällainen integrointi ei tapahdu ilman toiminnallisen ohjelmointityylin vaikutusta.

Kategorisen abstraktin koneen käsite syntyi 1980-luvun puolivälissä, ja se toimii ohjelmoijien laskentateorian muunnelmana.[ määritä ] . Teoreettisesta näkökulmasta kategorista abstraktia konetta edustaa karteesinen suljettu kategoria ja se on upotettu kombinatoriseen logiikkaan . Konekäskyt ovat kombinaattoriobjekteja, jotka muodostavat yhdessä kombinatorisen logiikan erityisen muunnelman - kategorisen kombinatorisen logiikan. Kategorinen abstrakti kone on selkeä ja matemaattisesti oikea esitys toiminnallisista ohjelmointikielistä. Konekoodi voidaan optimoida käyttämällä yhtäläisiä lausekkeita . Erityisen selkeitä ovat erilaiset laskennalliset mekanismit - rekursio , laiska arviointi - sekä mekanismit parametrien välitykseen - kutsu nimen mukaan, kutsu arvojen mukaan jne. Teoreettisesta näkökulmasta katsottuna kategorisessa abstraktissa koneessa säilyy kaikki järjestelmän edut. oliolähtöinen lähestymistapa ohjelmointiin .

De Bruijnin formalismi

De Bruijn - formalismi on tekniikka sidottujen muuttujien ( muodolliset parametrit ) uudelleennimeämiseksi, jonka avulla voit välttää sidostörmäykset , kun muodolliset parametrit korvataan todellisilla parametreilla. Sitä käytetään käännettäessä ohjelmakoodia KAM:lle. Tätä uudelleennimeämistekniikkaa kutsutaan myös de Bruijn-koodaukseksi ja se mahdollistaa itse asiassa λ-laskennan laitteiston käytön samoilla oikeuksilla kuin kombinatorisen logiikan laitteistoa .

Katso myös

Muistiinpanot

  1. Cousineau G., Curien P.-L., Mauny M. Kategorinen abstrakti kone. — LNCS, 201, Toiminnalliset ohjelmointikielet -tietokonearkkitehtuuri.-- 1985, s. ~50-64.

Kirjallisuus