3 ms·
Aren't languages always defined in terms of some semantics or execution model? I guess I don't see why Haskell is more "given" than CL.
by iskander 15y ago
Aren't languages always defined in terms of some semantics or execution model?
I guess I don't see why Haskell is more "given" than CL.
- derleth 15y agoI think things like the macro system and the meta-object protocol are examples of meta-linguistic hacking you can do in CL but not Haskell.
- iskander 15y agoAhh, I see, so languages "as given" are those with poor support for metaprogramming? Where would this sort of distinction place Template Haskell, MetaOcaml, or even C++ templates?
- noahl 15y agoYeah, but sometimes programmers ignore that. For instance, C is defined in terms of chunks of memory that are all the same, but the way people actually write C is by thinking of cache line sizes and disk-read chunks, which mean that all chunks of memory are not the same. The alternative is to write your programs using the model provided and trust that they will be fast enough. I think that's how Haskell is written now, but I'm not sure. In either case, though, this is a property of how the language is used rather than the language itself, at least as I understand what he means. I have no idea about the Haskell/CL thing - I don't know much about how either language is used.