defining (-> Bool) as a set

Hal Daume III hdaume@ISI.EDU
Mon, 22 Apr 2002 15:31:36 -0700 (PDT)

I'd like to be able to define something like

instance Eq a => Coll (-> Bool) a where
  empty    = \_ -> False
  single x = \y -> if x == y then True else False
  union a b = \x -> a x || b x
  insert s x = \y -> x == y || s y

and the like

However, this seems to be impossible.  Is this the type lambda restriction
that's been discussed recently on the mailing list?

 - Hal

Hal Daume III

 "Computer science is no more about computers    |
  than astronomy is about telescopes." -Dijkstra |