
On Sat, 2008-01-26 at 20:49 -0500, Isaac Dupree wrote:
Michael Reid wrote:
The power of Haskell's type system makes it feel like you are programming in a dynamic language to some degree, yet all of it is type-checked, and that is just *really* cool.
to some degree, (in current Haskell compilers), it *is* more like a dynamic than a static language: except when optimized away, values of all types are represented by a pointer to their actual value. (this helps with parametric polymorphism and laziness (take :: Int -> [a] -> [a]).) (at least this is a difference compared to C++)
Boxing is orthogonal to dynamic/static. You can have boxing in statically typed languages, e.g. Haskell, Java, C# and you can have unboxed values in dynamically typed languages.