Ontwerpbesluit toegevoegd dat functies pas na decla beschikbaar zijn
[cc1516.git] / ontwerpbesluiten.txt
1 -- Types zonder arity
2 We gebruiken types zonder arity (Int -> Int -> Void) ipv (Int Int -> Void)
3 Waarom?
4 Mooiere puurdere lambda-calculus. Is chill straks met hogere orde functies (denken we)
5 Staat mooie shizzle zoals in Haskell toe (f :: a -> a, g :: a -> a, f = g)
6 Simpeler om te parsen
7 Con: wellicht kut met code generatie, wie weet.
8
9 ---
10 Functies en variabelen delen 1 namespace.
11 Dat is met het oog op hogere orde functies, dan kan een parameter voor een functie een andere
12 functie zijn, of een variabele en als die 2 aparte namespaces hebben is dat moeilijk onduidelijk /
13 praktisch onmogelijke met type inteference
14
15
16 ---
17 Functies kunnen voor correct typechecken alleen functies gebruiken die DAARNA
18 gedefinieerd zijn