From: Mart Lubbers Date: Fri, 13 May 2016 16:38:33 +0000 (+0200) Subject: u X-Git-Url: https://git.martlubbers.net/?a=commitdiff_plain;h=e01254ee33ddd811fe95ea98cba19909f3e4f740;p=cc1516.git u --- diff --git a/ontwerpbesluiten.txt b/ontwerpbesluiten.txt index c35bafd..71e02c2 100644 --- a/ontwerpbesluiten.txt +++ b/ontwerpbesluiten.txt @@ -33,8 +33,11 @@ List wordt opgeslagen dmv een pointer, als die 0 is dan is het het einde. Als het een plek op de heap is dan wijst die plek naar de waarde, de volgende plek wijst dan naar de tail. Incomplete functies sla je op dmv heap pointer, plek van de pointer is het - functieadres, plekken erna zijn de argumenten + functieadres, plekken erna zijn de argumenten. Dit is poor-mans higher + order functions. Als we het pro willen doen is dat niet in de scope van het + project.(closure, lambda's nodig etc) Functies callen gebeurt door eerst de oude frame pointer op de stack te duwen, dan omgekeert de argumenten van de functie. Bij afbraak herstel je gewoon de stack pointer naar de waarde onder het laatste argument. +