Derek Elkins wrote:
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#

yes I know, although we are talking about communicating to people who don't necessarily know as much as we do.

and you can have
unboxed values in dynamically typed languages.

really? Sure that's possible as an optimization, but I thought that to explicitly specify that would require a known static type. Or perhaps the bit-"tagging" by which some Scheme implementations are able to hold small integers without a pointer (IIRC)?

~Isaac
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to