{-# OPTIONS_GHC -cpp -fglasgow-exts -fno-warn-orphans -fallow-overlapping-instances -funbox-strict-fields -fallow-undecidable-instances #-} module SimpleMod ( Simplest, Simple(..), PosAttr(..), RecAttr(..) ) where import Data.Typeable data Simplest deriving Typeable {-!derive: Perl6Class, MooseClass!-} data Simple = Variant1 | Variant2 | Variant3 deriving Typeable {-!derive: Perl6Class, MooseClass!-} data PosAttr = PosClass Int [Int] String | PosClass2 Rational Int String deriving Typeable {-!derive: Perl6Class, MooseClass!-} data RecAttr = MkRec { att1 :: [[Int]] , att2 :: Int , att3 :: String } | MkAltRec { att1 :: [[Int]] , atta :: Rational , attb :: String } deriving Typeable {-!derive: Perl6Class, MooseClass!-}