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

_______________________________________________
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to