tag:blogger.com,1999:blog-10770855.post114808355417747353..comments2024-03-28T03:20:57.393-04:00Comments on The Little Calculist: Late and early bindingDave Hermanhttp://www.blogger.com/profile/00405190527081772997noreply@blogger.comBlogger4125tag:blogger.com,1999:blog-10770855.post-1170202871541368602007-01-30T19:21:00.000-05:002007-01-30T19:21:00.000-05:00In some sense, Haskell is earlier-bound than even ...In some sense, Haskell is <I>earlier</I>-bound than even most imperative languages are. You can write mutually-recursive value definitions:<BR/><BR/>evens = 0 : map (+1) odds<BR/>odds = map (+1) evens<BR/><BR/>odds and evens are available in each other's scope.Cale Gibbardhttps://www.blogger.com/profile/02239068589033148700noreply@blogger.comtag:blogger.com,1999:blog-10770855.post-1152887000585914052006-07-14T10:23:00.000-04:002006-07-14T10:23:00.000-04:00Early binding is the same thing as compiler type s...Early binding is the same thing as compiler type safety. Late binding is exection time resolution of references, and open to errors.<BR/><BR/>for instance, in psuedo C# or Java<BR/><BR/>string s = "hello"<BR/>s.ToUpper();<BR/><BR/>compiles because it's early bound and the compiler can verify it's ok.<BR/><BR/>but<BR/><BR/>int i = 0;<BR/>i.ToUpper()<BR/><BR/>will fail because the reference to i is early bound to Int32. but<BR/><BR/>int i = 0;<BR/>i.GetType().Invoke( "ToUpper", new object[0] );<BR/><BR/>will comile but fail at run time because the method call is late bound.<BR/><BR/>I'm so glad I understand something you're talking about enough to actually respond!!Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-10770855.post-1148395514100018182006-05-23T10:45:00.000-04:002006-05-23T10:45:00.000-04:00I've also found the definition of late-vs-early bi...I've also found the definition of late-vs-early binding hard to <A HREF="http://lambda-the-ultimate.org/node/1022#comment-10528" REL="nofollow">pin down</A>. Is Haskell late bound?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-10770855.post-1148130620834423102006-05-20T09:10:00.000-04:002006-05-20T09:10:00.000-04:00Kent Pitman's paper on Condition Handling in the L...Kent Pitman's paper on <A HREF="http://www.nhplace.com/kent/Papers/Condition-Handling-2001.html" REL="nofollow">Condition Handling in the Lisp Language Family</A> is quite enlightening.<BR/><BR/>Oh, not sure whether you meant that but at least in Common Lisp dynamically scoped variables need to be declared as special, and the naming convention *foo* reduces risk of accidental capture more or less completely. <A HREF="http://www.islisp.info/" REL="nofollow">ISLISP</A> has a better solution: it has a separate name space for special variables, so it's actually a Lisp-3.Anonymousnoreply@blogger.com