Subject: keyword names that can't be set in maxima
From: Stavros Macrakis
Date: Fri, 16 Feb 2007 19:00:19 -0500
On 2/16/07, Robert Dodier <robert.dodier at gmail.com> wrote:
>
> Well, I wouldn't insist. Why not evaluate keywords like other symbols?
> Then the user can use a quote mark if that gives them what they want.
True, but I think we've found that quoting issues are hard to document in a
way that users understand them and therefore a common cause of user error.
> -- use special syntax for keywords.
>
> The Maxima parser recognizes ?:foo as the Lisp keyword :FOO.
> That seems like a workable option.
Sure, why not? But it looks pretty ugly to my eye....
> -- use a special operator for keywords which doesn't evaluate its first
> > argument, e.g. (foo => 23), where => doesn't evaluate foo.
>
> Well, that ties up an otherwise-useful operator, and introduces
> a peculiar evaluation rule. Plus it's ugly.
>
Actually, I'd see this as part of a larger effort to define maps or
dictionaries a la most scripting languages, unified with records,
hasharrays, lists, etc. But I don't have a complete proposal yet....
Parameter syntax would then be the same as map syntax.
-s