^ Linux – Friheden til at programmere: Version 2.5.20050330 – 2020-12-31 ^| | [[program:sprog-objective-c|forrige]] | Kapitel 2. Vælg et sprog | [[program:sprog-octave|næste]] | ---- ==== 2.22. Objective Caml ==== OCaml er et temmelig specielt programmeringssprog, idet det tillader at man blander flere paradigmer end sædvanligt; objektorienteret, imperativt og funktionsorienteret. ... === 2.22.1. Nogle løse noter om OCaml === 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 ...". ---- | [[program:sprog-objective-c|forrige]] | [[program:index|hjem]] | [[program:sprog-octave|næste]] | | Objective-C | [[program:vaelg-et-sprog|op]] | Octave |