To: "Creighton Hogg" <[EMAIL PROTECTED]> Subject: Re: [Haskell-cafe] Picking out elements of a heterogenous list From: Steve Schafer <[EMAIL PROTECTED]> Date: Tue, 05 Dec 2006 12:33:16 -0500
On Tue, 5 Dec 2006 11:08:07 -0600, you wrote: >Hi Haskell-ers, >So I think I understand the idea of creating a heterogenous list using >typeclasses and existentials, but I don't see how to filter the list >to retrieve elements of the list that are of only one type. > >More concretely, taking the example >here<http://haskell.org/haskellwiki/Existential_type>how could we take >a list of shapes [Shape] and pull out all objects that are >Squares? >I don't see an obvious way this makes sense. >Is there a way of doing heterogenous lists that would make this possible? Use filter, passing it a predicate that returns True for Squares and False otherwise: isASquare :: Shape -> Bool isASquare (Square _) = True isASquare _ = False filter isASquare myShapes Steve Schafer Fenestra Technologies Corp. http://www.fenestra.com/ _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
