> > (Cayenne doesn't happen to have c*n-patterns?)
[ ;-) forgotten.]
> `c*n' and `n+k' are equally abominable. Cayenne has neither.
I thought they might be nice to express the type of sqrt.
When we have the type as
> Unit (mass::Int) (length::Int) (time::Int) = Double
it should be s.th. like Unit (2*m) (2*l) (2*t) -> Unit m l t.
Now I realized that the type does indeed nearly look like that, but
without using any doubtful pattern matching features:
> sqrt :: (m::Int) |-> (l::Int) |-> (t::Int) |->
> Unit (2*m) (2*l) (2*t) -> Unit m l t
(Will hidden arguments work in this case?)
I really like Cayenne.
All the best,
Christian Sievers