Az integer típusra a +, -, *, div és mod függvény-minták alkalmazhatók, ezek a szokásos aritmetikai műveleteket jelentik. Az egész értékű kifejezésekben a szokásos infix jelölést használhatjuk. A BetaEnv könyvtárban a Min, Max és Abs függvények is megtelálhatók:
Kis egész értékek ábrázolására használhatjuk a ShortInt típust is (ez a Mjølner rendszerben 16 bites, előjeles egész). E típusnak nem létezik az object megfelelője.
A boolean típushoz a not, and, or és xor függvény-minták definiáltak. Használatuk a szokásos infix jelöléssel történik (a not prefix). A false és true konstans minták a logikai "igaz" és "hamis" értékeket reprezentáló objektumok.
A char típus egy ASCII karaktert reprezentál. Minden karakter egy [0,255] intervallumba eső egész értéknek felel meg. A karakterek típuskompatibilisek az integerekkel, kifejezésekben felcserélhetőek egymással. A char objektumokra alkalmazhatóak az integer típus műveletei. Például az ’a’ + 1 -> b értékadás az ’a’ ASCII érték plusz egyet rendel a b változóhoz. Mivel az ’a’ ASCII értéke 97, és a ’b’ ASCII értéke 98, a b változó értéke a ’b’ karakter lesz.
A lebegőpontos számokat reprezentáló real típusra a +, -, * és / aritmetikai műveletek definiáltak. (A Mjølner BETA System jelenlegi implementációja egy 64-bites reprezentációt alkalmaz.)
Relációs operátorok: Az =, <>, <, <=, >, >= relációk a szokásos jelentéssel bírnak, és alkalmazhatók az integer, boolean, char és real objektumokra. (A boolean-ra: a 'false' minta olyan objektumokat ír le, melyek kisebb-egyenlőek, mint azok az objektumok, melyeket a 'true' minta ír le. A char objektumokra az ASCII kód szerinti sorrend érvényes.)
A deklarált változók automatikus kezdeti értékei: az Integer objektumok kezdeti értéke 0; a char objektumok kezdeti értéke 0 (null karakter); a boolean objektumok kezdeti értéke a 'false'; a real objektumok kezdeti értéke 0.0.
A BetaEnv könyvtárban előre definiált konstansok, melyek az egész és valós típusok minimális és maximális értékét tartalmazzák: MinInt és MaxInt, illetve MinReal és MaxReal.
Van egy beépített szöveg típus, a text, amit karaktertömbbel valósítottak meg.
Ha a programban leírjuk egy változó nevét, akkor az a változó által mutatott objektumot jelenti. Külön kell jelölni, ha az objektum címére van szükség. Az alaptípusokra nem hozhatunk létre dinamikus referenciát, csak statikusat, viszont létezik minden alaptípushoz egy-egy becsomagoló minta (ezek név szerint: IntegerObject, CharObject, RealObject, BooleanObject), melyekre már lehet dinamikus referenciát állítani.
A tömböket csak egész számokkal lehet indexelni, az első elem indexe 1.
Példa - tömbök deklarációja:
Értékadás a tömbök elemeinek:
A BetaEnv könyvtár három műveletet biztosít a tömbökre:
R.range | Visszatérési értéke az R tömb mérete. |
n->R.new | Egy n elemű tömböt allokál dinamikusan. |
n->R.extend | Az R tömböt kibővíti további n darab elemmel. |
A tömb ismeri a méretét, a "my_array.range" formában lehet rá hivatkozni.
A tömb mérete dinamikusan változtatható: az "n->my_array.extend;" utasítás n-nel növeli a my_array tömb méretét.
Az "n->R.new;" utasítás hatására egy új n elemű tömb allokálódik a memóriában. A régi elemek elérhetetlenné válnak (ez már a garbage collector dolga), az új elemek felveszik alapértelmezett értéküket.
Hivatkozhatunk egy tömb résztömbjére. A my_array i-edik elemétől j-edik eleméig tartó résztömbje: my_array[i:j]
Egy tömb értékül adható egy másik tömbnek egyszerű értékadással, például: "my_array->your_array;"
ez után a your_array mérete azonos lesz a my_array méretével.
Példa: Quicksort
Ha egy mintában nem szerepel programtörzs és tagfüggvény - vagyis a elhagyjuk a do részt, illetve a deklarációs részben nem szerepel újabb mintadeklaráció -, akkor a mintát felfoghatjuk rekord típusnak. Ha az enter és exit részben felsoroljuk a deklarált adattagokat, akkor a mintából példányosított objektum adattagjai egyszerre feltölthetők, illetve az objektum értékül adható a -> operátorral. Egy objektum adattagjait a pont tagkiválasztó (szelektor) operátorral érhetjük el.
A BETÁ-ban nincs unió és halmaz típus, a tömbön kívüli egyetlen típuskonstrukciós eszköz a minta. A minta felfogható úgy, mint más programnyelvekben az osztály, azzal a kiegészítéssel, hogy minden mintának megadható egy programtörzs, paraméterek és visszatérési érték.