Linux – Friheden til at programmere: Version 2.5.20050330 – 2020-12-31 | ||
---|---|---|
forrige | Kapitel 2. Vælg et sprog | næste |
OCaml er et temmelig specielt programmeringssprog, idet det tillader at man blander flere paradigmer end sædvanligt; objektorienteret, imperativt og funktionsorienteret. ...
Fra 1987.
Statisk typet, (men) vælger automatisk den mest generelle type (betydning) af et udtryk.
Funktioner er en slags data.
Heltal regnes "modulo" $2^30$ på 32-bit-systemer og modulo $2^62$ på 64-bit-systemer $(2^30-1)+1 = -(2^30)$.
Skelner mellem "strukturel" og "fysisk" lighed ("=" og "=="). Med "fysisk" lighed menes der at det rent faktisk er de samme data, der ligger det samme sted i hukommelsen, mens "strukturel" lighed blot er to forskellige variable der tilfældigvis har samme værdi. Det svarer til om man ser på "A=B" eller "A'Access=B'Access" i Ada.
Underforstået parallelisering i syntaksen:
let navn_1 = udtryk_1 and navn_2 = udtryk_2 and ... ;;beregnes principielt parallelt.
Prioritet: "f a b" svarer til "(f a) b". Der er desværre mange alternative formuleringsformer. :-(
Bortset fra parametrene evalueres en funktion når den defineres.
Polymorfe funktioner...
Har en flerdimensionel "case"-struktur i form af "match ... with ...".