439 lines
17 KiB
C++
439 lines
17 KiB
C++
import qualified Data.ByteString
|
|
import qualified Data.ByteString.Builder
|
|
import qualified Data.ByteString.Builder.Extra
|
|
import qualified Data.ByteString.Builder.Prim
|
|
import qualified Data.ByteString.Char8
|
|
import qualified Data.ByteString.Lazy.Builder
|
|
import qualified Data.ByteString.Lazy.Builder.ASCII
|
|
import qualified Data.ByteString.Lazy.Builder.Extras
|
|
import qualified Data.ByteString.Lazy.Char8
|
|
import qualified Data.ByteString.Lazy
|
|
import qualified Data.ByteString.Short
|
|
import qualified Data.ByteString.Unsafe
|
|
|
|
import qualified Data.Graph
|
|
import qualified Data.IntMap
|
|
import qualified Data.IntMap.Lazy
|
|
import qualified Data.IntMap.Strict
|
|
import qualified Data.IntSet
|
|
import qualified Data.Map
|
|
import qualified Data.Map.Lazy
|
|
import qualified Data.Map.Strict
|
|
import qualified Data.Sequence
|
|
import qualified Data.Set
|
|
import qualified Data.Tree
|
|
|
|
import qualified System.Directory
|
|
|
|
import qualified Control.Concurrent.Extra
|
|
import qualified Control.Exception.Extra
|
|
import qualified Control.Monad.Extra
|
|
import qualified Data.Either.Extra
|
|
import qualified Data.IORef.Extra
|
|
import qualified Data.List.Extra
|
|
import qualified Data.Tuple.Extra
|
|
import qualified Data.Version.Extra
|
|
import qualified Numeric.Extra
|
|
import qualified System.Directory.Extra
|
|
import qualified System.Environment.Extra
|
|
import qualified System.IO.Extra
|
|
import qualified System.Info.Extra
|
|
import qualified System.Process.Extra
|
|
import qualified System.Time.Extra
|
|
|
|
-- import qualified Control.Exception.Lens
|
|
-- import qualified Control.Lens
|
|
-- import qualified Control.Lens.At
|
|
-- import qualified Control.Lens.Combinators
|
|
-- import qualified Control.Lens.Cons
|
|
-- import qualified Control.Lens.Each
|
|
-- import qualified Control.Lens.Empty
|
|
-- import qualified Control.Lens.Equality
|
|
-- import qualified Control.Lens.Extras
|
|
-- import qualified Control.Lens.Fold
|
|
-- import qualified Control.Lens.Getter
|
|
-- import qualified Control.Lens.Indexed
|
|
-- import qualified Control.Lens.Internal
|
|
-- import qualified Control.Lens.Internal.Bazaar
|
|
-- import qualified Control.Lens.Internal.ByteString
|
|
-- import qualified Control.Lens.Internal.Coerce
|
|
-- import qualified Control.Lens.Internal.Context
|
|
-- import qualified Control.Lens.Internal.Deque
|
|
-- import qualified Control.Lens.Internal.Exception
|
|
-- import qualified Control.Lens.Internal.FieldTH
|
|
-- import qualified Control.Lens.Internal.Fold
|
|
-- import qualified Control.Lens.Internal.Getter
|
|
-- import qualified Control.Lens.Internal.Indexed
|
|
-- import qualified Control.Lens.Internal.Instances
|
|
-- import qualified Control.Lens.Internal.Iso
|
|
-- import qualified Control.Lens.Internal.Level
|
|
-- import qualified Control.Lens.Internal.List
|
|
-- import qualified Control.Lens.Internal.Magma
|
|
-- import qualified Control.Lens.Internal.Prism
|
|
-- import qualified Control.Lens.Internal.PrismTH
|
|
-- import qualified Control.Lens.Internal.Review
|
|
-- import qualified Control.Lens.Internal.Setter
|
|
-- import qualified Control.Lens.Internal.TH
|
|
-- import qualified Control.Lens.Internal.Zoom
|
|
-- import qualified Control.Lens.Iso
|
|
-- import qualified Control.Lens.Lens
|
|
-- import qualified Control.Lens.Level
|
|
-- import qualified Control.Lens.Operators
|
|
-- import qualified Control.Lens.Plated
|
|
-- import qualified Control.Lens.Prism
|
|
-- import qualified Control.Lens.Reified
|
|
-- import qualified Control.Lens.Review
|
|
-- import qualified Control.Lens.Setter
|
|
-- import qualified Control.Lens.TH
|
|
-- import qualified Control.Lens.Traversal
|
|
-- import qualified Control.Lens.Tuple
|
|
-- import qualified Control.Lens.Type
|
|
-- import qualified Control.Lens.Wrapped
|
|
-- import qualified Control.Lens.Zoom
|
|
-- import qualified Control.Monad.Error.Lens
|
|
-- import qualified Control.Parallel.Strategies.Lens
|
|
-- import qualified Control.Seq.Lens
|
|
-- import qualified Data.Array.Lens
|
|
-- import qualified Data.Bits.Lens
|
|
-- import qualified Data.ByteString.Lazy.Lens
|
|
-- import qualified Data.ByteString.Lens
|
|
-- import qualified Data.ByteString.Strict.Lens
|
|
-- import qualified Data.Complex.Lens
|
|
-- import qualified Data.Data.Lens
|
|
-- import qualified Data.Dynamic.Lens
|
|
-- import qualified Data.HashSet.Lens
|
|
-- import qualified Data.IntSet.Lens
|
|
-- import qualified Data.List.Lens
|
|
-- import qualified Data.Map.Lens
|
|
-- import qualified Data.Sequence.Lens
|
|
-- import qualified Data.Set.Lens
|
|
-- import qualified Data.Text.Lazy.Lens
|
|
-- import qualified Data.Text.Lens
|
|
-- import qualified Data.Text.Strict.Lens
|
|
-- import qualified Data.Tree.Lens
|
|
-- import qualified Data.Typeable.Lens
|
|
-- import qualified Data.Vector.Generic.Lens
|
|
-- import qualified Data.Vector.Lens
|
|
-- import qualified GHC.Generics.Lens
|
|
-- import qualified Generics.Deriving.Lens
|
|
-- import qualified Language.Haskell.TH.Lens
|
|
-- import qualified Numeric.Lens
|
|
-- import qualified System.Exit.Lens
|
|
-- import qualified System.FilePath.Lens
|
|
-- import qualified System.IO.Error.Lens
|
|
|
|
-- import qualified Control.Monad.Cont
|
|
-- import qualified Control.Monad.Cont.Class
|
|
-- import qualified Control.Monad.Error.Class
|
|
-- import qualified Control.Monad.Except
|
|
-- import qualified Control.Monad.Identity
|
|
-- import qualified Control.Monad.List
|
|
-- import qualified Control.Monad.RWS
|
|
-- import qualified Control.Monad.RWS.Class
|
|
-- import qualified Control.Monad.RWS.Lazy
|
|
-- import qualified Control.Monad.RWS.Strict
|
|
-- import qualified Control.Monad.Reader
|
|
-- import qualified Control.Monad.Reader.Class
|
|
-- import qualified Control.Monad.State
|
|
-- import qualified Control.Monad.State.Class
|
|
-- import qualified Control.Monad.State.Lazy
|
|
-- import qualified Control.Monad.State.Strict
|
|
-- import qualified Control.Monad.Trans
|
|
-- import qualified Control.Monad.Writer
|
|
-- import qualified Control.Monad.Writer.Class
|
|
-- import qualified Control.Monad.Writer.Lazy
|
|
-- import qualified Control.Monad.Writer.Strict
|
|
|
|
-- import qualified Control.Monad.Trans.MultiRWS
|
|
import qualified Control.Monad.Trans.MultiRWS.Lazy
|
|
import qualified Control.Monad.Trans.MultiRWS.Strict
|
|
import qualified Control.Monad.Trans.MultiReader
|
|
import qualified Control.Monad.Trans.MultiReader.Class
|
|
import qualified Control.Monad.Trans.MultiReader.Lazy
|
|
import qualified Control.Monad.Trans.MultiReader.Strict
|
|
import qualified Control.Monad.Trans.MultiState
|
|
import qualified Control.Monad.Trans.MultiState.Class
|
|
import qualified Control.Monad.Trans.MultiState.Lazy
|
|
import qualified Control.Monad.Trans.MultiState.Strict
|
|
import qualified Control.Monad.Trans.MultiWriter
|
|
import qualified Control.Monad.Trans.MultiWriter.Class
|
|
import qualified Control.Monad.Trans.MultiWriter.Lazy
|
|
import qualified Control.Monad.Trans.MultiWriter.Strict
|
|
|
|
import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS
|
|
import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL
|
|
|
|
import qualified Text.PrettyPrint
|
|
|
|
import qualified Text.PrettyPrint.Annotated
|
|
import qualified Text.PrettyPrint.Annotated.HughesPJ
|
|
import qualified Text.PrettyPrint.Annotated.HughesPJClass
|
|
|
|
import qualified Text.PrettyPrint.HughesPJ
|
|
import qualified Text.PrettyPrint.HughesPJClass
|
|
|
|
-- import qualified Data.Generics
|
|
-- import qualified Data.Generics.Aliases
|
|
-- import qualified Data.Generics.Basics
|
|
-- import qualified Data.Generics.Builders
|
|
-- import qualified Data.Generics.Instances
|
|
-- import qualified Data.Generics.Schemes
|
|
-- import qualified Data.Generics.Text
|
|
-- import qualified Data.Generics.Twins
|
|
-- import qualified Generics.SYB
|
|
-- import qualified Generics.SYB.Aliases
|
|
-- import qualified Generics.SYB.Basics
|
|
-- import qualified Generics.SYB.Builders
|
|
-- import qualified Generics.SYB.Instances
|
|
-- import qualified Generics.SYB.Schemes
|
|
-- import qualified Generics.SYB.Text
|
|
-- import qualified Generics.SYB.Twins
|
|
|
|
import qualified Data.Text
|
|
import qualified Data.Text.Array
|
|
import qualified Data.Text.Encoding
|
|
import qualified Data.Text.Encoding.Error
|
|
import qualified Data.Text.Foreign
|
|
import qualified Data.Text.IO
|
|
-- import qualified Data.Text.Internal
|
|
-- import qualified Data.Text.Internal.Builder
|
|
-- import qualified Data.Text.Internal.Builder.Functions
|
|
-- import qualified Data.Text.Internal.Builder.Int.Digits
|
|
-- import qualified Data.Text.Internal.Builder.RealFloat.Functions
|
|
-- import qualified Data.Text.Internal.Encoding.Fusion
|
|
-- import qualified Data.Text.Internal.Encoding.Fusion.Common
|
|
-- import qualified Data.Text.Internal.Encoding.Utf16
|
|
-- import qualified Data.Text.Internal.Encoding.Utf32
|
|
-- import qualified Data.Text.Internal.Encoding.Utf8
|
|
-- import qualified Data.Text.Internal.Functions
|
|
-- import qualified Data.Text.Internal.Fusion
|
|
-- import qualified Data.Text.Internal.Fusion.CaseMapping
|
|
-- import qualified Data.Text.Internal.Fusion.Common
|
|
-- import qualified Data.Text.Internal.Fusion.Size
|
|
-- import qualified Data.Text.Internal.Fusion.Types
|
|
-- import qualified Data.Text.Internal.IO
|
|
-- import qualified Data.Text.Internal.Lazy
|
|
-- import qualified Data.Text.Internal.Lazy.Encoding.Fusion
|
|
-- import qualified Data.Text.Internal.Lazy.Fusion
|
|
-- import qualified Data.Text.Internal.Lazy.Search
|
|
-- import qualified Data.Text.Internal.Private
|
|
-- import qualified Data.Text.Internal.Read
|
|
-- import qualified Data.Text.Internal.Search
|
|
-- import qualified Data.Text.Internal.Unsafe
|
|
-- import qualified Data.Text.Internal.Unsafe.Char
|
|
-- import qualified Data.Text.Internal.Unsafe.Shift
|
|
import qualified Data.Text.Lazy
|
|
import qualified Data.Text.Lazy.Builder
|
|
-- import qualified Data.Text.Lazy.Builder.Int
|
|
-- import qualified Data.Text.Lazy.Builder.RealFloat
|
|
-- import qualified Data.Text.Lazy.Encoding
|
|
-- import qualified Data.Text.Lazy.IO
|
|
-- import qualified Data.Text.Lazy.Read
|
|
-- import qualified Data.Text.Read
|
|
-- import qualified Data.Text.Unsafe
|
|
|
|
-- import qualified Control.Applicative.Backwards
|
|
-- import qualified Control.Applicative.Lift
|
|
-- import qualified Control.Monad.IO.Class
|
|
-- import qualified Control.Monad.Signatures
|
|
-- import qualified Control.Monad.Trans.Class
|
|
-- import qualified Control.Monad.Trans.Cont
|
|
-- import qualified Control.Monad.Trans.Except
|
|
-- import qualified Control.Monad.Trans.Identity
|
|
-- import qualified Control.Monad.Trans.List
|
|
-- import qualified Control.Monad.Trans.Maybe
|
|
-- import qualified Control.Monad.Trans.RWS
|
|
-- import qualified Control.Monad.Trans.RWS.Lazy
|
|
-- import qualified Control.Monad.Trans.RWS.Strict
|
|
-- import qualified Control.Monad.Trans.Reader
|
|
-- import qualified Control.Monad.Trans.State
|
|
-- import qualified Control.Monad.Trans.State.Lazy
|
|
-- import qualified Control.Monad.Trans.State.Strict
|
|
-- import qualified Control.Monad.Trans.Writer
|
|
-- import qualified Control.Monad.Trans.Writer.Lazy
|
|
-- import qualified Control.Monad.Trans.Writer.Strict
|
|
-- import qualified Data.Functor.Classes
|
|
-- import qualified Data.Functor.Compose
|
|
-- import qualified Data.Functor.Constant
|
|
-- import qualified Data.Functor.Product
|
|
-- import qualified Data.Functor.Reverse
|
|
-- import qualified Data.Functor.Sum
|
|
|
|
-- import qualified Prelude
|
|
-- import qualified Control.Applicative
|
|
-- import qualified Control.Arrow
|
|
-- import qualified Control.Category
|
|
-- import qualified Control.Concurrent
|
|
-- import qualified Control.Concurrent.Chan
|
|
-- import qualified Control.Concurrent.MVar
|
|
-- import qualified Control.Concurrent.QSem
|
|
-- import qualified Control.Concurrent.QSemN
|
|
-- import qualified Control.Exception
|
|
-- import qualified Control.Exception.Base
|
|
-- import qualified Control.Monad
|
|
-- import qualified Control.Monad.Fix
|
|
-- import qualified Control.Monad.ST
|
|
-- import qualified Control.Monad.ST.Lazy
|
|
-- import qualified Control.Monad.ST.Lazy.Unsafe
|
|
-- import qualified Control.Monad.ST.Strict
|
|
-- import qualified Control.Monad.ST.Unsafe
|
|
-- import qualified Control.Monad.Zip
|
|
import qualified Data.Bifunctor
|
|
import qualified Data.Bits
|
|
import qualified Data.Bool
|
|
import qualified Data.Char
|
|
import qualified Data.Coerce
|
|
import qualified Data.Complex
|
|
import qualified Data.Data
|
|
import qualified Data.Dynamic
|
|
import qualified Data.Either
|
|
import qualified Data.Eq
|
|
import qualified Data.Fixed
|
|
import qualified Data.Foldable
|
|
import qualified Data.Function
|
|
import qualified Data.Functor
|
|
import qualified Data.Functor.Identity
|
|
import qualified Data.IORef
|
|
import qualified Data.Int
|
|
import qualified Data.Ix
|
|
import qualified Data.List
|
|
import qualified Data.Maybe
|
|
import qualified Data.Monoid
|
|
import qualified Data.Ord
|
|
import qualified Data.Proxy
|
|
-- import qualified Data.Ratio
|
|
-- import qualified Data.STRef
|
|
-- import qualified Data.STRef.Lazy
|
|
-- import qualified Data.STRef.Strict
|
|
-- import qualified Data.String
|
|
-- import qualified Data.Traversable
|
|
-- import qualified Data.Tuple
|
|
-- import qualified Data.Type.Bool
|
|
-- import qualified Data.Type.Coercion
|
|
-- import qualified Data.Type.Equality
|
|
-- import qualified Data.Typeable
|
|
-- import qualified Data.Typeable.Internal
|
|
-- import qualified Data.Unique
|
|
-- import qualified Data.Version
|
|
-- import qualified Data.Void
|
|
-- import qualified Data.Word
|
|
import qualified Debug.Trace
|
|
-- import qualified Foreign.C
|
|
-- import qualified Foreign.C.Error
|
|
-- import qualified Foreign.C.String
|
|
-- import qualified Foreign.C.Types
|
|
-- import qualified Foreign.Concurrent
|
|
-- import qualified Foreign.ForeignPtr
|
|
-- import qualified Foreign.ForeignPtr.Unsafe
|
|
-- import qualified Foreign.Marshal
|
|
-- import qualified Foreign.Marshal.Alloc
|
|
-- import qualified Foreign.Marshal.Array
|
|
-- import qualified Foreign.Marshal.Error
|
|
-- import qualified Foreign.Marshal.Pool
|
|
-- import qualified Foreign.Marshal.Unsafe
|
|
-- import qualified Foreign.Marshal.Utils
|
|
-- import qualified Foreign.Ptr
|
|
-- import qualified Foreign.StablePtr
|
|
-- import qualified Foreign.Storable
|
|
import qualified Numeric
|
|
import qualified Numeric.Natural
|
|
-- import qualified System.CPUTime
|
|
-- import qualified System.Console.GetOpt
|
|
-- import qualified System.Environment
|
|
-- import qualified System.Exit
|
|
import qualified System.IO
|
|
-- import qualified System.IO.Error
|
|
-- import qualified System.IO.Unsafe
|
|
-- import qualified System.Info
|
|
-- import qualified System.Mem
|
|
-- import qualified System.Mem.StableName
|
|
-- import qualified System.Mem.Weak
|
|
-- import qualified System.Posix.Types
|
|
-- import qualified System.Timeout
|
|
-- import qualified Text.ParserCombinators.ReadP
|
|
-- import qualified Text.ParserCombinators.ReadPrec
|
|
-- import qualified Text.Printf
|
|
-- import qualified Text.Read
|
|
-- import qualified Text.Read.Lex
|
|
-- import qualified Text.Show
|
|
-- import qualified Text.Show.Functions
|
|
import qualified Unsafe.Coerce
|
|
|
|
-- import qualified Control.Arrow as Arrow
|
|
-- import qualified Control.Category as Category
|
|
-- import qualified Control.Concurrent as Concurrent
|
|
-- import qualified Control.Concurrent.Chan as Chan
|
|
-- import qualified Control.Concurrent.MVar as MVar
|
|
-- import qualified Control.Exception as Exception
|
|
-- import qualified Control.Exception.Base as Exception.Base
|
|
-- import qualified Control.Monad as Monad
|
|
-- import qualified Data.Bits as Bits
|
|
import qualified Data.Bool as Bool
|
|
-- import qualified Data.Char as Char
|
|
-- import qualified Data.Complex as Complex
|
|
-- import qualified Data.Either as Either
|
|
-- import qualified Data.Eq as Eq
|
|
import qualified Data.Foldable as Foldable
|
|
-- import qualified Data.Fixed as Fixed
|
|
-- import qualified Data.Functor.Identity as Identity
|
|
-- import qualified Data.IORef as IORef
|
|
-- import qualified Data.Int as Int
|
|
-- import qualified Data.Ix as Ix
|
|
-- import qualified Data.Maybe as Maybe
|
|
-- import qualified Data.Monoid as Monoid
|
|
-- import qualified Data.Ord as Ord
|
|
-- import qualified Data.Proxy as Proxy
|
|
-- import qualified Data.Traversable as Traversable
|
|
-- import qualified Data.Void as Void
|
|
import qualified GHC.OldList as List
|
|
-- import qualified Text.Printf as Printf
|
|
|
|
import qualified Data.Semigroup as Semigroup
|
|
|
|
import qualified Data.ByteString as ByteString
|
|
import qualified Data.ByteString.Lazy as ByteStringL
|
|
|
|
-- import qualified Data.IntMap as IntMap
|
|
import qualified Data.IntMap.Lazy as IntMapL
|
|
import qualified Data.IntMap.Strict as IntMapS
|
|
-- import qualified Data.IntSet as IntSet
|
|
import qualified Data.Map as Map
|
|
-- import qualified Data.Map.Lazy as MapL
|
|
-- import qualified Data.Map.Strict as MapS
|
|
import qualified Data.Sequence as Seq
|
|
import qualified Data.Set as Set
|
|
|
|
import qualified Control.Monad.RWS.Class as RWS.Class
|
|
import qualified Control.Monad.Reader.Class as Reader.Class
|
|
import qualified Control.Monad.State.Class as State.Class
|
|
import qualified Control.Monad.Writer.Class as Writer.Class
|
|
|
|
import qualified Data.Text as Text
|
|
import qualified Data.Text.Encoding as Text.Encoding
|
|
import qualified Data.Text.IO as Text.IO
|
|
import qualified Data.Text.Lazy as TextL
|
|
import qualified Data.Text.Lazy.Encoding as TextL.Encoding
|
|
import qualified Data.Text.Lazy.IO as TextL.IO
|
|
|
|
-- import qualified Control.Monad.Trans.Class as Trans.Class
|
|
-- import qualified Control.Monad.Trans.Maybe as Trans.Maybe
|
|
-- import qualified Control.Monad.Trans.RWS as RWS
|
|
-- import qualified Control.Monad.Trans.RWS.Lazy as RWSL
|
|
-- import qualified Control.Monad.Trans.RWS.Strict as RWSS
|
|
-- import qualified Control.Monad.Trans.Reader as Reader
|
|
import qualified Control.Monad.Trans.State as State
|
|
import qualified Control.Monad.Trans.State.Lazy as StateL
|
|
import qualified Control.Monad.Trans.State.Strict as StateS
|
|
-- import qualified Control.Monad.Trans.Writer as Writer
|
|
-- import qualified Control.Monad.Trans.Writer.Lazy as WriterL
|
|
-- import qualified Control.Monad.Trans.Writer.Strict as Writer
|
|
import qualified Control.Monad.Trans.Either as EitherT
|
|
|
|
import qualified Data.Strict.Maybe as Strict
|
|
|
|
import qualified Safe as Safe
|
|
|
|
|
|
import Language.Haskell.Brittany.Internal.Prelude
|
|
import Language.Haskell.Brittany.Internal.PreludeUtils
|