[Haskell-cafe] Re: GATD and pattern matching

Maciej Piechotka uzytkownik2 at gmail.com
Wed Jun 9 20:47:19 EDT 2010


On Wed, 2010-06-09 at 22:28 +0200, Dupont Corentin wrote:
> Thanks for your response.
> 
> How would you do it? I design this GATD for a game i'm making:
> 
> > data Obs a where 
> >     Player :: Obs Integer 
> >     Turn :: Obs Integer
> >     Official :: Obs Bool 
> >     Equ :: Obs a -> Obs a -> Obs Bool               --woops!!
> >     Plus :: (Num a) => Obs a -> Obs a -> Obs a 
> >     Time :: (Num a) => Obs a -> Obs a -> Obs a 
> >     Minus :: (Num a) => Obs a -> Obs a -> Obs a 
> >     Konst :: a -> Obs a 

Actually woops is here. Make it for example

    Const :: (Show a, Eq a, ...) => a -> Obs a

> >     And :: Obs Bool -> Obs Bool -> Obs Bool 
> >     Or :: Obs Bool -> Obs Bool -> Obs Bool
> 
> For example I can design an Observable like that:
> 
> myObs = Player `Equ` (Konst 1) `And` Official
> 
> These Observables will then be processed during gameplay.
> 
> I would like to be able to do in ghci:
> 
> > show myObs
> Player `Equ` (Konst 1) `And` Official
> 
> and:
> >  myObs == myObs
> True
> 

Regards

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
Url : http://www.haskell.org/pipermail/haskell-cafe/attachments/20100609/72e608d3/attachment.bin


More information about the Haskell-Cafe mailing list