Jelkészlet
Az A++ jelkészlete meghatározza a változókhoz való hozzáférést a funkciókon belül.
A funkciókon belüli változók lehetnek "lambda-kötésűek" vagy "szabadok". A "lambda-kötésű" változók azonosítják a
funkció argumentumát.
A "szabad" változókat a funkció örökölt környezetében kell definiálni.
A jelkészlet nyelvezetében a lambda absztakció örökli az összes változót
azokból az absztrakciókból, amikben definiálva van.
- logikai: true, false, if, not, and, or
- numerikus: natural numbers, zerop, succ, pred, add, sub, mult
- relációk: equaln, gtp, ltp, gep
- rekurziók
- listák létrehozása és feldolgozása: cons, car, cdr, nil, nullp, length, remove, nth, assoc
- magasabb rendű funkciók: compose, curry, map, mapc, map2, filter, locate, for-each
- halmaz műveletek: memberp, union, addelt
- iteratív vezérlő struktúra: while
A linkelt logika használatával teremti meg az A++ a kapcsolatot a fizikai világgal.
Az alább felsorolt primitívek segítik a számítógép perifériáinak használatát (monitorra kiírás, nyomtatás, tárolók használata...):
- vmzero: A
"0"
-ra utasítja a gépet
- vmtrue: A
"true"
boolean értékre utasítja a fordítót
- vmfalse: A
"false"
boolean értékre utasítja a fordítót
- double-quoted-string: Ez az absztrakció "mutatja be" a stringeket az A++-ban. A
"load"
primitív kontextusában
kell alkalmazni. Ezáltal az A++ fájlból való indítása valósulhat meg.
- single-quoted-string: Ez az absztrakció a szimbólikus konstansokat vezeti be.
Az objektum orientált programozás kontextusában az objektumoknak küldendő üzenetekre használható.
- incr: A virtuális gépek egyenkénti növelésére használatos.
- print: Segítségével egy szám, vagy egy boolean értékét lehet kiíratni a képernyőre.
- load: Egy A++ kód fájlból indítására alkalmas.
- equalx: Engedélyezi az adatok fordítását nem Church számként (a számokat közvetlenül az ARS-ből kapja)
- quit: Program végrehajtásának befejezésére szolgál.
A következő primitív absztrakciók az A++-lambda absztrakciói:
- ndisp!: numerikus értéket irat ki
- bdisp!: logikai értéket irat ki
- ldisp!: egy listát irat ki
A fent felsorolt primitívek kapcsolata:
Azonosítók
Literálok
Megjegyzések