25 Jul
2007
25 Jul
'07
9:48 a.m.
The whole point of a view is that you make views that are semantically useful.
data UsefulView = Unit | Arrow Type Type
usefulView :: Type -> UsefulView
size :: Type -> Integer size (usefulView -> Unit) = 1 size (usefulView -> Arrow t1 t2) = size t1 + size t2
yes, but my point (of view;) was that i was more interested in abstracting over patterns than in creating concrete view types. so, you're interested in views, i'm interested in abstract patterns, and view patterns help with both (each exhaustive set of abstract patterns correspondes to a virtual view), even though they're possibly not the last word on either. claus