| 35 | | Dealing with calls is by far the most complicated bit of the execution model, and hence of the code generator. Before we can talk about that, we need some terminology: |
| | 35 | Dealing with calls is by far the most complicated bit of the execution model, and hence of the code generator. GHC uses an ''eval/apply'' strategy for compiling function calls; all the details of the design are in the paper [http://www.haskell.org/~simonmar/papers/eval-apply.pdf Making a fast curry: push/enter vs. eval/apply for higher-order languages]. |
| | 36 | |
| | 37 | First, we need some terminology: |
| | 38 | |