A Cayenne nyelv

Szintaxis



Szintaxis

A Cayenne szintaxisa nagyon közel áll a Haskell nyelv szintaxisához.
Lexikális struktúra
Azonosítók
Az azonosítók betűvel kezdődnek, majd követheti ezt több betű, számok, sima aposztróf ('), vagy dollár jel ($). Ha egy azonosító dollár jelet tartalmaz akkor az egy modul azonosító és csak modulok megnevezésére használható.

Néhány egyszerű azonosító: x, x', foo, Bool.
Néhány modul azonosító: foo$bar, System$Bool

Fenntartott szavak
Néhány azonosító fentartott szó a nyelvben, ezért nem használható változónévként:
abstract, case, concrete, data, do, in, interface, let, module
of, open, native, private, public, sig, struct, type, use
Operátorok
Az operátorok karakterek sorozatából épülnek fel:
! @ # $ % & * + . / < = > ? \ ^ | : - ~ ,
ˇ ˘ Ł ¤ Ą ¦ § ¨ © Ş « ¬ ­ ® Ż ° ± ˛ ł ´ µ
¶ · ¸ ą ş » Ľ ˝ ľ ż × ÷
Fenntartott operátorok
Néhány operátor fentartott a rendszer által:
::, =, @, \, |, #, ->, |->, ., <-
Operátor precedenciák
Operátor precedenciák halmaza:
OperátorAsszociativitásPrecedencia
->,|->jobb0
===none1
,bal1
||jobb2
&&jobb3
==,/=,<=,>=,<,> none4
:,++jobb5
+,-bal6
*,/bal7
·jobb8
otherbal9
Literálok
Numerikus literálok
Numerikus literálok számok egy nemüres sorozataiból állnak pl: 4711.

Numerikus literálok típusa: System$Int.Int.

Karakter literálok és Sztring literálok
Karakter literálokat aposztrófok közé írjuk, mint pl. 'a', a sztringeket pedig idézőjelek közé, pl. "Hello".

A charesc kategória is magában foglalja a hordozható reprezentációit a következő karaktereknek "alert" (\a), "backspace" (\b), "form feed" (\f), "new line" (\n), "carriage return" (\r), "horizontal tab" (\t), and "vertical tab" (\v).

Karakter literálok típusa System$Char.Char valamint a sztring literálok típusa System$String.String.

Szerkezet (Layout)
Cayenne ugyan azokat a szerkezeti szabályokat használja mint a Haskell.