Absolutely it is useful and there is dead cool stuff you can do with it. It's just easy to overdo. I do think it is essential to have because it makes it possible to actually extend the language. It allows you to create new basic data types that behave sensibly or conceal complexity behind the "interface" of a simple data type (think tie). It just shouldn't be used on the application logic level — too much magic is a nightmare.
I don't know how much sense that makes; I lack the vocabulary to verbalize my objection clearly.
Makeshifts last the longest.
In reply to Re^18: use fields; # damnit
by Aristotle
in thread use fields; # damnit
by nothingmuch
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |