ref: 8ef27e2fe652a8b29a8b57589863f2f2b45f9425
dir: /TODO/
* Stop comparing strings all the time * Stop copying the entire goal stack into every choicepoint * Stop creating choicepoints when it is not needed * How to implement builtins nicely? * Right now we copy and allocate a lot, but almost never free stuff. * Many builtins should really throw an error, but they just fail for now. * Exceptions (throw, catch) * Modules (I try to do something like SWI prolog for now, but I know there is also an iso standard) The following builtins: '='/2 needs to do something about the occurs check unify_with_occurs_check/2: not implemented '\\='/2: handle occurs check * Handle overflow and uderflow in arithmetic