21 Feb
2003
21 Feb
'03
7:10 a.m.
On Fri, 21 Feb 2003 08:05:37 +0100 Nick Name <nick.name@inwind.it> wrote:
-- Does not type if overlapping instances are allowed -- --instance Functor SList where -- fmap f End = End -- fmap f (a:::as) = (call f a):::(fmap f as)
I skipped the declaration of SList, which is the coolest part of the story to my eyes: data SList a = forall b . (Subtype b a) => (:::) b (SList a) | End This is a list holding values of subtypes of a. Vincenzo