Idris-dev/test/basic012
Edwin Brady 147149b432 Add 'determining parameters' for classes
Also fix resolution rules so that determining parameters, in *all cases*
except Num instances (for defaulting to Integer), must not be
metavariables.

Syntax is:

class Foo a b c | a, b

the optional | a, b lists the determining parameters. When resolving
Foo, a and b must not be metavariables. c can be a metavariable (and
hence solved by type class resolution).

The overlapping instance check now only looks at determining parameters,
so, for example, for Foo the following instances would be considered
overlapping:

instance Foo Int Nat Bool
instance Foo Int Nat String
2015-03-17 23:54:45 +00:00
..
basic012.idr Add 'determining parameters' for classes 2015-03-17 23:54:45 +00:00
expected Support scoped type class constraints 2015-01-12 01:09:49 +00:00
run Support scoped type class constraints 2015-01-12 01:09:49 +00:00