On Wed, May 28, 2003 at 04:41:36AM -0600, Luke Palmer wrote:
> I was reading about Haskell, and realized that I don't know what ::=
> is supposed to mean (don't ask what that has to do with Haskell :-).
> I know it's compile-time binding, but... what's compile-time binding?
> 
> Could someone who knows enlighten me, please?
> 
> Luke

Well, perhaps I'm mistaken, but I had understood it to mean simply
that the binding between variables and/or methods is established at
compile time, not at runtime.  Specifically:

- Named variables have their addresses hardcoded during compilation
    - Global variables given offset from start of global data area
    - Local variables given offset from top of stack 
    - Object variables given offset from start of object data 
- Normal function and method calls are hardcoded during compilation
    - Normal functions have specific starting address in object file
    - Object methods have specific starting address in object file
- Compiler is able to determine which function matches each call

(The above shamelessly cribbed from:
http://www.cs.sbcc.net/~shouk/polyhi/tsld005.htm, because it's 9:34 AM
and my brain doesn't wake up for at least another half hour.)


-Dks

Reply via email to