Nice! Thank you.

On Mon, 31 Dec 2007 12:56:42 +0200, Ryan Ingram <[EMAIL PROTECTED]> wrote:

On 12/30/07, Cristian Baboi <[EMAIL PROTECTED]> wrote:

Thank you.

data Something = This | S Something

ppp :: Something -> String

ppp This = ""
ppp (S x) = 'S':(ppp x)


How can I prevent one to pass  'let x = S x in x' to ppp ?


 {-# LANGUAGE GADTs, EmptyDataDecls #-}
data Z
data S a

data Something a where
    This :: Something Z
    S :: Something a -> Something (S a)

ppp :: Something a -> String
ppp This =  ""
ppp (S x) = 'S' : ppp x






________ Information from NOD32 ________
This message was checked by NOD32 Antivirus System for Linux Mail Servers.
 part000.txt - is OK
http://www.eset.com
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to