| Neat.  And it solves a problem I was kludging around with explicit,
| existentially quantified dictionaries.

Great!  Can I look forward to hearing more about that some time?

| On a superficial note, how about
|       class C a b c | (a,b) => c where ...
| for
|       class C a b c | a b -> c where ...
| etc?

The current syntax was chosen because it was the same as in one of
the database texts that I looked at.  It also doesn't require any
new symbols in the lexical syntax.   But I don't have any strong
views about this, and it's all open for discussion.  What you've
suggested here seems like another reasonable alternative, that also
satisfies the no new symbols property.

| Also, you say a dependency with zero variables on the right side is
| syntactically correct, but later you say it will be reported as an
| error because it says nothing.  Why bother?

Point taken.  In fact that same database text I mentioned above
prohibits functional dependencies in which either side is empty.
But it turns out that the two extremes ("a ->" and "-> a") are
rather interesting so I didn't want to exclude either as being
syntactically well-formed.  Rejecting the former at a later stage
was a design decision, intended only to catch errors, and isn't
an essential part of the design.

All the best,
Mark



Reply via email to