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