Changes between Version 11 and Version 12 of Commentary/Rts/HaskellExecution


Ignore:
Timestamp:
Oct 17, 2006 1:47:18 PM (8 years ago)
Author:
simonmar
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Rts/HaskellExecution

    v11 v12  
    3333Source files: [[GhcFile(rts/Apply.h)]], [[GhcFile(rts/Apply.cmm)]] 
    3434 
    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: 
     35Dealing 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 
     37First, we need some terminology: 
     38 
    3639  * The '''arity''' of a function is the number of lambdas statically used in [wiki:Commentary/Compiler/StgSynType the lambda-form of its definition].  Note that arity is not deducible from the type.  Example: 
    3740{{{