[e-lang] Thought: DeepFrozen too restrictive for guards?
chip at fudco.com
Thu Apr 27 16:18:15 EDT 2006
>Kevin, Dean, and I had a long conversation last night examining Kevin's
>> 3a. Introduce the guard-but-not-DeepFrozen operator (which I've
>> mentioned before, though possibly not on e-lang).
>> It would be identical to the : pattern but with a different
>> symbol, and possibly using 'run' or 'match' instead of
>> 'coerce' (since these Are Not Guards Since They Aren't DeepFrozen).
>> Problems: Hard to find a good syntax for it.
>The syntax we found attractive is one that Kevin had previously proposed in a
>different context: The 'via' keyword used in place of a colon between a
>pattern and an expression. The expression's value will be invoked as a
>function, i.e., via will use 'run' instead of 'coerce' as Kevin suggests above.
I think syntax is the least of your problems here. What you are talking about
is adding language support for YET ANOTHER subtle distinction that will require
explanation (frequently to an audience that is not yet prepared to even be
aware of the questions that motivate this feature, let alone the answers). And
E is already overflowing with these.
It's a death of a thousand cuts kind of thing. Each of these little details is
perfectly justifiable, indeed, compelling, on its own. But the total package
seems to me to be getting wildly complicated, unwieldy, and difficult to
absorb; I know I certainly lost track a long time ago.
More information about the e-lang