On Dec 17, 2006, at 1:29 PM, demerphq wrote:
Its about brevity. Plain and simple. I don't want to write a bunch of
useless text when I do something as common as perform a pattern match.

That's why people use reflective languages like Forth and Lisp and Smalltalk, so when you do a lot of anything you can do it briefly and cleanly and efficiently. Perl seems to have borrowed that idea, but instead of being reflective it has a particular set of special cases, like regular expressions, treated magically... there's no general mechanism you can use to make any other mathematical or other special purpose syntax the same kind of "peer".

Hmm, I didn't realize that either allowed their syntax to be extended
to support perl style pattern operators or quoting.

Forth and Lisp can be extended indefinitely. For example: when I was implementing a screen editor in Forth I made key-binding a first-class language element because I was doing it so frequently. These kinds of macros (in Lisp) or immediate words (in Forth) tend to be used sparingly, when needed.

Reply via email to