content: {-# OPTIONS_GHC -cpp -fglasgow-exts -fno-warn-orphans -fallow-overlapping-instances -funbox-strict-fields -fallow-undecidable-instances #-}
  
  
  
  
  {- 
  -- WARNING WARNING WARNING --
  
  This is an autogenerated file from misc/pX/gaal/SimpleMod.hs.
  
  Do not edit this file.
  
  All changes made here will be lost!
  
  -- WARNING WARNING WARNING --
  -}
  
  #ifndef HADDOCK
  
  
  
  
  
  
  
  
  
  module SimpleMod.Instances ()
  where
  import SimpleMod
  import Data.Yaml.Syck
  import DrIFT.YAML
  import DrIFT.JSON
  import DrIFT.Perl5
  import DrIFT.Perl6Class
  import Control.Monad
  import qualified Data.ByteString as Buf
  
  {-* Generated by DrIFT : Look, but Don't Touch. *-}
  instance Perl6Class Simple where
      showPerl6TypeDef ns _ = unlines
  	    [ showPerl6RoleDef ns "Simple"
  	    , showPerl6ClassDef ns "Simple" "Variant1" []
  	    , showPerl6ClassDef ns "Simple" "Variant2" []
  	    , showPerl6ClassDef ns "Simple" "Variant3" []
  	    ]
      asPerl6Object (Variant1) = "Variant1.new(" ++ (concat $ intersperse ", " []) ++ ")"
      asPerl6Object (Variant2) = "Variant2.new(" ++ (concat $ intersperse ", " []) ++ ")"
      asPerl6Object (Variant3) = "Variant3.new(" ++ (concat $ intersperse ", " []) ++ ")"
  
  instance MooseClass Simple where
      showMooseTypeDef ns _ = unlines
  	    [ showMooseRoleDef ns "Simple"
  	    , showMooseClassDef ns "Simple" "Variant1" []
  	    , showMooseClassDef ns "Simple" "Variant2" []
  	    , showMooseClassDef ns "Simple" "Variant3" []
  	    ]
  
  instance Perl6Class PosAttr where
      showPerl6TypeDef ns _ = unlines
  	    [ showPerl6RoleDef ns "PosAttr"
  	    , showPerl6ClassDef ns "PosAttr" "PosClass" [("Int","$.aa",""),("Int","@.ab",""),("String","$.ac","")]
  	    , showPerl6ClassDef ns "PosAttr" "PosClass2" [("Rational","$.aa",""),("Int","$.ab",""),("String","$.ac","")]
  	    ]
      asPerl6Object (PosClass aa ab ac) = "PosClass.new(" ++ (concat $ intersperse ", " [plShow aa, plShow ab, plShow ac]) ++ ")"
      asPerl6Object (PosClass2 aa ab ac) = "PosClass2.new(" ++ (concat $ intersperse ", " [plShow aa, plShow ab, plShow ac]) ++ ")"
  
  instance MooseClass PosAttr where
      showMooseTypeDef ns _ = unlines
  	    [ showMooseRoleDef ns "PosAttr"
  	    , showMooseClassDef ns "PosAttr" "PosClass" [("Int","aa",""),("ArrayRef","ab","List (Con \"Int\")"),("String","ac","")]
  	    , showMooseClassDef ns "PosAttr" "PosClass2" [("Rational","aa",""),("Int","ab",""),("String","ac","")]
  	    ]
  
  instance Perl6Class RecAttr where
      showPerl6TypeDef ns _ = unlines
  	    [ showPerl6RoleDef ns "RecAttr"
  	    , showPerl6ClassDef ns "RecAttr" "MkRec" [("","@.att1","List (List (Con \"Int\"))"),("Int","$.att2",""),("String","$.att3","")]
  	    , showPerl6ClassDef ns "RecAttr" "MkAltRec" [("","@.att1","List (List (Con \"Int\"))"),("Rational","$.atta",""),("String","$.attb","")]
  	    ]
      asPerl6Object (MkRec aa ab ac) = "MkRec.new(" ++ (concat $ intersperse ", " [plShow aa, plShow ab, plShow ac]) ++ ")"
      asPerl6Object (MkAltRec aa ab ac) = "MkAltRec.new(" ++ (concat $ intersperse ", " [plShow aa, plShow ab, plShow ac]) ++ ")"
  
  instance MooseClass RecAttr where
      showMooseTypeDef ns _ = unlines
  	    [ showMooseRoleDef ns "RecAttr"
  	    , showMooseClassDef ns "RecAttr" "MkRec" [("ArrayRef","att1","List (List (Con \"Int\"))"),("Int","att2",""),("String","att3","")]
  	    , showMooseClassDef ns "RecAttr" "MkAltRec" [("ArrayRef","att1","List (List (Con \"Int\"))"),("Rational","atta",""),("String","attb","")]
  	    ]
  
  --  Imported from other files :-
  
  type Buf = Buf.ByteString
  
  #endif
  