-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | The Haskell tracer, generating and viewing Haskell execution traces -- -- hat-trans transforms Module.hs into Hat/Module.hs such that when the -- program is executed, a trace file Programname.hat is generated. -- Various tools (hat-trail, hat-observe, hat-explore ...) then allow -- viewing the trace file in different ways, to locate a bug or -- understand how a program works. Hat 2.9 uses the haskell-src-exts -- parser and other Hackage libraries to reduce its own size and simplify -- extensions. Module imports and exports have also been improved to -- handle nearly all kinds of renaming, hiding, etc. Hat 2.9 works only -- with ghc for Haskell 98 (plus a few extensions) and the standard -- Haskell 98 libraries plus some Haskell 2010 libraries. Although it -- should build on any operating system, most viewing tools use ASCII -- console escape sequences and they open xterms; hence they will only -- work well under Unix and X11. Tested on MacOS X 10.11.6. Installation: -- > cabal -v install Flag -v allows you to see what is going on. -- Building takes a long time (one module has 25.000 lines of code). -- Don't worry about numerous warning messages. The tracing -- transformation does produce code with lots of overlapping patterns. -- Use: > hat-make MyProgram.hs transforms and compiles all modules of -- your program and produces the tracing version Hat/MyProgram. Run your -- program > Hat/MyProgram which will produce trace files -- MyProgram.hat* Use the viewing tools to explore the trace: > -- hat-trail hat-observe hat-explore /... MyProgram There is -- documentation in the "docs" folder, but it is partially outdated. -- There are a few small programs for exploring tracing in the "examples" -- folder. @package hat @version 2.9.2 module Hat.Hat data RefModule data RefSrcPos data RefExp data RefAtom type Loc = Int type Fixity = Int type Arity = Int data R a R :: a -> RefExp -> R a tPrelude :: RefModule toId :: RefExp -> R a -> R a fromId :: RefExp -> R a -> R a -- | The character type Char is an enumeration whose values -- represent Unicode (or equivalently ISO/IEC 10646) characters (see -- http://www.unicode.org/ for details). This set extends the ISO -- 8859-1 (Latin-1) character set (the first 256 characters), which is -- itself an extension of the ASCII character set (the first 128 -- characters). A character literal in Haskell has type Char. -- -- To convert a Char to or from the corresponding Int value -- defined by Unicode, use toEnum and fromEnum from the -- Enum class respectively (or equivalently ord and -- chr). data Char :: * -- | A fixed-precision integer type with at least the range [-2^29 .. -- 2^29-1]. The exact range for a given implementation can be -- determined by using minBound and maxBound from the -- Bounded class. data Int :: * -- | Invariant: Jn# and Jp# are used iff value doesn't fit in -- S# -- -- Useful properties resulting from the invariants: -- --
data Integer :: * -- | Single-precision floating point numbers. It is desirable that this -- type be at least equal in range and precision to the IEEE -- single-precision type. data Float :: * -- | Double-precision floating point numbers. It is desirable that this -- type be at least equal in range and precision to the IEEE -- double-precision type. data Double :: * toChar :: RefExp -> R Char -> Char fromChar :: RefExp -> Char -> R Char toInt :: RefExp -> R Int -> Int fromInt :: RefExp -> Int -> R Int toInteger :: RefExp -> R Integer -> Integer fromInteger :: RefExp -> Integer -> R Integer toFloat :: RefExp -> R Float -> Float fromFloat :: RefExp -> Float -> R Float toDouble :: RefExp -> R Double -> Double fromDouble :: RefExp -> Double -> R Double newtype Fun a b Fun :: (RefExp -> R a -> R b) -> Fun a b data IO a toIO :: (RefExp -> R a -> b) -> RefExp -> R (IO a) -> IO b fromIO :: (RefExp -> a -> R b) -> RefExp -> IO a -> R (IO b) data Tuple0 Tuple0 :: Tuple0 aTuple0 :: RefAtom data Tuple2 a b Tuple2 :: (R a) -> (R b) -> Tuple2 a b aTuple2 :: RefAtom data Tuple3 a b c Tuple3 :: (R a) -> (R b) -> (R c) -> Tuple3 a b c aTuple3 :: RefAtom data Tuple4 a b c d Tuple4 :: (R a) -> (R b) -> (R c) -> (R d) -> Tuple4 a b c d aTuple4 :: RefAtom data Tuple5 a b c d e Tuple5 :: (R a) -> (R b) -> (R c) -> (R d) -> (R e) -> Tuple5 a b c d e aTuple5 :: RefAtom data Tuple6 a b c d e f Tuple6 :: (R a) -> (R b) -> (R c) -> (R d) -> (R e) -> (R f) -> Tuple6 a b c d e f aTuple6 :: RefAtom data Tuple7 a b c d e f g Tuple7 :: (R a) -> (R b) -> (R c) -> (R d) -> (R e) -> (R f) -> (R g) -> Tuple7 a b c d e f g aTuple7 :: RefAtom data Tuple8 a b c d e f g h Tuple8 :: (R a) -> (R b) -> (R c) -> (R d) -> (R e) -> (R f) -> (R g) -> (R h) -> Tuple8 a b c d e f g h aTuple8 :: RefAtom data Tuple9 a b c d e f g h i Tuple9 :: (R a) -> (R b) -> (R c) -> (R d) -> (R e) -> (R f) -> (R g) -> (R h) -> (R i) -> Tuple9 a b c d e f g h i aTuple9 :: RefAtom data Tuple10 a b c d e f g h i j Tuple10 :: (R a) -> (R b) -> (R c) -> (R d) -> (R e) -> (R f) -> (R g) -> (R h) -> (R i) -> (R j) -> Tuple10 a b c d e f g h i j aTuple10 :: RefAtom data Tuple11 a b c d e f g h i j k Tuple11 :: (R a) -> (R b) -> (R c) -> (R d) -> (R e) -> (R f) -> (R g) -> (R h) -> (R i) -> (R j) -> (R k) -> Tuple11 a b c d e f g h i j k aTuple11 :: RefAtom data Tuple12 a b c d e f g h i j k l Tuple12 :: (R a) -> (R b) -> (R c) -> (R d) -> (R e) -> (R f) -> (R g) -> (R h) -> (R i) -> (R j) -> (R k) -> (R l) -> Tuple12 a b c d e f g h i j k l aTuple12 :: RefAtom data Tuple13 a b c d e f g h i j k l m Tuple13 :: (R a) -> (R b) -> (R c) -> (R d) -> (R e) -> (R f) -> (R g) -> (R h) -> (R i) -> (R j) -> (R k) -> (R l) -> (R m) -> Tuple13 a b c d e f g h i j k l m aTuple13 :: RefAtom data Tuple14 a b c d e f g h i j k l m n Tuple14 :: (R a) -> (R b) -> (R c) -> (R d) -> (R e) -> (R f) -> (R g) -> (R h) -> (R i) -> (R j) -> (R k) -> (R l) -> (R m) -> (R n) -> Tuple14 a b c d e f g h i j k l m n aTuple14 :: RefAtom data Tuple15 a b c d e f g h i j k l m n o Tuple15 :: (R a) -> (R b) -> (R c) -> (R d) -> (R e) -> (R f) -> (R g) -> (R h) -> (R i) -> (R j) -> (R k) -> (R l) -> (R m) -> (R n) -> (R o) -> Tuple15 a b c d e f g h i j k l m n o aTuple15 :: RefAtom toTuple0 :: RefExp -> R Tuple0 -> () fromTuple0 :: RefExp -> () -> R Tuple0 toTuple2 :: (RefExp -> R a -> c) -> (RefExp -> R b -> d) -> RefExp -> R (Tuple2 a b) -> (c, d) fromTuple2 :: (RefExp -> a -> R c) -> (RefExp -> b -> R d) -> RefExp -> (a, b) -> R (Tuple2 c d) data List a Cons :: (R a) -> (R (List a)) -> List a Nil :: List a aCons :: RefAtom aNil :: RefAtom ap1 :: RefSrcPos -> RefExp -> R (Fun a z) -> R a -> R z ap2 :: RefSrcPos -> RefExp -> R (Fun a (Fun b z)) -> R a -> R b -> R z ap3 :: RefSrcPos -> RefExp -> R (Fun a (Fun b (Fun c z))) -> R a -> R b -> R c -> R z ap4 :: RefSrcPos -> RefExp -> R (Fun a (Fun b (Fun c (Fun d z)))) -> R a -> R b -> R c -> R d -> R z ap5 :: RefSrcPos -> RefExp -> R (Fun a (Fun b (Fun c (Fun d (Fun e z))))) -> R a -> R b -> R c -> R d -> R e -> R z ap6 :: RefSrcPos -> RefExp -> R (Fun a (Fun b (Fun c (Fun d (Fun e (Fun g z)))))) -> R a -> R b -> R c -> R d -> R e -> R g -> R z ap7 :: RefSrcPos -> RefExp -> R (Fun a (Fun b (Fun c (Fun d (Fun e (Fun g (Fun h z))))))) -> R a -> R b -> R c -> R d -> R e -> R g -> R h -> R z ap8 :: RefSrcPos -> RefExp -> R (Fun a (Fun b (Fun c (Fun d (Fun e (Fun g (Fun h (Fun i z)))))))) -> R a -> R b -> R c -> R d -> R e -> R g -> R h -> R i -> R z ap9 :: RefSrcPos -> RefExp -> R (Fun a (Fun b (Fun c (Fun d (Fun e (Fun g (Fun h (Fun i (Fun j z))))))))) -> R a -> R b -> R c -> R d -> R e -> R g -> R h -> R i -> R j -> R z ap10 :: RefSrcPos -> RefExp -> R (Fun a (Fun b (Fun c (Fun d (Fun e (Fun g (Fun h (Fun i (Fun j (Fun k z)))))))))) -> R a -> R b -> R c -> R d -> R e -> R g -> R h -> R i -> R j -> R k -> R z ap11 :: RefSrcPos -> RefExp -> R (Fun a (Fun b (Fun c (Fun d (Fun e (Fun g (Fun h (Fun i (Fun j (Fun k (Fun l z))))))))))) -> R a -> R b -> R c -> R d -> R e -> R g -> R h -> R i -> R j -> R k -> R l -> R z ap12 :: RefSrcPos -> RefExp -> R (Fun a (Fun b (Fun c (Fun d (Fun e (Fun g (Fun h (Fun i (Fun j (Fun k (Fun l (Fun m z)))))))))))) -> R a -> R b -> R c -> R d -> R e -> R g -> R h -> R i -> R j -> R k -> R l -> R m -> R z ap13 :: RefSrcPos -> RefExp -> R (Fun a (Fun b (Fun c (Fun d (Fun e (Fun g (Fun h (Fun i (Fun j (Fun k (Fun l (Fun m (Fun n z))))))))))))) -> R a -> R b -> R c -> R d -> R e -> R g -> R h -> R i -> R j -> R k -> R l -> R m -> R n -> R z ap14 :: RefSrcPos -> RefExp -> R (Fun a (Fun b (Fun c (Fun d (Fun e (Fun g (Fun h (Fun i (Fun j (Fun k (Fun l (Fun m (Fun n (Fun o z)))))))))))))) -> R a -> R b -> R c -> R d -> R e -> R g -> R h -> R i -> R j -> R k -> R l -> R m -> R n -> R o -> R z ap15 :: RefSrcPos -> RefExp -> R (Fun a (Fun b (Fun c (Fun d (Fun e (Fun g (Fun h (Fun i (Fun j (Fun k (Fun l (Fun m (Fun n (Fun o (Fun q z))))))))))))))) -> R a -> R b -> R c -> R d -> R e -> R g -> R h -> R i -> R j -> R k -> R l -> R m -> R n -> R o -> R q -> R z fun1 :: RefAtom -> RefSrcPos -> RefExp -> (R a -> RefExp -> R z) -> R (Fun a z) fun2 :: RefAtom -> RefSrcPos -> RefExp -> (R a -> R b -> RefExp -> R z) -> R (Fun a (Fun b z)) fun3 :: RefAtom -> RefSrcPos -> RefExp -> (R a -> R b -> R c -> RefExp -> R z) -> R (Fun a (Fun b (Fun c z))) fun4 :: RefAtom -> RefSrcPos -> RefExp -> (R a -> R b -> R c -> R d -> RefExp -> R z) -> R (Fun a (Fun b (Fun c (Fun d z)))) fun5 :: RefAtom -> RefSrcPos -> RefExp -> (R a -> R b -> R c -> R d -> R e -> RefExp -> R z) -> R (Fun a (Fun b (Fun c (Fun d (Fun e z))))) fun6 :: RefAtom -> RefSrcPos -> RefExp -> (R a -> R b -> R c -> R d -> R e -> R g -> RefExp -> R z) -> R (Fun a (Fun b (Fun c (Fun d (Fun e (Fun g z)))))) fun7 :: RefAtom -> RefSrcPos -> RefExp -> (R a -> R b -> R c -> R d -> R e -> R g -> R h -> RefExp -> R z) -> R (Fun a (Fun b (Fun c (Fun d (Fun e (Fun g (Fun h z))))))) fun8 :: RefAtom -> RefSrcPos -> RefExp -> (R a -> R b -> R c -> R d -> R e -> R g -> R h -> R i -> RefExp -> R z) -> R (Fun a (Fun b (Fun c (Fun d (Fun e (Fun g (Fun h (Fun i z)))))))) fun9 :: RefAtom -> RefSrcPos -> RefExp -> (R a -> R b -> R c -> R d -> R e -> R g -> R h -> R i -> R j -> RefExp -> R z) -> R (Fun a (Fun b (Fun c (Fun d (Fun e (Fun g (Fun h (Fun i (Fun j z))))))))) fun10 :: RefAtom -> RefSrcPos -> RefExp -> (R a -> R b -> R c -> R d -> R e -> R g -> R h -> R i -> R j -> R k -> RefExp -> R z) -> R (Fun a (Fun b (Fun c (Fun d (Fun e (Fun g (Fun h (Fun i (Fun j (Fun k z)))))))))) fun11 :: RefAtom -> RefSrcPos -> RefExp -> (R a -> R b -> R c -> R d -> R e -> R g -> R h -> R i -> R j -> R k -> R l -> RefExp -> R z) -> R (Fun a (Fun b (Fun c (Fun d (Fun e (Fun g (Fun h (Fun i (Fun j (Fun k (Fun l z))))))))))) fun12 :: RefAtom -> RefSrcPos -> RefExp -> (R a -> R b -> R c -> R d -> R e -> R g -> R h -> R i -> R j -> R k -> R l -> R m -> RefExp -> R z) -> R (Fun a (Fun b (Fun c (Fun d (Fun e (Fun g (Fun h (Fun i (Fun j (Fun k (Fun l (Fun m z)))))))))))) fun13 :: RefAtom -> RefSrcPos -> RefExp -> (R a -> R b -> R c -> R d -> R e -> R g -> R h -> R i -> R j -> R k -> R l -> R m -> R n -> RefExp -> R z) -> R (Fun a (Fun b (Fun c (Fun d (Fun e (Fun g (Fun h (Fun i (Fun j (Fun k (Fun l (Fun m (Fun n z))))))))))))) fun14 :: RefAtom -> RefSrcPos -> RefExp -> (R a -> R b -> R c -> R d -> R e -> R g -> R h -> R i -> R j -> R k -> R l -> R m -> R n -> R o -> RefExp -> R z) -> R (Fun a (Fun b (Fun c (Fun d (Fun e (Fun g (Fun h (Fun i (Fun j (Fun k (Fun l (Fun m (Fun n (Fun o z)))))))))))))) fun15 :: RefAtom -> RefSrcPos -> RefExp -> (R a -> R b -> R c -> R d -> R e -> R g -> R h -> R i -> R j -> R k -> R l -> R m -> R n -> R o -> R q -> RefExp -> R z) -> R (Fun a (Fun b (Fun c (Fun d (Fun e (Fun g (Fun h (Fun i (Fun j (Fun k (Fun l (Fun m (Fun n (Fun o (Fun q z))))))))))))))) uap1 :: RefSrcPos -> RefExp -> R (Fun a z) -> R a -> R z uap2 :: RefSrcPos -> RefExp -> R (Fun a (Fun b z)) -> R a -> R b -> R z uap3 :: RefSrcPos -> RefExp -> R (Fun a (Fun b (Fun c z))) -> R a -> R b -> R c -> R z uap4 :: RefSrcPos -> RefExp -> R (Fun a (Fun b (Fun c (Fun d z)))) -> R a -> R b -> R c -> R d -> R z uap5 :: RefSrcPos -> RefExp -> R (Fun a (Fun b (Fun c (Fun d (Fun e z))))) -> R a -> R b -> R c -> R d -> R e -> R z uap6 :: RefSrcPos -> RefExp -> R (Fun a (Fun b (Fun c (Fun d (Fun e (Fun g z)))))) -> R a -> R b -> R c -> R d -> R e -> R g -> R z uap7 :: RefSrcPos -> RefExp -> R (Fun a (Fun b (Fun c (Fun d (Fun e (Fun g (Fun h z))))))) -> R a -> R b -> R c -> R d -> R e -> R g -> R h -> R z uap8 :: RefSrcPos -> RefExp -> R (Fun a (Fun b (Fun c (Fun d (Fun e (Fun g (Fun h (Fun i z)))))))) -> R a -> R b -> R c -> R d -> R e -> R g -> R h -> R i -> R z ufun1 :: RefAtom -> RefSrcPos -> RefExp -> (R a -> RefExp -> R r) -> R (Fun a r) ufun2 :: RefAtom -> RefSrcPos -> RefExp -> (R a -> R b -> RefExp -> R r) -> R (Fun a (Fun b r)) ufun3 :: RefAtom -> RefSrcPos -> RefExp -> (R a -> R b -> R c -> RefExp -> R r) -> R (Fun a (Fun b (Fun c r))) ufun4 :: RefAtom -> RefSrcPos -> RefExp -> (R a -> R b -> R c -> R d -> RefExp -> R r) -> R (Fun a (Fun b (Fun c (Fun d r)))) ufun5 :: RefAtom -> RefSrcPos -> RefExp -> (R a -> R b -> R c -> R d -> R e -> RefExp -> R r) -> R (Fun a (Fun b (Fun c (Fun d (Fun e r))))) ufun6 :: RefAtom -> RefSrcPos -> RefExp -> (R a -> R b -> R c -> R d -> R e -> R g -> RefExp -> R r) -> R (Fun a (Fun b (Fun c (Fun d (Fun e (Fun g r)))))) ufun7 :: RefAtom -> RefSrcPos -> RefExp -> (R a -> R b -> R c -> R d -> R e -> R g -> R h -> RefExp -> R r) -> R (Fun a (Fun b (Fun c (Fun d (Fun e (Fun g (Fun h r))))))) ufun8 :: RefAtom -> RefSrcPos -> RefExp -> (R a -> R b -> R c -> R d -> R e -> R g -> R h -> R i -> RefExp -> R r) -> R (Fun a (Fun b (Fun c (Fun d (Fun e (Fun g (Fun h (Fun i r)))))))) app1 :: RefSrcPos -> RefSrcPos -> RefExp -> RefAtom -> (R a -> RefExp -> R z) -> R a -> R z app2 :: RefSrcPos -> RefSrcPos -> RefExp -> RefAtom -> (R a -> R b -> RefExp -> R z) -> R a -> R b -> R z app3 :: RefSrcPos -> RefSrcPos -> RefExp -> RefAtom -> (R a -> R b -> R c -> RefExp -> R z) -> R a -> R b -> R c -> R z app4 :: RefSrcPos -> RefSrcPos -> RefExp -> RefAtom -> (R a -> R b -> R c -> R d -> RefExp -> R z) -> R a -> R b -> R c -> R d -> R z app5 :: RefSrcPos -> RefSrcPos -> RefExp -> RefAtom -> (R a -> R b -> R c -> R d -> R e -> RefExp -> R z) -> R a -> R b -> R c -> R d -> R e -> R z uapp1 :: RefSrcPos -> RefSrcPos -> RefExp -> RefAtom -> (R a -> RefExp -> R z) -> R a -> R z uapp2 :: RefSrcPos -> RefSrcPos -> RefExp -> RefAtom -> (R a -> R b -> RefExp -> R z) -> R a -> R b -> R z uapp3 :: RefSrcPos -> RefSrcPos -> RefExp -> RefAtom -> (R a -> R b -> R c -> RefExp -> R z) -> R a -> R b -> R c -> R z uapp4 :: RefSrcPos -> RefSrcPos -> RefExp -> RefAtom -> (R a -> R b -> R c -> R d -> RefExp -> R z) -> R a -> R b -> R c -> R d -> R z uapp5 :: RefSrcPos -> RefSrcPos -> RefExp -> RefAtom -> (R a -> R b -> R c -> R d -> R e -> RefExp -> R z) -> R a -> R b -> R c -> R d -> R e -> R z uwrapForward :: RefExp -> R a -> R a con0 :: RefSrcPos -> RefExp -> z -> RefAtom -> R z con1 :: RefSrcPos -> RefExp -> (R a -> z) -> RefAtom -> R a -> R z con2 :: RefSrcPos -> RefExp -> (R a -> R b -> z) -> RefAtom -> R a -> R b -> R z con3 :: RefSrcPos -> RefExp -> (R a -> R b -> R c -> z) -> RefAtom -> R a -> R b -> R c -> R z con4 :: RefSrcPos -> RefExp -> (R a -> R b -> R c -> R d -> z) -> RefAtom -> R a -> R b -> R c -> R d -> R z con5 :: RefSrcPos -> RefExp -> (R a -> R b -> R c -> R d -> R e -> z) -> RefAtom -> R a -> R b -> R c -> R d -> R e -> R z con6 :: RefSrcPos -> RefExp -> (R a -> R b -> R c -> R d -> R e -> R f -> z) -> RefAtom -> R a -> R b -> R c -> R d -> R e -> R f -> R z con7 :: RefSrcPos -> RefExp -> (R a -> R b -> R c -> R d -> R e -> R f -> R g -> z) -> RefAtom -> R a -> R b -> R c -> R d -> R e -> R f -> R g -> R z con8 :: RefSrcPos -> RefExp -> (R a -> R b -> R c -> R d -> R e -> R f -> R g -> R h -> z) -> RefAtom -> R a -> R b -> R c -> R d -> R e -> R f -> R g -> R h -> R z con9 :: RefSrcPos -> RefExp -> (R a -> R b -> R c -> R d -> R e -> R f -> R g -> R h -> R i -> z) -> RefAtom -> R a -> R b -> R c -> R d -> R e -> R f -> R g -> R h -> R i -> R z con10 :: RefSrcPos -> RefExp -> (R a -> R b -> R c -> R d -> R e -> R f -> R g -> R h -> R i -> R j -> z) -> RefAtom -> R a -> R b -> R c -> R d -> R e -> R f -> R g -> R h -> R i -> R j -> R z con11 :: RefSrcPos -> RefExp -> (R a -> R b -> R c -> R d -> R e -> R f -> R g -> R h -> R i -> R j -> R k -> z) -> RefAtom -> R a -> R b -> R c -> R d -> R e -> R f -> R g -> R h -> R i -> R j -> R k -> R z con12 :: RefSrcPos -> RefExp -> (R a -> R b -> R c -> R d -> R e -> R f -> R g -> R h -> R i -> R j -> R k -> R l -> z) -> RefAtom -> R a -> R b -> R c -> R d -> R e -> R f -> R g -> R h -> R i -> R j -> R k -> R l -> R z con13 :: RefSrcPos -> RefExp -> (R a -> R b -> R c -> R d -> R e -> R f -> R g -> R h -> R i -> R j -> R k -> R l -> R m -> z) -> RefAtom -> R a -> R b -> R c -> R d -> R e -> R f -> R g -> R h -> R i -> R j -> R k -> R l -> R m -> R z con14 :: RefSrcPos -> RefExp -> (R a -> R b -> R c -> R d -> R e -> R f -> R g -> R h -> R i -> R j -> R k -> R l -> R m -> R n -> z) -> RefAtom -> R a -> R b -> R c -> R d -> R e -> R f -> R g -> R h -> R i -> R j -> R k -> R l -> R m -> R n -> R z con15 :: RefSrcPos -> RefExp -> (R a -> R b -> R c -> R d -> R e -> R f -> R g -> R h -> R i -> R j -> R k -> R l -> R m -> R n -> R o -> z) -> RefAtom -> R a -> R b -> R c -> R d -> R e -> R f -> R g -> R h -> R i -> R j -> R k -> R l -> R m -> R n -> R o -> R z pa0 :: b -> (b -> RefExp -> c) -> RefSrcPos -> RefExp -> RefAtom -> c pa1 :: (R a1 -> b) -> (b -> RefExp -> c) -> RefSrcPos -> RefExp -> RefAtom -> R a1 -> c pa2 :: (R a1 -> R a2 -> b) -> (b -> RefExp -> c) -> RefSrcPos -> RefExp -> RefAtom -> R a1 -> R a2 -> c pa3 :: (R a1 -> R a2 -> R a3 -> b) -> (b -> RefExp -> c) -> RefSrcPos -> RefExp -> RefAtom -> R a1 -> R a2 -> R a3 -> c pa4 :: (R a1 -> R a2 -> R a3 -> R a4 -> b) -> (b -> RefExp -> c) -> RefSrcPos -> RefExp -> RefAtom -> R a1 -> R a2 -> R a3 -> R a4 -> c pa5 :: (R a1 -> R a2 -> R a3 -> R a4 -> R a5 -> b) -> (b -> RefExp -> c) -> RefSrcPos -> RefExp -> RefAtom -> R a1 -> R a2 -> R a3 -> R a4 -> R a5 -> c pa6 :: (R a1 -> R a2 -> R a3 -> R a4 -> R a5 -> R a6 -> b) -> (b -> RefExp -> c) -> RefSrcPos -> RefExp -> RefAtom -> R a1 -> R a2 -> R a3 -> R a4 -> R a5 -> R a6 -> c pa7 :: (R a1 -> R a2 -> R a3 -> R a4 -> R a5 -> R a6 -> R a7 -> b) -> (b -> RefExp -> c) -> RefSrcPos -> RefExp -> RefAtom -> R a1 -> R a2 -> R a3 -> R a4 -> R a5 -> R a6 -> R a7 -> c pa8 :: (R a1 -> R a2 -> R a3 -> R a4 -> R a5 -> R a6 -> R a7 -> R a8 -> b) -> (b -> RefExp -> c) -> RefSrcPos -> RefExp -> RefAtom -> R a1 -> R a2 -> R a3 -> R a4 -> R a5 -> R a6 -> R a7 -> R a8 -> c cn1 :: (R a1 -> b) -> RefExp -> R (Fun a1 b) cn2 :: (R a1 -> R a2 -> b) -> RefExp -> R (Fun a1 (Fun a2 b)) cn3 :: (R a1 -> R a2 -> R a3 -> b) -> RefExp -> R (Fun a1 (Fun a2 (Fun a3 b))) cn4 :: (R a1 -> R a2 -> R a3 -> R a4 -> b) -> RefExp -> R (Fun a1 (Fun a2 (Fun a3 (Fun a4 b)))) cn5 :: (R a1 -> R a2 -> R a3 -> R a4 -> R a5 -> b) -> RefExp -> R (Fun a1 (Fun a2 (Fun a3 (Fun a4 (Fun a5 b))))) cn6 :: (R a1 -> R a2 -> R a3 -> R a4 -> R a5 -> R a6 -> b) -> RefExp -> R (Fun a1 (Fun a2 (Fun a3 (Fun a4 (Fun a5 (Fun a6 b)))))) cn7 :: (R a1 -> R a2 -> R a3 -> R a4 -> R a5 -> R a6 -> R a7 -> b) -> RefExp -> R (Fun a1 (Fun a2 (Fun a3 (Fun a4 (Fun a5 (Fun a6 (Fun a7 b))))))) cn8 :: (R a1 -> R a2 -> R a3 -> R a4 -> R a5 -> R a6 -> R a7 -> R a8 -> b) -> RefExp -> R (Fun a1 (Fun a2 (Fun a3 (Fun a4 (Fun a5 (Fun a6 (Fun a7 (Fun a8 b)))))))) cn9 :: (R a1 -> R a2 -> R a3 -> R a4 -> R a5 -> R a6 -> R a7 -> R a8 -> R a9 -> b) -> RefExp -> R (Fun a1 (Fun a2 (Fun a3 (Fun a4 (Fun a5 (Fun a6 (Fun a7 (Fun a8 (Fun a9 b))))))))) cn10 :: (R a1 -> R a2 -> R a3 -> R a4 -> R a5 -> R a6 -> R a7 -> R a8 -> R a9 -> R a10 -> b) -> RefExp -> R (Fun a1 (Fun a2 (Fun a3 (Fun a4 (Fun a5 (Fun a6 (Fun a7 (Fun a8 (Fun a9 (Fun a10 b)))))))))) cn11 :: (R a1 -> R a2 -> R a3 -> R a4 -> R a5 -> R a6 -> R a7 -> R a8 -> R a9 -> R a10 -> R a11 -> b) -> RefExp -> R (Fun a1 (Fun a2 (Fun a3 (Fun a4 (Fun a5 (Fun a6 (Fun a7 (Fun a8 (Fun a9 (Fun a10 (Fun a11 b))))))))))) cn12 :: (R a1 -> R a2 -> R a3 -> R a4 -> R a5 -> R a6 -> R a7 -> R a8 -> R a9 -> R a10 -> R a11 -> R a12 -> b) -> RefExp -> R (Fun a1 (Fun a2 (Fun a3 (Fun a4 (Fun a5 (Fun a6 (Fun a7 (Fun a8 (Fun a9 (Fun a10 (Fun a11 (Fun a12 b)))))))))))) cguard :: RefSrcPos -> RefExp -> R Bool -> (RefExp -> R a) -> (RefExp -> R a) -> R a ucguard :: R Bool -> R a -> R a -> R a cif :: RefSrcPos -> RefExp -> R Bool -> (RefExp -> R a) -> (RefExp -> R a) -> R a ucif :: RefExp -> R Bool -> R a -> R a -> R a ccase :: RefSrcPos -> RefExp -> (R a -> RefExp -> R b) -> R a -> R b uccase :: RefSrcPos -> RefExp -> (R a -> RefExp -> R b) -> R a -> R b constUse :: RefSrcPos -> RefExp -> R a -> R a uconstUse :: RefSrcPos -> RefExp -> R a -> R a constDef :: RefExp -> RefAtom -> (RefExp -> R a) -> R a uconstDef :: RefExp -> RefAtom -> (RefExp -> R a) -> R a projection :: RefSrcPos -> RefExp -> R a -> R a class WrapVal a wrapVal :: WrapVal a => RefSrcPos -> a -> RefExp -> R a update1 :: WrapVal a => RefSrcPos -> RefExp -> R a -> (a -> a) -> RefAtom -> R b -> R a update2 :: WrapVal a => RefSrcPos -> RefExp -> R a -> (a -> a) -> RefAtom -> RefAtom -> R b -> R c -> R a uupdate :: WrapVal a => RefExp -> R a -> (a -> a) -> R a conChar :: RefSrcPos -> RefExp -> Char -> R Char conInteger :: RefSrcPos -> RefExp -> Integer -> R Integer mkAtomRational :: RefSrcPos -> RefExp -> Rational -> RefExp fromExpList :: RefSrcPos -> RefExp -> [R a] -> R (List a) fromLitString :: RefSrcPos -> RefExp -> String -> R (List Char) traceIO :: String -> R (IO a) -> IO () hatError :: RefExp -> String -> a fatal :: RefExp -> a outputTrace :: RefExp -> String -> IO () wrapForward :: RefExp -> R a -> R a mkModule :: String -> String -> Bool -> RefModule mkSrcPos :: RefModule -> Loc -> Loc -> RefSrcPos mkNoSrcPos :: RefSrcPos mkRoot :: RefExp mkValueUse :: RefExp -> RefSrcPos -> RefAtom -> RefExp mkValueApp1 :: RefExp -> RefSrcPos -> RefAtom -> RefExp -> RefExp mkValueApp2 :: RefExp -> RefSrcPos -> RefAtom -> RefExp -> RefExp -> RefExp mkValueApp3 :: RefExp -> RefSrcPos -> RefAtom -> RefExp -> RefExp -> RefExp -> RefExp mkValueApp4 :: RefExp -> RefSrcPos -> RefAtom -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp mkValueApp5 :: RefExp -> RefSrcPos -> RefAtom -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp mkValueApp6 :: RefExp -> RefSrcPos -> RefAtom -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp mkValueApp7 :: RefExp -> RefSrcPos -> RefAtom -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp mkValueApp8 :: RefExp -> RefSrcPos -> RefAtom -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp mkValueApp9 :: RefExp -> RefSrcPos -> RefAtom -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp mkValueApp10 :: RefExp -> RefSrcPos -> RefAtom -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp mkValueApp11 :: RefExp -> RefSrcPos -> RefAtom -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp mkValueApp12 :: RefExp -> RefSrcPos -> RefAtom -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp mkValueApp13 :: RefExp -> RefSrcPos -> RefAtom -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp mkValueApp14 :: RefExp -> RefSrcPos -> RefAtom -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp mkValueApp15 :: RefExp -> RefSrcPos -> RefAtom -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp mkApp1 :: RefExp -> RefSrcPos -> RefExp -> RefExp -> RefExp mkApp2 :: RefExp -> RefSrcPos -> RefExp -> RefExp -> RefExp -> RefExp mkApp3 :: RefExp -> RefSrcPos -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp mkApp4 :: RefExp -> RefSrcPos -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp mkApp5 :: RefExp -> RefSrcPos -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp mkApp6 :: RefExp -> RefSrcPos -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp mkApp7 :: RefExp -> RefSrcPos -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp mkApp8 :: RefExp -> RefSrcPos -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp mkApp9 :: RefExp -> RefSrcPos -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp mkApp10 :: RefExp -> RefSrcPos -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp mkApp11 :: RefExp -> RefSrcPos -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp mkApp12 :: RefExp -> RefSrcPos -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp mkApp13 :: RefExp -> RefSrcPos -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp mkApp14 :: RefExp -> RefSrcPos -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp mkApp15 :: RefExp -> RefSrcPos -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp -> RefExp mkLambda :: RefAtom mkVariable :: RefModule -> Loc -> Loc -> Fixity -> Arity -> String -> Bool -> RefAtom mkConstructor :: RefModule -> Loc -> Loc -> Fixity -> Arity -> String -> RefAtom mkConstructorWFields :: RefModule -> Loc -> Loc -> Fixity -> Arity -> String -> [RefAtom] -> RefAtom mkAbstract :: String -> RefAtom mkDoLambda :: RefAtom instance GHC.Classes.Eq Hat.Hat.RefExp module Hat.PreludeBuiltinTypes newtype Fun a b Fun :: (RefExp -> R a -> R b) -> Fun a b -- | A fixed-precision integer type with at least the range [-2^29 .. -- 2^29-1]. The exact range for a given implementation can be -- determined by using minBound and maxBound from the -- Bounded class. data Int :: * -- | The character type Char is an enumeration whose values -- represent Unicode (or equivalently ISO/IEC 10646) characters (see -- http://www.unicode.org/ for details). This set extends the ISO -- 8859-1 (Latin-1) character set (the first 256 characters), which is -- itself an extension of the ASCII character set (the first 128 -- characters). A character literal in Haskell has type Char. -- -- To convert a Char to or from the corresponding Int value -- defined by Unicode, use toEnum and fromEnum from the -- Enum class respectively (or equivalently ord and -- chr). data Char :: * -- | Invariant: Jn# and Jp# are used iff value doesn't fit in -- S# -- -- Useful properties resulting from the invariants: -- -- data Integer :: * -- | Single-precision floating point numbers. It is desirable that this -- type be at least equal in range and precision to the IEEE -- single-precision type. data Float :: * -- | Double-precision floating point numbers. It is desirable that this -- type be at least equal in range and precision to the IEEE -- double-precision type. data Double :: * data Bool :: * False :: Bool True :: Bool -- | The Haskell 2010 type for exceptions in the IO monad. Any I/O -- operation may raise an IOError instead of returning a result. -- For a more general type of exception, including also those that arise -- in pure code, see Exception. -- -- In Haskell 2010, this is an opaque type. type IOError = IOException aTrue :: RefAtom aFalse :: RefAtom type String = List Char toFun :: (RefExp -> c -> R a) -> (RefExp -> R b -> d) -> RefExp -> R (Fun a b) -> (c -> d) fromFun :: (RefExp -> R a -> b) -> (RefExp -> c -> R d) -> RefExp -> (b -> c) -> R (Fun a d) toBool :: RefExp -> R Bool -> Bool fromBool :: RefExp -> Bool -> R Bool toList :: (RefExp -> R a -> b) -> RefExp -> R (List a) -> [b] fromList :: (RefExp -> a -> R b) -> RefExp -> [a] -> R (List b) toString :: RefExp -> R String -> String fromString :: RefExp -> String -> R String toIOError :: RefExp -> R IOError -> IOError fromIOError :: RefExp -> IOError -> R IOError aIOError :: RefAtom gerror :: RefSrcPos -> RefExp -> R (Fun String z) herror :: R String -> RefExp -> a aerror :: RefAtom gundefined :: RefSrcPos -> RefExp -> R a hundefined :: RefExp -> a aundefined :: RefAtom module Hat.PreludeBasic gyield :: RefSrcPos -> RefExp -> R (Fun a (ReadS a)) hyield :: R a -> R (ReadS___1 a) -> RefExp -> R (ReadS___2 a) glift :: RefSrcPos -> RefExp -> R (Fun (Fun a (Fun b (ReadS c))) (Fun (ReadS a) (Fun (ReadS b) (ReadS c)))) hlift :: R (Fun a (Fun b (ReadS c))) -> R (ReadS a) -> R (ReadS b) -> R (ReadS___1 c) -> RefExp -> R (ReadS___2 c) gthenAp :: RefSrcPos -> RefExp -> R (Fun (ReadS (Fun a b)) (Fun (ReadS a) (ReadS b))) gthenLex :: RefSrcPos -> RefExp -> R (Fun (ReadS a) (Fun String (ReadS a))) hthenLex :: R (ReadS a) -> R String -> RefExp -> R (ReadS a) galt :: RefSrcPos -> RefExp -> R (Fun (ReadS a) (Fun (ReadS a) (ReadS a))) halt :: R (ReadS a) -> R (ReadS a) -> R (ReadS___1 a) -> RefExp -> R (ReadS___2 a) gguard :: RefSrcPos -> RefExp -> R (Fun Bool (List Tuple0)) hguard :: R Bool -> RefExp -> R (List Tuple0) class Eq a where (%/=) !/= p = ufun2 (++>=*=+>=%+/=) (%/=) p (*/=) where (fx */= fy) p = uwrapForward p (hnot (uap2 mkNoSrcPos p ((!==) mkNoSrcPos p) fx fy) p) (%==) !== p = ufun2 (+^!=*=^!=%+==) (%==) p (*==) where (fx *== fy) p = uwrapForward p (hnot (uap2 mkNoSrcPos p ((!/=) mkNoSrcPos p) fx fy) p) (!==, !/=) :: Eq a => RefSrcPos -> RefExp -> R (Fun a (Fun a Bool)) (!==, !/=) :: Eq a => RefSrcPos -> RefExp -> R (Fun a (Fun a Bool)) (|==, |/=) :: Eq a => R (Fun a (Fun a Bool)) (|==, |/=) :: Eq a => R (Fun a (Fun a Bool)) class (Eq a) => Ord a where gcompare pcompare p = ufun2 c81v5v84v26compare pcompare p hcompare where hcompare fx fy p = ucguard (uap2 mkNoSrcPos p ((!==) mkNoSrcPos p) fx fy) (con0 mkNoSrcPos p EQ aEQ) (ucguard (uap2 mkNoSrcPos p ((!<=) mkNoSrcPos p) fx fy) (con0 mkNoSrcPos p LT aLT) (ucguard (gotherwise mkNoSrcPos p) (con0 mkNoSrcPos p GT aGT) (fatal p))) (%<=) !<= p = ufun2 (+@+=*=@+=<=) (%<=) p (*<=) where (fx *<= fy) p = uap2 mkNoSrcPos p ((!/=) mkNoSrcPos p) (uap2 mkNoSrcPos p (gcompare mkNoSrcPos p) fx fy) (con0 mkNoSrcPos p GT aGT) (%<) !< p = ufun2 (+@^=*=@^=<) (%<) p (*<) where (fx *< fy) p = uap2 mkNoSrcPos p ((!==) mkNoSrcPos p) (uap2 mkNoSrcPos p (gcompare mkNoSrcPos p) fx fy) (con0 mkNoSrcPos p LT aLT) (%>=) !>= p = ufun2 (+@@=*=@@=>=) (%>=) p (*>=) where (fx *>= fy) p = uap2 mkNoSrcPos p ((!/=) mkNoSrcPos p) (uap2 mkNoSrcPos p (gcompare mkNoSrcPos p) fx fy) (con0 mkNoSrcPos p LT aLT) (%>) !> p = ufun2 (+@>=*=@>=>) (%>) p (*>) where (fx *> fy) p = uap2 mkNoSrcPos p ((!==) mkNoSrcPos p) (uap2 mkNoSrcPos p (gcompare mkNoSrcPos p) fx fy) (con0 mkNoSrcPos p GT aGT) gmax pmax p = ufun2 c92v5v94v25max pmax p hmax where hmax fx fy p = ucguard (uap2 mkNoSrcPos p ((!<=) mkNoSrcPos p) fx fy) (projection mkNoSrcPos p fy) (ucguard (gotherwise mkNoSrcPos p) (projection mkNoSrcPos p fx) (fatal p)) gmin pmin p = ufun2 c95v5v97v25min pmin p hmin where hmin fx fy p = ucguard (uap2 mkNoSrcPos p ((!<=) mkNoSrcPos p) fx fy) (projection mkNoSrcPos p fx) (ucguard (gotherwise mkNoSrcPos p) (projection mkNoSrcPos p fy) (fatal p)) gcompare :: Ord a => RefSrcPos -> RefExp -> R (Fun a (Fun a Ordering)) scompare :: Ord a => R (Fun a (Fun a Ordering)) (!<, !<=, !>=, !>) :: Ord a => RefSrcPos -> RefExp -> R (Fun a (Fun a Bool)) (!<, !<=, !>=, !>) :: Ord a => RefSrcPos -> RefExp -> R (Fun a (Fun a Bool)) (!<, !<=, !>=, !>) :: Ord a => RefSrcPos -> RefExp -> R (Fun a (Fun a Bool)) (!<, !<=, !>=, !>) :: Ord a => RefSrcPos -> RefExp -> R (Fun a (Fun a Bool)) (|<, |<=, |>=, |>) :: Ord a => R (Fun a (Fun a Bool)) (|<, |<=, |>=, |>) :: Ord a => R (Fun a (Fun a Bool)) (|<, |<=, |>=, |>) :: Ord a => R (Fun a (Fun a Bool)) (|<, |<=, |>=, |>) :: Ord a => R (Fun a (Fun a Bool)) gmax, gmin :: Ord a => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) gmax, gmin :: Ord a => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) smax, smin :: Ord a => R (Fun a (Fun a a)) smax, smin :: Ord a => R (Fun a (Fun a a)) class Enum a where stoEnum = gundefined mkNoSrcPos p sfromEnum = gundefined mkNoSrcPos p gsucc psucc p = uconstUse psucc p ssucc ssucc = uconstDef p c117v5v117v48succ (\ p -> uap2 mkNoSrcPos p ((!.) mkNoSrcPos p) (gtoEnum mkNoSrcPos p) (uap2 mkNoSrcPos p ((!.) mkNoSrcPos p) (uap2 mkNoSrcPos p (gflip mkNoSrcPos p) ((!+) mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (1)))) (gfromEnum mkNoSrcPos p))) gpred ppred p = uconstUse ppred p spred spred = uconstDef p c118v5v118v56pred (\ p -> uap2 mkNoSrcPos p ((!.) mkNoSrcPos p) (gtoEnum mkNoSrcPos p) (uap2 mkNoSrcPos p ((!.) mkNoSrcPos p) (uap1 mkNoSrcPos p (gsubtract mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (1)))) (gfromEnum mkNoSrcPos p))) genumFrom penumFrom p = ufun1 c119v5v119v50enumFrom penumFrom p henumFrom where henumFrom fx p = uwrapForward p (hmap (gtoEnum mkNoSrcPos p) (uap1 mkNoSrcPos p (genumFrom mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromEnum mkNoSrcPos p) fx)) p) genumFromTo penumFromTo p = ufun2 c120v5v120v61enumFromTo penumFromTo p henumFromTo where henumFromTo fx fy p = uwrapForward p (hmap (gtoEnum mkNoSrcPos p) (uap2 mkNoSrcPos p (genumFromTo mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromEnum mkNoSrcPos p) fx) (uap1 mkNoSrcPos p (gfromEnum mkNoSrcPos p) fy)) p) genumFromThen penumFromThen p = ufun2 c121v5v121v62enumFromThen penumFromThen p henumFromThen where henumFromThen fx fy p = uwrapForward p (hmap (gtoEnum mkNoSrcPos p) (uap2 mkNoSrcPos p (genumFromThen mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromEnum mkNoSrcPos p) fx) (uap1 mkNoSrcPos p (gfromEnum mkNoSrcPos p) fy)) p) genumFromThenTo penumFromThenTo p = ufun3 c122v5v123v73enumFromThenTo penumFromThenTo p henumFromThenTo where henumFromThenTo fx fy fz p = uwrapForward p (hmap (gtoEnum mkNoSrcPos p) (uap3 mkNoSrcPos p (genumFromThenTo mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromEnum mkNoSrcPos p) fx) (uap1 mkNoSrcPos p (gfromEnum mkNoSrcPos p) fy) (uap1 mkNoSrcPos p (gfromEnum mkNoSrcPos p) fz)) p) gsucc, gpred :: Enum a => RefSrcPos -> RefExp -> R (Fun a a) gsucc, gpred :: Enum a => RefSrcPos -> RefExp -> R (Fun a a) ssucc, spred :: Enum a => R (Fun a a) ssucc, spred :: Enum a => R (Fun a a) gtoEnum :: Enum a => RefSrcPos -> RefExp -> R (Fun Int a) stoEnum :: Enum a => R (Fun Int a) gfromEnum :: Enum a => RefSrcPos -> RefExp -> R (Fun a Int) sfromEnum :: Enum a => R (Fun a Int) genumFrom :: Enum a => RefSrcPos -> RefExp -> R (Fun a (List a)) senumFrom :: Enum a => R (Fun a (List a)) genumFromThen :: Enum a => RefSrcPos -> RefExp -> R (Fun a (Fun a (List a))) senumFromThen :: Enum a => R (Fun a (Fun a (List a))) genumFromTo :: Enum a => RefSrcPos -> RefExp -> R (Fun a (Fun a (List a))) senumFromTo :: Enum a => R (Fun a (Fun a (List a))) genumFromThenTo :: Enum a => RefSrcPos -> RefExp -> R (Fun a (Fun a (Fun a (List a)))) senumFromThenTo :: Enum a => R (Fun a (Fun a (Fun a (List a)))) class Bounded a where sminBound = gundefined mkNoSrcPos p smaxBound = gundefined mkNoSrcPos p gminBound :: Bounded a => RefSrcPos -> RefExp -> R a sminBound :: Bounded a => R a gmaxBound :: Bounded a => RefSrcPos -> RefExp -> R a smaxBound :: Bounded a => R a class (Eq a, Show a) => Num a where (|+) = gundefined mkNoSrcPos p (|*) = gundefined mkNoSrcPos p sabs = gundefined mkNoSrcPos p ssignum = gundefined mkNoSrcPos p sfromInteger = gundefined mkNoSrcPos p (%-) !- p = ufun2 (+#=*=#=%+-) (%-) p (*-) where (fx *- fy) p = uap2 mkNoSrcPos p ((!+) mkNoSrcPos p) fx (uap1 mkNoSrcPos p (gnegate mkNoSrcPos p) fy) gnegate pnegate p = ufun1 c142v5v142v29negate pnegate p hnegate where hnegate fx p = uap2 mkNoSrcPos p ((!-) mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0))) fx (!+, !-, !*) :: Num a => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) (!+, !-, !*) :: Num a => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) (!+, !-, !*) :: Num a => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) (|+, |-, |*) :: Num a => R (Fun a (Fun a a)) (|+, |-, |*) :: Num a => R (Fun a (Fun a a)) (|+, |-, |*) :: Num a => R (Fun a (Fun a a)) gnegate :: Num a => RefSrcPos -> RefExp -> R (Fun a a) snegate :: Num a => R (Fun a a) gabs, gsignum :: Num a => RefSrcPos -> RefExp -> R (Fun a a) gabs, gsignum :: Num a => RefSrcPos -> RefExp -> R (Fun a a) sabs, ssignum :: Num a => R (Fun a a) sabs, ssignum :: Num a => R (Fun a a) gfromInteger :: Num a => RefSrcPos -> RefExp -> R (Fun Integer a) sfromInteger :: Num a => R (Fun Integer a) class (Num a, Ord a) => Real a where stoRational = gundefined mkNoSrcPos p gtoRational :: Real a => RefSrcPos -> RefExp -> R (Fun a Rational) stoRational :: Real a => R (Fun a Rational) class (Real a, Enum a) => Integral a where squotRem = gundefined mkNoSrcPos p stoInteger = gundefined mkNoSrcPos p gquot pquot p = ufun2 c157v5v157v32quot pquot p hquot where hquot fn fd p = gq mkNoSrcPos p where gq pq p = uconstUse pq p sq gr pr p = uconstUse pr p sr sq = uconstDef p c157v34v157v52q (\ _ -> case j157v34v157v52q of { (kq, fq, fr) -> fq }) sr = uconstDef p c157v34v157v52r (\ _ -> case j157v34v157v52q of { (kq, fq, fr) -> fr }) j157v34v157v52q = case uap2 mkNoSrcPos p (gquotRem mkNoSrcPos p) fn fd of { R (Tuple2 fq fr) kq -> (kq, fq, fr) _ -> fatal p } grem prem p = ufun2 c158v5v158v32rem prem p hrem where hrem fn fd p = gr mkNoSrcPos p where gq pq p = uconstUse pq p sq gr pr p = uconstUse pr p sr sq = uconstDef p c158v34v158v52q (\ _ -> case j158v34v158v52q of { (kq, fq, fr) -> fq }) sr = uconstDef p c158v34v158v52r (\ _ -> case j158v34v158v52q of { (kq, fq, fr) -> fr }) j158v34v158v52q = case uap2 mkNoSrcPos p (gquotRem mkNoSrcPos p) fn fd of { R (Tuple2 fq fr) kq -> (kq, fq, fr) _ -> fatal p } gdiv pdiv p = ufun2 c159v5v159v32div pdiv p hdiv where hdiv fn fd p = gq mkNoSrcPos p where gq pq p = uconstUse pq p sq gr pr p = uconstUse pr p sr sq = uconstDef p c159v34v159v51q (\ _ -> case j159v34v159v51q of { (kq, fq, fr) -> fq }) sr = uconstDef p c159v34v159v51r (\ _ -> case j159v34v159v51q of { (kq, fq, fr) -> fr }) j159v34v159v51q = case uap2 mkNoSrcPos p (gdivMod mkNoSrcPos p) fn fd of { R (Tuple2 fq fr) kq -> (kq, fq, fr) _ -> fatal p } gmod pmod p = ufun2 c160v5v160v32mod pmod p hmod where hmod fn fd p = gr mkNoSrcPos p where gq pq p = uconstUse pq p sq gr pr p = uconstUse pr p sr sq = uconstDef p c160v34v160v51q (\ _ -> case j160v34v160v51q of { (kq, fq, fr) -> fq }) sr = uconstDef p c160v34v160v51r (\ _ -> case j160v34v160v51q of { (kq, fq, fr) -> fr }) j160v34v160v51q = case uap2 mkNoSrcPos p (gdivMod mkNoSrcPos p) fn fd of { R (Tuple2 fq fr) kq -> (kq, fq, fr) _ -> fatal p } gdivMod pdivMod p = ufun2 c161v5v164v29divMod pdivMod p hdivMod where hdivMod fn fd p = ucif p (uap2 mkNoSrcPos p ((!==) mkNoSrcPos p) (uap1 mkNoSrcPos p (gsignum mkNoSrcPos p) (gr mkNoSrcPos p)) (uap1 mkNoSrcPos p (gnegate mkNoSrcPos p) (uap1 mkNoSrcPos p (gsignum mkNoSrcPos p) fd))) (con2 mkNoSrcPos p Tuple2 aTuple2 (uap2 mkNoSrcPos p ((!-) mkNoSrcPos p) (gq mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (1)))) (uap2 mkNoSrcPos p ((!+) mkNoSrcPos p) (gr mkNoSrcPos p) fd)) (gqr mkNoSrcPos p) where gqr pqr p = uconstUse pqr p sqr sqr = uconstDef p c164v31v164v52qr (\ p -> uap2 mkNoSrcPos p (gquotRem mkNoSrcPos p) fn fd) gq pq p = uconstUse pq p sq gr pr p = uconstUse pr p sr sq = uconstDef p c164v31v164v52q (\ _ -> case j164v31v164v52q of { (kq, fq, fr) -> fq }) sr = uconstDef p c164v31v164v52r (\ _ -> case j164v31v164v52q of { (kq, fq, fr) -> fr }) j164v31v164v52q = case gqr mkNoSrcPos p of { R (Tuple2 fq fr) kq -> (kq, fq, fr) _ -> fatal p } gquot, grem :: Integral a => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) gquot, grem :: Integral a => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) squot, srem :: Integral a => R (Fun a (Fun a a)) squot, srem :: Integral a => R (Fun a (Fun a a)) gdiv, gmod :: Integral a => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) gdiv, gmod :: Integral a => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) sdiv, smod :: Integral a => R (Fun a (Fun a a)) sdiv, smod :: Integral a => R (Fun a (Fun a a)) gquotRem, gdivMod :: Integral a => RefSrcPos -> RefExp -> R (Fun a (Fun a (Tuple2 a a))) gquotRem, gdivMod :: Integral a => RefSrcPos -> RefExp -> R (Fun a (Fun a (Tuple2 a a))) squotRem, sdivMod :: Integral a => R (Fun a (Fun a (Tuple2 a a))) squotRem, sdivMod :: Integral a => R (Fun a (Fun a (Tuple2 a a))) gtoInteger :: Integral a => RefSrcPos -> RefExp -> R (Fun a Integer) stoInteger :: Integral a => R (Fun a Integer) class (Num a) => Fractional a where sfromRational = gundefined mkNoSrcPos p grecip precip p = ufun1 c174v5v174v29recip precip p hrecip where hrecip fx p = uap2 mkNoSrcPos p ((!/) mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (1))) fx (%/) !/ p = ufun2 (+#^*=*=#^*=%*/) (%/) p (*/) where (fx */ fy) p = uap2 mkNoSrcPos p ((!*) mkNoSrcPos p) fx (uap1 mkNoSrcPos p (grecip mkNoSrcPos p) fy) (!/) :: Fractional a => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) (|/) :: Fractional a => R (Fun a (Fun a a)) grecip :: Fractional a => RefSrcPos -> RefExp -> R (Fun a a) srecip :: Fractional a => R (Fun a a) gfromRational :: Fractional a => RefSrcPos -> RefExp -> R (Fun Rational a) sfromRational :: Fractional a => R (Fun Rational a) class (Fractional a) => Floating a where spi = gundefined mkNoSrcPos p sexp = gundefined mkNoSrcPos p slog = gundefined mkNoSrcPos p ssin = gundefined mkNoSrcPos p scos = gundefined mkNoSrcPos p sasin = gundefined mkNoSrcPos p sacos = gundefined mkNoSrcPos p satan = gundefined mkNoSrcPos p ssinh = gundefined mkNoSrcPos p scosh = gundefined mkNoSrcPos p sasinh = gundefined mkNoSrcPos p sacosh = gundefined mkNoSrcPos p satanh = gundefined mkNoSrcPos p (%**) !** p = ufun2 (+#>#=*=#>#=%>**) (%**) p (***) where (fx *** fy) p = uap1 mkNoSrcPos p (gexp mkNoSrcPos p) (uap2 mkNoSrcPos p ((!*) mkNoSrcPos p) (uap1 mkNoSrcPos p (glog mkNoSrcPos p) fx) fy) glogBase plogBase p = ufun2 c192v5v192v37logBase plogBase p hlogBase where hlogBase fx fy p = uap2 mkNoSrcPos p ((!/) mkNoSrcPos p) (uap1 mkNoSrcPos p (glog mkNoSrcPos p) fy) (uap1 mkNoSrcPos p (glog mkNoSrcPos p) fx) gsqrt psqrt p = ufun1 c193v5v193v32sqrt psqrt p hsqrt where hsqrt fx p = uap2 mkNoSrcPos p ((!**) mkNoSrcPos p) fx (uap1 mkNoSrcPos p (gfromRational mkNoSrcPos p) (R ((:%) (conInteger mkNoSrcPos p (1)) (conInteger mkNoSrcPos p (2))) (mkAtomRational mkNoSrcPos p 0.5))) gtan ptan p = ufun1 c194v5v194v39tan ptan p htan where htan fx p = uap2 mkNoSrcPos p ((!/) mkNoSrcPos p) (uap1 mkNoSrcPos p (gsin mkNoSrcPos p) fx) (uap1 mkNoSrcPos p (gcos mkNoSrcPos p) fx) gtanh ptanh p = ufun1 c195v5v195v39tanh ptanh p htanh where htanh fx p = uap2 mkNoSrcPos p ((!/) mkNoSrcPos p) (uap1 mkNoSrcPos p (gsinh mkNoSrcPos p) fx) (uap1 mkNoSrcPos p (gcosh mkNoSrcPos p) fx) gpi :: Floating a => RefSrcPos -> RefExp -> R a spi :: Floating a => R a gexp, glog, gsqrt :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) gexp, glog, gsqrt :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) gexp, glog, gsqrt :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) sexp, slog, ssqrt :: Floating a => R (Fun a a) sexp, slog, ssqrt :: Floating a => R (Fun a a) sexp, slog, ssqrt :: Floating a => R (Fun a a) (!**, glogBase) :: Floating a => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) (!**, glogBase) :: Floating a => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) (|**, slogBase) :: Floating a => R (Fun a (Fun a a)) (|**, slogBase) :: Floating a => R (Fun a (Fun a a)) gsin, gcos, gtan :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) gsin, gcos, gtan :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) gsin, gcos, gtan :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) ssin, scos, stan :: Floating a => R (Fun a a) ssin, scos, stan :: Floating a => R (Fun a a) ssin, scos, stan :: Floating a => R (Fun a a) gasin, gacos, gatan :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) gasin, gacos, gatan :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) gasin, gacos, gatan :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) sasin, sacos, satan :: Floating a => R (Fun a a) sasin, sacos, satan :: Floating a => R (Fun a a) sasin, sacos, satan :: Floating a => R (Fun a a) gsinh, gcosh, gtanh :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) gsinh, gcosh, gtanh :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) gsinh, gcosh, gtanh :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) ssinh, scosh, stanh :: Floating a => R (Fun a a) ssinh, scosh, stanh :: Floating a => R (Fun a a) ssinh, scosh, stanh :: Floating a => R (Fun a a) gasinh, gacosh, gatanh :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) gasinh, gacosh, gatanh :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) gasinh, gacosh, gatanh :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) sasinh, sacosh, satanh :: Floating a => R (Fun a a) sasinh, sacosh, satanh :: Floating a => R (Fun a a) sasinh, sacosh, satanh :: Floating a => R (Fun a a) class (Real a, Fractional a) => RealFrac a where sproperFraction = gundefined mkNoSrcPos p gtruncate ptruncate p = ufun1 c206v5v206v32truncate ptruncate p htruncate where htruncate fx p = gm mkNoSrcPos p where gm pm p = uconstUse pm p sm sm = uconstDef p c206v34v206v57m (\ _ -> case j206v34v206v57m of { (km, fm) -> fm }) j206v34v206v57m = case uap1 mkNoSrcPos p (gproperFraction mkNoSrcPos p) fx of { R (Tuple2 fm _) km -> (km, fm) _ -> fatal p } ground pround p = ufun1 c208v5v221v0round pround p hround where hround fx p = let gn pn p = uconstUse pn p sn gr pr p = uconstUse pr p sr sn = uconstDef p c208v29v208v52n (\ _ -> case j208v29v208v52n of { (kn, fn, fr) -> fn }) sr = uconstDef p c208v29v208v52r (\ _ -> case j208v29v208v52n of { (kn, fn, fr) -> fr }) j208v29v208v52n = case uap1 mkNoSrcPos p (gproperFraction mkNoSrcPos p) fx of { R (Tuple2 fn fr) kn -> (kn, fn, fr) _ -> fatal p } gm pm p = uconstUse pm p sm sm = uconstDef p c209v29v209v66m (\ p -> ucif p (uap2 mkNoSrcPos p ((!<) mkNoSrcPos p) (gr mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) (uap2 mkNoSrcPos p ((!-) mkNoSrcPos p) (gn mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (1)))) (uap2 mkNoSrcPos p ((!+) mkNoSrcPos p) (gn mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (1))))) in uccase mkNoSrcPos p (let v210v30v221v0v1 (R LT _) p = gn mkNoSrcPos p v210v30v221v0v1 (R EQ _) p = ucif p (uwrapForward p (heven (gn mkNoSrcPos p) p)) (gn mkNoSrcPos p) (gm mkNoSrcPos p) v210v30v221v0v1 (R GT _) p = gm mkNoSrcPos p v210v30v221v0v1 _ p = fatal p in v210v30v221v0v1) (uap2 mkNoSrcPos p (gcompare mkNoSrcPos p) (uap1 mkNoSrcPos p (gsignum mkNoSrcPos p) (uap2 mkNoSrcPos p ((!-) mkNoSrcPos p) (uap1 mkNoSrcPos p (gabs mkNoSrcPos p) (gr mkNoSrcPos p)) (uap1 mkNoSrcPos p (gfromRational mkNoSrcPos p) (R ((:%) (conInteger mkNoSrcPos p (1)) (conInteger mkNoSrcPos p (2))) (mkAtomRational mkNoSrcPos p 0.5))))) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) gceiling pceiling p = ufun1 c221v5v222v29ceiling pceiling p hceiling where hceiling fx p = ucif p (uap2 mkNoSrcPos p ((!>) mkNoSrcPos p) (gr mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) (uap2 mkNoSrcPos p ((!+) mkNoSrcPos p) (gn mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (1)))) (gn mkNoSrcPos p) where gn pn p = uconstUse pn p sn gr pr p = uconstUse pr p sr sn = uconstDef p c222v31v222v54n (\ _ -> case j222v31v222v54n of { (kn, fn, fr) -> fn }) sr = uconstDef p c222v31v222v54r (\ _ -> case j222v31v222v54n of { (kn, fn, fr) -> fr }) j222v31v222v54n = case uap1 mkNoSrcPos p (gproperFraction mkNoSrcPos p) fx of { R (Tuple2 fn fr) kn -> (kn, fn, fr) _ -> fatal p } gfloor pfloor p = ufun1 c224v5v225v29floor pfloor p hfloor where hfloor fx p = ucif p (uap2 mkNoSrcPos p ((!<) mkNoSrcPos p) (gr mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) (uap2 mkNoSrcPos p ((!-) mkNoSrcPos p) (gn mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (1)))) (gn mkNoSrcPos p) where gn pn p = uconstUse pn p sn gr pr p = uconstUse pr p sr sn = uconstDef p c225v31v225v54n (\ _ -> case j225v31v225v54n of { (kn, fn, fr) -> fn }) sr = uconstDef p c225v31v225v54r (\ _ -> case j225v31v225v54n of { (kn, fn, fr) -> fr }) j225v31v225v54n = case uap1 mkNoSrcPos p (gproperFraction mkNoSrcPos p) fx of { R (Tuple2 fn fr) kn -> (kn, fn, fr) _ -> fatal p } gproperFraction :: (RealFrac a, Integral b) => RefSrcPos -> RefExp -> R (Fun a (Tuple2 b a)) sproperFraction :: (RealFrac a, Integral b) => R (Fun a (Tuple2 b a)) gtruncate, ground :: (RealFrac a, Integral b) => RefSrcPos -> RefExp -> R (Fun a b) gtruncate, ground :: (RealFrac a, Integral b) => RefSrcPos -> RefExp -> R (Fun a b) struncate, sround :: (RealFrac a, Integral b) => R (Fun a b) struncate, sround :: (RealFrac a, Integral b) => R (Fun a b) gceiling, gfloor :: (RealFrac a, Integral b) => RefSrcPos -> RefExp -> R (Fun a b) gceiling, gfloor :: (RealFrac a, Integral b) => RefSrcPos -> RefExp -> R (Fun a b) sceiling, sfloor :: (RealFrac a, Integral b) => R (Fun a b) sceiling, sfloor :: (RealFrac a, Integral b) => R (Fun a b) class (RealFrac a, Floating a) => RealFloat a where sfloatRadix = gundefined mkNoSrcPos p sfloatDigits = gundefined mkNoSrcPos p sfloatRange = gundefined mkNoSrcPos p sdecodeFloat = gundefined mkNoSrcPos p sencodeFloat = gundefined mkNoSrcPos p sisNaN = gundefined mkNoSrcPos p sisInfinite = gundefined mkNoSrcPos p sisDenormalized = gundefined mkNoSrcPos p sisNegativeZero = gundefined mkNoSrcPos p sisIEEE = gundefined mkNoSrcPos p gexponent pexponent p = ufun1 c244v5v245v29exponent pexponent p hexponent where hexponent fx p = ucif p (uap2 mkNoSrcPos p ((!==) mkNoSrcPos p) (gm mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0))) (uap2 mkNoSrcPos p ((!+) mkNoSrcPos p) (gn mkNoSrcPos p) (uap1 mkNoSrcPos p (gfloatDigits mkNoSrcPos p) fx)) where gm pm p = uconstUse pm p sm gn pn p = uconstUse pn p sn sm = uconstDef p c245v31v245v51m (\ _ -> case j245v31v245v51m of { (km, fm, fn) -> fm }) sn = uconstDef p c245v31v245v51n (\ _ -> case j245v31v245v51m of { (km, fm, fn) -> fn }) j245v31v245v51m = case uap1 mkNoSrcPos p (gdecodeFloat mkNoSrcPos p) fx of { R (Tuple2 fm fn) km -> (km, fm, fn) _ -> fatal p } gsignificand psignificand p = ufun1 c247v5v248v29significand psignificand p hsignificand where hsignificand fx p = uap2 mkNoSrcPos p (gencodeFloat mkNoSrcPos p) (gm mkNoSrcPos p) (uap1 mkNoSrcPos p (gnegate mkNoSrcPos p) (uap1 mkNoSrcPos p (gfloatDigits mkNoSrcPos p) fx)) where gm pm p = uconstUse pm p sm sm = uconstDef p c248v31v248v51m (\ _ -> case j248v31v248v51m of { (km, fm) -> fm }) j248v31v248v51m = case uap1 mkNoSrcPos p (gdecodeFloat mkNoSrcPos p) fx of { R (Tuple2 fm _) km -> (km, fm) _ -> fatal p } gscaleFloat pscaleFloat p = ufun2 c250v5v251v29scaleFloat pscaleFloat p hscaleFloat where hscaleFloat fk fx p = uap2 mkNoSrcPos p (gencodeFloat mkNoSrcPos p) (gm mkNoSrcPos p) (uap2 mkNoSrcPos p ((!+) mkNoSrcPos p) (gn mkNoSrcPos p) fk) where gm pm p = uconstUse pm p sm gn pn p = uconstUse pn p sn sm = uconstDef p c251v31v251v51m (\ _ -> case j251v31v251v51m of { (km, fm, fn) -> fm }) sn = uconstDef p c251v31v251v51n (\ _ -> case j251v31v251v51m of { (km, fm, fn) -> fn }) j251v31v251v51m = case uap1 mkNoSrcPos p (gdecodeFloat mkNoSrcPos p) fx of { R (Tuple2 fm fn) km -> (km, fm, fn) _ -> fatal p } gatan2 patan2 p = ufun2 c253v5v264v30atan2 patan2 p hatan2 where hatan2 fy fx p = ucguard (uap2 mkNoSrcPos p ((!>) mkNoSrcPos p) fx (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) (uap1 mkNoSrcPos p (gatan mkNoSrcPos p) (uap2 mkNoSrcPos p ((!/) mkNoSrcPos p) fy fx)) (ucguard (uwrapForward p ((*&&) (uap2 mkNoSrcPos p ((!==) mkNoSrcPos p) fx (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) (uap2 mkNoSrcPos p ((!>) mkNoSrcPos p) fy (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) p)) (uap2 mkNoSrcPos p ((!/) mkNoSrcPos p) (gpi mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (2)))) (ucguard (uwrapForward p ((*&&) (uap2 mkNoSrcPos p ((!<) mkNoSrcPos p) fx (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) (uap2 mkNoSrcPos p ((!>) mkNoSrcPos p) fy (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) p)) (uap2 mkNoSrcPos p ((!+) mkNoSrcPos p) (gpi mkNoSrcPos p) (uap1 mkNoSrcPos p (gatan mkNoSrcPos p) (uap2 mkNoSrcPos p ((!/) mkNoSrcPos p) fy fx))) (ucguard (uwrapForward p ((*||) (uwrapForward p ((*&&) (uap2 mkNoSrcPos p ((!<=) mkNoSrcPos p) fx (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) (uap2 mkNoSrcPos p ((!<) mkNoSrcPos p) fy (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) p)) (uwrapForward p ((*||) (uwrapForward p ((*&&) (uap2 mkNoSrcPos p ((!<) mkNoSrcPos p) fx (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) (uap1 mkNoSrcPos p (gisNegativeZero mkNoSrcPos p) fy) p)) (uwrapForward p ((*&&) (uap1 mkNoSrcPos p (gisNegativeZero mkNoSrcPos p) fx) (uap1 mkNoSrcPos p (gisNegativeZero mkNoSrcPos p) fy) p)) p)) p)) (uap1 mkNoSrcPos p (gnegate mkNoSrcPos p) (uap2 mkNoSrcPos p (gatan2 mkNoSrcPos p) (uap1 mkNoSrcPos p (gnegate mkNoSrcPos p) fy) fx)) (ucguard (uwrapForward p ((*&&) (uap2 mkNoSrcPos p ((!==) mkNoSrcPos p) fy (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) (uwrapForward p ((*||) (uap2 mkNoSrcPos p ((!<) mkNoSrcPos p) fx (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) (uap1 mkNoSrcPos p (gisNegativeZero mkNoSrcPos p) fx) p)) p)) (gpi mkNoSrcPos p) (ucguard (uwrapForward p ((*&&) (uap2 mkNoSrcPos p ((!==) mkNoSrcPos p) fx (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) (uap2 mkNoSrcPos p ((!==) mkNoSrcPos p) fy (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) p)) (projection mkNoSrcPos p fy) (ucguard (gotherwise mkNoSrcPos p) (uap2 mkNoSrcPos p ((!+) mkNoSrcPos p) fx fy) (fatal p))))))) gfloatRadix :: RealFloat a => RefSrcPos -> RefExp -> R (Fun a Integer) sfloatRadix :: RealFloat a => R (Fun a Integer) gfloatDigits :: RealFloat a => RefSrcPos -> RefExp -> R (Fun a Int) sfloatDigits :: RealFloat a => R (Fun a Int) gfloatRange :: RealFloat a => RefSrcPos -> RefExp -> R (Fun a (Tuple2 Int Int)) sfloatRange :: RealFloat a => R (Fun a (Tuple2 Int Int)) gdecodeFloat :: RealFloat a => RefSrcPos -> RefExp -> R (Fun a (Tuple2 Integer Int)) sdecodeFloat :: RealFloat a => R (Fun a (Tuple2 Integer Int)) gencodeFloat :: RealFloat a => RefSrcPos -> RefExp -> R (Fun Integer (Fun Int a)) sencodeFloat :: RealFloat a => R (Fun Integer (Fun Int a)) gexponent :: RealFloat a => RefSrcPos -> RefExp -> R (Fun a Int) sexponent :: RealFloat a => R (Fun a Int) gsignificand :: RealFloat a => RefSrcPos -> RefExp -> R (Fun a a) ssignificand :: RealFloat a => R (Fun a a) gscaleFloat :: RealFloat a => RefSrcPos -> RefExp -> R (Fun Int (Fun a a)) sscaleFloat :: RealFloat a => R (Fun Int (Fun a a)) gisNaN, gisInfinite, gisDenormalized, gisNegativeZero, gisIEEE :: RealFloat a => RefSrcPos -> RefExp -> R (Fun a Bool) gisNaN, gisInfinite, gisDenormalized, gisNegativeZero, gisIEEE :: RealFloat a => RefSrcPos -> RefExp -> R (Fun a Bool) gisNaN, gisInfinite, gisDenormalized, gisNegativeZero, gisIEEE :: RealFloat a => RefSrcPos -> RefExp -> R (Fun a Bool) gisNaN, gisInfinite, gisDenormalized, gisNegativeZero, gisIEEE :: RealFloat a => RefSrcPos -> RefExp -> R (Fun a Bool) gisNaN, gisInfinite, gisDenormalized, gisNegativeZero, gisIEEE :: RealFloat a => RefSrcPos -> RefExp -> R (Fun a Bool) sisNaN, sisInfinite, sisDenormalized, sisNegativeZero, sisIEEE :: RealFloat a => R (Fun a Bool) sisNaN, sisInfinite, sisDenormalized, sisNegativeZero, sisIEEE :: RealFloat a => R (Fun a Bool) sisNaN, sisInfinite, sisDenormalized, sisNegativeZero, sisIEEE :: RealFloat a => R (Fun a Bool) sisNaN, sisInfinite, sisDenormalized, sisNegativeZero, sisIEEE :: RealFloat a => R (Fun a Bool) sisNaN, sisInfinite, sisDenormalized, sisNegativeZero, sisIEEE :: RealFloat a => R (Fun a Bool) gatan2 :: RealFloat a => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) satan2 :: RealFloat a => R (Fun a (Fun a a)) gsubtract :: (Num a) => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) geven :: (Integral a) => RefSrcPos -> RefExp -> R (Fun a Bool) heven :: (Integral a) => R a -> RefExp -> R Bool godd :: (Integral a) => RefSrcPos -> RefExp -> R (Fun a Bool) ggcd :: (Integral a) => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) hgcd :: (Integral a) => R a -> R a -> RefExp -> R a glcm :: (Integral a) => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) hlcm :: (Integral a) => R a -> R a -> RefExp -> R a (!^) :: (Num a, Integral b) => RefSrcPos -> RefExp -> R (Fun a (Fun b a)) (*^) :: (Num a, Integral b) => R a -> R b -> RefExp -> R a (!^^) :: (Fractional a, Integral b) => RefSrcPos -> RefExp -> R (Fun a (Fun b a)) (*^^) :: (Fractional a, Integral b) => R a -> R b -> RefExp -> R a gfromIntegral :: (Integral a, Num b) => RefSrcPos -> RefExp -> R (Fun a b) grealToFrac :: (Real a, Fractional b) => RefSrcPos -> RefExp -> R (Fun a b) class Functor f where sfmap = gundefined mkNoSrcPos p gfmap :: Functor f => RefSrcPos -> RefExp -> R (Fun (Fun a b) (Fun (f a) (f b))) sfmap :: Functor f => R (Fun (Fun a b) (Fun (f a) (f b))) class Monad m where (|>>=) = gundefined mkNoSrcPos p sreturn = gundefined mkNoSrcPos p (%>>) !>> p = ufun2 (+%$^=*=%$^=$@>>) (%>>) p (*>>) where (fm *>> fk) p = uap2 mkNoSrcPos p ((!>>=) mkNoSrcPos p) fm (ufun1 mkLambda mkNoSrcPos p (\ _ p -> projection mkNoSrcPos p fk)) gfail pfail p = ufun1 c328v5v328v21fail pfail p hfail where hfail fs p = uwrapForward p (herror fs p) (!>>=) :: Monad m => RefSrcPos -> RefExp -> R (Fun (m a) (Fun (Fun a (m b)) (m b))) (|>>=) :: Monad m => R (Fun (m a) (Fun (Fun a (m b)) (m b))) (!>>) :: Monad m => RefSrcPos -> RefExp -> R (Fun (m a) (Fun (m b) (m b))) (|>>) :: Monad m => R (Fun (m a) (Fun (m b) (m b))) greturn :: Monad m => RefSrcPos -> RefExp -> R (Fun a (m a)) sreturn :: Monad m => R (Fun a (m a)) gfail :: Monad m => RefSrcPos -> RefExp -> R (Fun String (m a)) sfail :: Monad m => R (Fun String (m a)) gsequence :: (Monad m) => RefSrcPos -> RefExp -> R (Fun (List (m a)) (m (List a))) gsequence_ :: (Monad m) => RefSrcPos -> RefExp -> R (Fun (List (m a)) (m Tuple0)) gmapM :: (Monad m) => RefSrcPos -> RefExp -> R (Fun (Fun a (m b)) (Fun (List a) (m (List b)))) hmapM :: (Monad m) => R (Fun a (m b)) -> R (List a) -> RefExp -> R (m (List b)) gmapM_ :: (Monad m) => RefSrcPos -> RefExp -> R (Fun (Fun a (m b)) (Fun (List a) (m Tuple0))) hmapM_ :: (Monad m) => R (Fun a (m b)) -> R (List a) -> RefExp -> R (m Tuple0) (!=<<) :: (Monad m) => RefSrcPos -> RefExp -> R (Fun (Fun a (m b)) (Fun (m a) (m b))) (*=<<) :: (Monad m) => R (Fun a (m b)) -> R (m a) -> RefExp -> R (m b) gid :: RefSrcPos -> RefExp -> R (Fun a a) hid :: R a -> RefExp -> R a gconst :: RefSrcPos -> RefExp -> R (Fun a (Fun b a)) hconst :: R a -> R b -> RefExp -> R a (!.) :: RefSrcPos -> RefExp -> R (Fun (Fun b c) (Fun (Fun a b) (Fun a c))) (*.) :: R (Fun b c) -> R (Fun a b) -> R a -> RefExp -> R c gflip :: RefSrcPos -> RefExp -> R (Fun (Fun a (Fun b c)) (Fun b (Fun a c))) hflip :: R (Fun a (Fun b c)) -> R b -> R a -> RefExp -> R c (!$) :: RefSrcPos -> RefExp -> R (Fun (Fun a b) (Fun a b)) (*$) :: R (Fun a b) -> R a -> RefExp -> R b (!$!) :: RefSrcPos -> RefExp -> R (Fun (Fun a b) (Fun a b)) (*$!) :: R (Fun a b) -> R a -> RefExp -> R b (!&&) :: RefSrcPos -> RefExp -> R (Fun Bool (Fun Bool Bool)) (*&&) :: R Bool -> R Bool -> RefExp -> R Bool (!||) :: RefSrcPos -> RefExp -> R (Fun Bool (Fun Bool Bool)) (*||) :: R Bool -> R Bool -> RefExp -> R Bool gnot :: RefSrcPos -> RefExp -> R (Fun Bool Bool) hnot :: R Bool -> RefExp -> R Bool gotherwise :: RefSrcPos -> RefExp -> R Bool data Maybe a Nothing :: Maybe a Just :: (R a) -> Maybe a gmaybe :: RefSrcPos -> RefExp -> R (Fun b (Fun (Fun a b) (Fun (Maybe a) b))) hmaybe :: R b -> R (Fun a b) -> R (Maybe a) -> RefExp -> R b data Either a b Left :: (R a) -> Either a b Right :: (R b) -> Either a b geither :: RefSrcPos -> RefExp -> R (Fun (Fun a c) (Fun (Fun b c) (Fun (Either a b) c))) heither :: R (Fun a c) -> R (Fun b c) -> R (Either a b) -> RefExp -> R c data Ordering LT :: Ordering EQ :: Ordering GT :: Ordering gintEnumFromByTo :: RefSrcPos -> RefExp -> R (Fun Int (Fun Int (Fun Int (List Int)))) hintEnumFromByTo :: R Int -> R Int -> R Int -> RefExp -> R (List Int) gnumericEnumFrom :: (Fractional a) => RefSrcPos -> RefExp -> R (Fun a (List a)) gnumericEnumFromThen :: (Fractional a) => RefSrcPos -> RefExp -> R (Fun a (Fun a (List a))) hnumericEnumFromThen :: (Fractional a) => R a -> R a -> RefExp -> R (List a) gnumericEnumFromTo :: (Fractional a, Ord a) => RefSrcPos -> RefExp -> R (Fun a (Fun a (List a))) hnumericEnumFromTo :: (Fractional a, Ord a) => R a -> R a -> RefExp -> R (List a) gnumericEnumFromThenTo :: (Fractional a, Ord a) => RefSrcPos -> RefExp -> R (Fun a (Fun a (Fun a (List a)))) hnumericEnumFromThenTo :: (Fractional a, Ord a) => R a -> R a -> R a -> RefExp -> R (List a) gfst :: RefSrcPos -> RefExp -> R (Fun (Tuple2 a b) a) hfst :: R (Tuple2 a b) -> RefExp -> R a gsnd :: RefSrcPos -> RefExp -> R (Fun (Tuple2 a b) b) hsnd :: R (Tuple2 a b) -> RefExp -> R b gcurry :: RefSrcPos -> RefExp -> R (Fun (Fun (Tuple2 a b) c) (Fun a (Fun b c))) hcurry :: R (Fun (Tuple2 a b) c) -> R a -> R b -> RefExp -> R c guncurry :: RefSrcPos -> RefExp -> R (Fun (Fun a (Fun b c)) (Fun (Tuple2 a b) c)) huncurry :: R (Fun a (Fun b c)) -> (R (Tuple2 a b) -> RefExp -> R c) guntil :: RefSrcPos -> RefExp -> R (Fun (Fun a Bool) (Fun (Fun a a) (Fun a a))) huntil :: R (Fun a Bool) -> R (Fun a a) -> R a -> RefExp -> R a gasTypeOf :: RefSrcPos -> RefExp -> R (Fun a (Fun a a)) g_foldr :: RefSrcPos -> RefExp -> R (Fun (Fun a (Fun b b)) (Fun (List a) (Fun b b))) h_foldr :: R (Fun a (Fun b b)) -> R (List a) -> R b -> RefExp -> R b g_filter :: RefSrcPos -> RefExp -> R (Fun Bool (Fun (Fun (List a) (List a)) (Fun (List a) (List a)))) h_filter :: R Bool -> R (Fun (List a) (List a)) -> R (List a) -> RefExp -> R (List a) gmap :: RefSrcPos -> RefExp -> R (Fun (Fun a b) (Fun (List a) (List b))) hmap :: R (Fun a b) -> R (List a) -> RefExp -> R (List b) (!++) :: RefSrcPos -> RefExp -> R (Fun (List a) (Fun (List a) (List a))) (*++) :: R (List a) -> R (List a) -> RefExp -> R (List a) gfilter :: RefSrcPos -> RefExp -> R (Fun (Fun a Bool) (Fun (List a) (List a))) hfilter :: R (Fun a Bool) -> R (List a) -> RefExp -> R (List a) gconcat :: RefSrcPos -> RefExp -> R (Fun (List (List a)) (List a)) hconcat :: R (List (List a)) -> RefExp -> R (List a) ghead :: RefSrcPos -> RefExp -> R (Fun (List a) a) hhead :: R (List a) -> RefExp -> R a glast :: RefSrcPos -> RefExp -> R (Fun (List a) a) hlast :: R (List a) -> RefExp -> R a gtail :: RefSrcPos -> RefExp -> R (Fun (List a) (List a)) htail :: R (List a) -> RefExp -> R (List a) ginit :: RefSrcPos -> RefExp -> R (Fun (List a) (List a)) hinit :: R (List a) -> RefExp -> R (List a) gnull :: RefSrcPos -> RefExp -> R (Fun (List a) Bool) hnull :: R (List a) -> RefExp -> R Bool glength :: RefSrcPos -> RefExp -> R (Fun (List a) Int) hlength :: R (List a) -> RefExp -> R Int (!!!) :: RefSrcPos -> RefExp -> R (Fun (List a) (Fun Int a)) (*!!) :: R (List a) -> R Int -> RefExp -> R a gfoldl :: RefSrcPos -> RefExp -> R (Fun (Fun a (Fun b a)) (Fun a (Fun (List b) a))) hfoldl :: R (Fun a (Fun b a)) -> R a -> R (List b) -> RefExp -> R a gfoldl1 :: RefSrcPos -> RefExp -> R (Fun (Fun a (Fun a a)) (Fun (List a) a)) hfoldl1 :: R (Fun a (Fun a a)) -> R (List a) -> RefExp -> R a gscanl :: RefSrcPos -> RefExp -> R (Fun (Fun a (Fun b a)) (Fun a (Fun (List b) (List a)))) hscanl :: R (Fun a (Fun b a)) -> R a -> R (List b) -> RefExp -> R (List a) gscanl1 :: RefSrcPos -> RefExp -> R (Fun (Fun a (Fun a a)) (Fun (List a) (List a))) hscanl1 :: R (Fun a (Fun a a)) -> R (List a) -> RefExp -> R (List a) gfoldr :: RefSrcPos -> RefExp -> R (Fun (Fun a (Fun b b)) (Fun b (Fun (List a) b))) hfoldr :: R (Fun a (Fun b b)) -> R b -> R (List a) -> RefExp -> R b gfoldr1 :: RefSrcPos -> RefExp -> R (Fun (Fun a (Fun a a)) (Fun (List a) a)) hfoldr1 :: R (Fun a (Fun a a)) -> R (List a) -> RefExp -> R a gscanr :: RefSrcPos -> RefExp -> R (Fun (Fun a (Fun b b)) (Fun b (Fun (List a) (List b)))) hscanr :: R (Fun a (Fun b b)) -> R b -> R (List a) -> RefExp -> R (List b) gscanr1 :: RefSrcPos -> RefExp -> R (Fun (Fun a (Fun a a)) (Fun (List a) (List a))) hscanr1 :: R (Fun a (Fun a a)) -> R (List a) -> RefExp -> R (List a) giterate :: RefSrcPos -> RefExp -> R (Fun (Fun a a) (Fun a (List a))) hiterate :: R (Fun a a) -> R a -> RefExp -> R (List a) grepeat :: RefSrcPos -> RefExp -> R (Fun a (List a)) hrepeat :: R a -> RefExp -> R (List a) greplicate :: RefSrcPos -> RefExp -> R (Fun Int (Fun a (List a))) hreplicate :: R Int -> R a -> RefExp -> R (List a) gcycle :: RefSrcPos -> RefExp -> R (Fun (List a) (List a)) hcycle :: R (List a) -> RefExp -> R (List a) gtake :: RefSrcPos -> RefExp -> R (Fun Int (Fun (List a) (List a))) htake :: R Int -> R (List a) -> RefExp -> R (List a) gdrop :: RefSrcPos -> RefExp -> R (Fun Int (Fun (List a) (List a))) hdrop :: R Int -> R (List a) -> RefExp -> R (List a) gsplitAt :: RefSrcPos -> RefExp -> R (Fun Int (Fun (List a) (Tuple2 (List a) (List a)))) hsplitAt :: R Int -> R (List a) -> RefExp -> R (Tuple2 (List a) (List a)) gtakeWhile :: RefSrcPos -> RefExp -> R (Fun (Fun a Bool) (Fun (List a) (List a))) htakeWhile :: R (Fun a Bool) -> R (List a) -> RefExp -> R (List a) gdropWhile :: RefSrcPos -> RefExp -> R (Fun (Fun a Bool) (Fun (List a) (List a))) hdropWhile :: R (Fun a Bool) -> R (List a) -> RefExp -> R (List a) gspan :: RefSrcPos -> RefExp -> R (Fun (Fun a Bool) (Fun (List a) (Tuple2 (List a) (List a)))) hspan :: R (Fun a Bool) -> R (List a) -> RefExp -> R (Tuple2 (List a) (List a)) gbreak :: RefSrcPos -> RefExp -> R (Fun (Fun a Bool) (Fun (List a) (Tuple2 (List a) (List a)))) hbreak :: R (Fun a Bool) -> RefExp -> R (Fun (List a) (Tuple2 (List a) (List a))) glines :: RefSrcPos -> RefExp -> R (Fun String (List String)) hlines :: R String -> RefExp -> R (List String) gwords :: RefSrcPos -> RefExp -> R (Fun String (List String)) hwords :: R String -> RefExp -> R (List String) gunlines :: RefSrcPos -> RefExp -> R (Fun (List String) String) gunwords :: RefSrcPos -> RefExp -> R (Fun (List String) String) hunwords :: R (List String) -> RefExp -> R String greverse :: RefSrcPos -> RefExp -> R (Fun (List a) (List a)) gand :: RefSrcPos -> RefExp -> R (Fun (List Bool) Bool) gor :: RefSrcPos -> RefExp -> R (Fun (List Bool) Bool) gany :: RefSrcPos -> RefExp -> R (Fun (Fun a Bool) (Fun (List a) Bool)) hany :: R (Fun a Bool) -> RefExp -> R (Fun (List a) Bool) gall :: RefSrcPos -> RefExp -> R (Fun (Fun a Bool) (Fun (List a) Bool)) hall :: R (Fun a Bool) -> RefExp -> R (Fun (List a) Bool) gelem :: (Eq a) => RefSrcPos -> RefExp -> R (Fun a (Fun (List a) Bool)) helem :: (Eq a) => R a -> RefExp -> R (Fun (List a) Bool) gnotElem :: (Eq a) => RefSrcPos -> RefExp -> R (Fun a (Fun (List a) Bool)) hnotElem :: (Eq a) => R a -> RefExp -> R (Fun (List a) Bool) glookup :: (Eq a) => RefSrcPos -> RefExp -> R (Fun a (Fun (List (Tuple2 a b)) (Maybe b))) hlookup :: (Eq a) => R a -> R (List (Tuple2 a b)) -> RefExp -> R (Maybe b) gsum :: (Num a) => RefSrcPos -> RefExp -> R (Fun (List a) a) gproduct :: (Num a) => RefSrcPos -> RefExp -> R (Fun (List a) a) gmaximum :: (Ord a) => RefSrcPos -> RefExp -> R (Fun (List a) a) hmaximum :: (Ord a) => R (List a) -> RefExp -> R a gminimum :: (Ord a) => RefSrcPos -> RefExp -> R (Fun (List a) a) hminimum :: (Ord a) => R (List a) -> RefExp -> R a gconcatMap :: RefSrcPos -> RefExp -> R (Fun (Fun a (List b)) (Fun (List a) (List b))) hconcatMap :: R (Fun a (List b)) -> RefExp -> R (Fun (List a) (List b)) gzip :: RefSrcPos -> RefExp -> R (Fun (List a) (Fun (List b) (List (Tuple2 a b)))) gzip3 :: RefSrcPos -> RefExp -> R (Fun (List a) (Fun (List b) (Fun (List c) (List (Tuple3 a b c))))) gzipWith :: RefSrcPos -> RefExp -> R (Fun (Fun a (Fun b c)) (Fun (List a) (Fun (List b) (List c)))) hzipWith :: R (Fun a (Fun b c)) -> R (List a) -> R (List b) -> RefExp -> R (List c) gzipWith3 :: RefSrcPos -> RefExp -> R (Fun (Fun a (Fun b (Fun c d))) (Fun (List a) (Fun (List b) (Fun (List c) (List d))))) hzipWith3 :: R (Fun a (Fun b (Fun c d))) -> R (List a) -> R (List b) -> R (List c) -> RefExp -> R (List d) gunzip :: RefSrcPos -> RefExp -> R (Fun (List (Tuple2 a b)) (Tuple2 (List a) (List b))) gunzip3 :: RefSrcPos -> RefExp -> R (Fun (List (Tuple3 a b c)) (Tuple3 (List a) (List b) (List c))) type ReadS a = Fun String (List (Tuple2 a String)) type ReadS___1 a = String type ReadS___2 a = List (Tuple2 a String) type ShowS = Fun String String type ShowS___1 = String type ShowS___2 = String class Read a where sreadsPrec = gundefined mkNoSrcPos p greadList preadList p = uconstUse preadList p sreadList sreadList = uconstDef p c1810v5v1812v28readList (\ p -> let greadl preadl p = ufun1 c1812v30v1814v73readl preadl p hreadl areadl = c1812v30v1814v73readl hreadl fs p = uwrapForward p ((*++) (uap2 mkNoSrcPos p ((!>>=) mkNoSrcPos p) (uwrapForward p (hlex fs p)) (ufun1 mkDoLambda mkNoSrcPos p (\ fv1812v53v1812v63v1 p -> uccase mkNoSrcPos p (let v1812v53v1812v63v1 (R (Tuple2 (R (Cons (R ']' _) (R Nil _)) _) ft) _) p = uap1 mkNoSrcPos p (greturn mkNoSrcPos p) (con2 mkNoSrcPos p Tuple2 aTuple2 (con0 mkNoSrcPos p Nil aNil) ft) v1812v53v1812v63v1 _ p = uap1 mkNoSrcPos p (gfail mkNoSrcPos p) (fromLitString mkNoSrcPos p "pattern-match failure in do-expression") in v1812v53v1812v63v1) fv1812v53v1812v63v1))) (uap2 mkNoSrcPos p ((!>>=) mkNoSrcPos p) (uap1 mkNoSrcPos p (greads mkNoSrcPos p) fs) (ufun1 mkDoLambda mkNoSrcPos p (\ (R (Tuple2 fx ft) _) p -> uap2 mkNoSrcPos p ((!>>=) mkNoSrcPos p) (uwrapForward p (hreadl' ft p)) (ufun1 mkDoLambda mkNoSrcPos p (\ (R (Tuple2 fxs fu) _) p -> uap1 mkNoSrcPos p (greturn mkNoSrcPos p) (con2 mkNoSrcPos p Tuple2 aTuple2 (con2 mkNoSrcPos p Cons aCons fx fxs) fu)))))) p) greadl' preadl' p = ufun1 c1815v30v1818v73readl' preadl' p hreadl' areadl' = c1815v30v1818v73readl' hreadl' fs p = uwrapForward p ((*++) (uap2 mkNoSrcPos p ((!>>=) mkNoSrcPos p) (uwrapForward p (hlex fs p)) (ufun1 mkDoLambda mkNoSrcPos p (\ fv1815v53v1815v63v1 p -> uccase mkNoSrcPos p (let v1815v53v1815v63v1 (R (Tuple2 (R (Cons (R ']' _) (R Nil _)) _) ft) _) p = uap1 mkNoSrcPos p (greturn mkNoSrcPos p) (con2 mkNoSrcPos p Tuple2 aTuple2 (con0 mkNoSrcPos p Nil aNil) ft) v1815v53v1815v63v1 _ p = uap1 mkNoSrcPos p (gfail mkNoSrcPos p) (fromLitString mkNoSrcPos p "pattern-match failure in do-expression") in v1815v53v1815v63v1) fv1815v53v1815v63v1))) (uap2 mkNoSrcPos p ((!>>=) mkNoSrcPos p) (uwrapForward p (hlex fs p)) (ufun1 mkDoLambda mkNoSrcPos p (\ fv1816v53v1816v63v1 p -> uccase mkNoSrcPos p (let v1816v53v1816v63v1 (R (Tuple2 (R (Cons (R ',' _) (R Nil _)) _) ft) _) p = uap2 mkNoSrcPos p ((!>>=) mkNoSrcPos p) (uap1 mkNoSrcPos p (greads mkNoSrcPos p) ft) (ufun1 mkDoLambda mkNoSrcPos p (\ (R (Tuple2 fx fu) _) p -> uap2 mkNoSrcPos p ((!>>=) mkNoSrcPos p) (uwrapForward p (hreadl' fu p)) (ufun1 mkDoLambda mkNoSrcPos p (\ (R (Tuple2 fxs fv) _) p -> uap1 mkNoSrcPos p (greturn mkNoSrcPos p) (con2 mkNoSrcPos p Tuple2 aTuple2 (con2 mkNoSrcPos p Cons aCons fx fxs) fv))))) v1816v53v1816v63v1 _ p = uap1 mkNoSrcPos p (gfail mkNoSrcPos p) (fromLitString mkNoSrcPos p "pattern-match failure in do-expression") in v1816v53v1816v63v1) fv1816v53v1816v63v1))) p) in uwrapForward p (hreadParen (con0 mkNoSrcPos p False aFalse) (ufun1 mkLambda mkNoSrcPos p (\ fr p -> uap2 mkNoSrcPos p ((!>>=) mkNoSrcPos p) (uwrapForward p (hlex fr p)) (ufun1 mkDoLambda mkNoSrcPos p (\ fv1810v53v1810v63v1 p -> uccase mkNoSrcPos p (let v1810v53v1810v63v1 (R (Tuple2 (R (Cons (R '[' _) (R Nil _)) _) fs) _) p = uap2 mkNoSrcPos p ((!>>=) mkNoSrcPos p) (uwrapForward p (hreadl fs p)) (ufun1 mkDoLambda mkNoSrcPos p (\ fpr p -> uap1 mkNoSrcPos p (greturn mkNoSrcPos p) fpr)) v1810v53v1810v63v1 _ p = uap1 mkNoSrcPos p (gfail mkNoSrcPos p) (fromLitString mkNoSrcPos p "pattern-match failure in do-expression") in v1810v53v1810v63v1) fv1810v53v1810v63v1)))) p)) greadsPrec :: Read a => RefSrcPos -> RefExp -> R (Fun Int (ReadS a)) sreadsPrec :: Read a => R (Fun Int (ReadS a)) greadList :: Read a => RefSrcPos -> RefExp -> R (ReadS (List a)) sreadList :: Read a => R (ReadS (List a)) class Show a where gshowsPrec pshowsPrec p = ufun3 c1828v5v1828v35showsPrec pshowsPrec p hshowsPrec where hshowsPrec _ fx fs p = uwrapForward p ((*++) (uap1 mkNoSrcPos p (gshow mkNoSrcPos p) fx) fs p) gshow pshow p = ufun1 c1830v5v1830v36show pshow p hshow where hshow fx p = uap3 mkNoSrcPos p (gshowsPrec mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0))) fx (fromLitString mkNoSrcPos p "") gshowList pshowList p = ufun1 c1832v5v1838v0showList pshowList p hshowList where hshowList (R Nil _) p = uap1 mkNoSrcPos p (gshowString mkNoSrcPos p) (fromLitString mkNoSrcPos p "[]") hshowList (R (Cons fx fxs) _) p = uap2 mkNoSrcPos p ((!.) mkNoSrcPos p) (uap1 mkNoSrcPos p (gshowChar mkNoSrcPos p) (conChar mkNoSrcPos p '[')) (uap2 mkNoSrcPos p ((!.) mkNoSrcPos p) (uap1 mkNoSrcPos p (gshows mkNoSrcPos p) fx) (uwrapForward p (hshowl fxs p))) where gshowl pshowl p = ufun1 c1834v31v1836v53showl pshowl p hshowl ashowl = c1834v31v1836v53showl hshowl (R Nil _) p = uap1 mkNoSrcPos p (gshowChar mkNoSrcPos p) (conChar mkNoSrcPos p ']') hshowl (R (Cons fx fxs) _) p = uap2 mkNoSrcPos p ((!.) mkNoSrcPos p) (uap1 mkNoSrcPos p (gshowChar mkNoSrcPos p) (conChar mkNoSrcPos p ',')) (uap2 mkNoSrcPos p ((!.) mkNoSrcPos p) (uap1 mkNoSrcPos p (gshows mkNoSrcPos p) fx) (uwrapForward p (hshowl fxs p))) hshowl _ p = fatal p hshowList _ p = fatal p gshowsPrec :: Show a => RefSrcPos -> RefExp -> R (Fun Int (Fun a ShowS)) sshowsPrec :: Show a => R (Fun Int (Fun a ShowS)) gshow :: Show a => RefSrcPos -> RefExp -> R (Fun a String) sshow :: Show a => R (Fun a String) gshowList :: Show a => RefSrcPos -> RefExp -> R (Fun (List a) ShowS) sshowList :: Show a => R (Fun (List a) ShowS) greads :: (Read a) => RefSrcPos -> RefExp -> R (ReadS a) gshows :: (Show a) => RefSrcPos -> RefExp -> R (Fun a ShowS) gread :: (Read a) => RefSrcPos -> RefExp -> R (Fun String a) hread :: (Read a) => R String -> RefExp -> R a gshowChar :: RefSrcPos -> RefExp -> R (Fun Char ShowS) gshowString :: RefSrcPos -> RefExp -> R (Fun String ShowS) gshowParen :: RefSrcPos -> RefExp -> R (Fun Bool (Fun ShowS ShowS)) hshowParen :: R Bool -> R ShowS -> RefExp -> R ShowS greadParen :: RefSrcPos -> RefExp -> R (Fun Bool (Fun (ReadS a) (ReadS a))) hreadParen :: R Bool -> R (ReadS a) -> RefExp -> R (ReadS a) glex :: RefSrcPos -> RefExp -> R (ReadS String) hlex :: R (ReadS___1 String) -> RefExp -> R (ReadS___2 String) type FilePath = String gputStr :: RefSrcPos -> RefExp -> R (Fun String (IO Tuple0)) hputStr :: R String -> RefExp -> R (IO Tuple0) gputStrLn :: RefSrcPos -> RefExp -> R (Fun String (IO Tuple0)) hputStrLn :: R String -> RefExp -> R (IO Tuple0) gprint :: (Show a) => RefSrcPos -> RefExp -> R (Fun a (IO Tuple0)) hprint :: (Show a) => R a -> RefExp -> R (IO Tuple0) ggetLine :: RefSrcPos -> RefExp -> R (IO String) ginteract :: RefSrcPos -> RefExp -> R (Fun (Fun String String) (IO Tuple0)) hinteract :: R (Fun String String) -> RefExp -> R (IO Tuple0) greadIO :: (Read a) => RefSrcPos -> RefExp -> R (Fun String (IO a)) hreadIO :: (Read a) => R String -> RefExp -> R (IO a) greadLn :: (Read a) => RefSrcPos -> RefExp -> R (IO a) gdigitToInt :: RefSrcPos -> RefExp -> R (Fun Char Int) hdigitToInt :: R Char -> RefExp -> R Int gintToDigit :: RefSrcPos -> RefExp -> R (Fun Int Char) hintToDigit :: R Int -> RefExp -> R Char gord :: RefSrcPos -> RefExp -> R (Fun Char Int) gchr :: RefSrcPos -> RefExp -> R (Fun Int Char) greadLitChar :: RefSrcPos -> RefExp -> R (ReadS Char) hreadLitChar :: R (ReadS___1 Char) -> RefExp -> R (ReadS___2 Char) gshowLitChar :: RefSrcPos -> RefExp -> R (Fun Char ShowS) hshowLitChar :: R Char -> RefExp -> R ShowS gprotectEsc :: RefSrcPos -> RefExp -> R (Fun (Fun Char Bool) (Fun (Fun (List Char) c) (Fun (List Char) c))) hprotectEsc :: R (Fun Char Bool) -> R (Fun (List Char) c) -> RefExp -> R (Fun (List Char) c) gasciiTab :: RefSrcPos -> RefExp -> R (List (Tuple2 Char (List Char))) glexLitChar :: RefSrcPos -> RefExp -> R (ReadS String) hlexLitChar :: R (ReadS___1 String) -> RefExp -> R (ReadS___2 String) gfromRat :: (RealFloat a) => RefSrcPos -> RefExp -> R (Fun Rational a) hfromRat :: (RealFloat a) => R Rational -> RefExp -> R a gfromRat' :: (RealFloat a) => RefSrcPos -> RefExp -> R (Fun Rational a) hfromRat' :: (RealFloat a) => R Rational -> RefExp -> R a gscaleRat :: RefSrcPos -> RefExp -> R (Fun Rational (Fun Int (Fun Rational (Fun Rational (Fun Int (Fun Rational (Tuple2 Rational Int))))))) hscaleRat :: R Rational -> R Int -> R Rational -> R Rational -> R Int -> R Rational -> RefExp -> R (Tuple2 Rational Int) gminExpt :: RefSrcPos -> RefExp -> R Int gmaxExpt :: RefSrcPos -> RefExp -> R Int gexpt :: RefSrcPos -> RefExp -> R (Fun Integer (Fun Int Integer)) hexpt :: R Integer -> R Int -> RefExp -> R Integer gexpts :: RefSrcPos -> RefExp -> R (List Integer) gintegerLogBase :: RefSrcPos -> RefExp -> R (Fun Integer (Fun Integer Int)) hintegerLogBase :: R Integer -> R Integer -> RefExp -> R Int gshowSigned :: (Real a) => RefSrcPos -> RefExp -> R (Fun (Fun a ShowS) (Fun Int (Fun a ShowS))) hshowSigned :: (Real a) => R (Fun a ShowS) -> R Int -> R a -> RefExp -> R ShowS gshowOct :: (Integral a) => RefSrcPos -> RefExp -> R (Fun a ShowS) gshowInt :: (Integral a) => RefSrcPos -> RefExp -> R (Fun a ShowS) gshowHex :: (Integral a) => RefSrcPos -> RefExp -> R (Fun a ShowS) gshowIntAtBase :: (Integral a) => RefSrcPos -> RefExp -> R (Fun a (Fun (Fun Int Char) (Fun a ShowS))) hshowIntAtBase :: (Integral a) => R a -> R (Fun Int Char) -> R a -> R ShowS___1 -> RefExp -> R ShowS___2 greadSigned :: (Real a) => RefSrcPos -> RefExp -> R (Fun (ReadS a) (ReadS a)) hreadSigned :: (Real a) => R (ReadS a) -> RefExp -> R (ReadS a) greadInt :: (Integral a) => RefSrcPos -> RefExp -> R (Fun a (Fun (Fun Char Bool) (Fun (Fun Char Int) (ReadS a)))) hreadInt :: (Integral a) => R a -> R (Fun Char Bool) -> R (Fun Char Int) -> R (ReadS___1 a) -> RefExp -> R (ReadS___2 a) greadDec :: (Integral a) => RefSrcPos -> RefExp -> R (ReadS a) greadOct :: (Integral a) => RefSrcPos -> RefExp -> R (ReadS a) greadHex :: (Integral a) => RefSrcPos -> RefExp -> R (ReadS a) gshowEFloat :: (RealFloat a) => RefSrcPos -> RefExp -> R (Fun (Maybe Int) (Fun a ShowS)) hshowEFloat :: (RealFloat a) => R (Maybe Int) -> R a -> RefExp -> R ShowS gshowFFloat :: (RealFloat a) => RefSrcPos -> RefExp -> R (Fun (Maybe Int) (Fun a ShowS)) hshowFFloat :: (RealFloat a) => R (Maybe Int) -> R a -> RefExp -> R ShowS gshowGFloat :: (RealFloat a) => RefSrcPos -> RefExp -> R (Fun (Maybe Int) (Fun a ShowS)) hshowGFloat :: (RealFloat a) => R (Maybe Int) -> R a -> RefExp -> R ShowS gshowFloat :: (RealFloat a) => RefSrcPos -> RefExp -> R (Fun a ShowS) data FFFormat FFExponent :: FFFormat FFFixed :: FFFormat FFGeneric :: FFFormat gformatRealFloat :: (RealFloat a) => RefSrcPos -> RefExp -> R (Fun FFFormat (Fun (Maybe Int) (Fun a String))) hformatRealFloat :: (RealFloat a) => R FFFormat -> R (Maybe Int) -> R a -> RefExp -> R String groundTo :: RefSrcPos -> RefExp -> R (Fun Int (Fun Int (Fun (List Int) (Tuple2 Int (List Int))))) hroundTo :: R Int -> R Int -> R (List Int) -> RefExp -> R (Tuple2 Int (List Int)) gfloatToDigits :: (RealFloat a) => RefSrcPos -> RefExp -> R (Fun Integer (Fun a (Tuple2 (List Int) Int))) hfloatToDigits :: (RealFloat a) => R Integer -> R a -> RefExp -> R (Tuple2 (List Int) Int) greadFloat :: (RealFloat a) => RefSrcPos -> RefExp -> R (ReadS a) hreadFloat :: (RealFloat a) => R (ReadS___1 a) -> RefExp -> R (ReadS___2 a) glexDigits :: RefSrcPos -> RefExp -> R (ReadS String) gnonnull :: RefSrcPos -> RefExp -> R (Fun (Fun Char Bool) (ReadS String)) hnonnull :: R (Fun Char Bool) -> R (ReadS___1 String) -> RefExp -> R (ReadS___2 String) gprec :: RefSrcPos -> RefExp -> R Int data Ratio a (:%) :: !(R a) -> !(R a) -> Ratio a type Rational = Ratio Integer type Rational___1 = Ratio Integer greduce :: Integral z => RefSrcPos -> RefExp -> R (Fun z (Fun z (Ratio z))) hreduce :: Integral z => R z -> R z -> RefExp -> R (Ratio z) (!%) :: (Integral a) => RefSrcPos -> RefExp -> R (Fun a (Fun a (Ratio a))) (*%) :: (Integral a) => R a -> R a -> RefExp -> R (Ratio a) gnumerator :: (Integral a) => RefSrcPos -> RefExp -> R (Fun (Ratio a) a) hnumerator :: (Integral a) => R (Ratio a) -> RefExp -> R a gdenominator :: (Integral a) => RefSrcPos -> RefExp -> R (Fun (Ratio a) a) hdenominator :: (Integral a) => R (Ratio a) -> RefExp -> R a gapproxRational :: (RealFrac a) => RefSrcPos -> RefExp -> R (Fun a (Fun a Rational)) happroxRational :: (RealFrac a) => R a -> R a -> RefExp -> R Rational aEQ :: RefAtom aFFExponent :: RefAtom aFFFixed :: RefAtom aFFGeneric :: RefAtom aGT :: RefAtom aJust :: RefAtom aLT :: RefAtom aLeft :: RefAtom aNothing :: RefAtom aRight :: RefAtom a_filter :: RefAtom a_foldr :: RefAtom aall :: RefAtom aalt :: RefAtom aand :: RefAtom aany :: RefAtom aapproxRational :: RefAtom aasTypeOf :: RefAtom aasciiTab :: RefAtom abreak :: RefAtom achr :: RefAtom aconcat :: RefAtom aconcatMap :: RefAtom aconst :: RefAtom acurry :: RefAtom acycle :: RefAtom adenominator :: RefAtom adigitToInt :: RefAtom adrop :: RefAtom adropWhile :: RefAtom aeither :: RefAtom aelem :: RefAtom aeven :: RefAtom aexpt :: RefAtom aexpts :: RefAtom afilter :: RefAtom aflip :: RefAtom afloatToDigits :: RefAtom afoldl :: RefAtom afoldl1 :: RefAtom afoldr :: RefAtom afoldr1 :: RefAtom aformatRealFloat :: RefAtom afromIntegral :: RefAtom afromRat :: RefAtom afromRat' :: RefAtom afst :: RefAtom agcd :: RefAtom agetLine :: RefAtom aguard :: RefAtom ahead :: RefAtom aid :: RefAtom ainit :: RefAtom aintEnumFromByTo :: RefAtom aintToDigit :: RefAtom aintegerLogBase :: RefAtom ainteract :: RefAtom aiterate :: RefAtom alast :: RefAtom alcm :: RefAtom alength :: RefAtom alex :: RefAtom alexDigits :: RefAtom alexLitChar :: RefAtom alift :: RefAtom alines :: RefAtom alookup :: RefAtom amap :: RefAtom amapM :: RefAtom amapM_ :: RefAtom amaxExpt :: RefAtom amaximum :: RefAtom amaybe :: RefAtom aminExpt :: RefAtom aminimum :: RefAtom anonnull :: RefAtom anot :: RefAtom anotElem :: RefAtom anull :: RefAtom anumerator :: RefAtom anumericEnumFrom :: RefAtom anumericEnumFromThen :: RefAtom anumericEnumFromThenTo :: RefAtom anumericEnumFromTo :: RefAtom aodd :: RefAtom aor :: RefAtom aord :: RefAtom aotherwise :: RefAtom aprec :: RefAtom aprint :: RefAtom aproduct :: RefAtom aprotectEsc :: RefAtom aputStr :: RefAtom aputStrLn :: RefAtom aread :: RefAtom areadDec :: RefAtom areadFloat :: RefAtom areadHex :: RefAtom areadIO :: RefAtom areadInt :: RefAtom areadLitChar :: RefAtom areadLn :: RefAtom areadOct :: RefAtom areadParen :: RefAtom areadSigned :: RefAtom areads :: RefAtom arealToFrac :: RefAtom areduce :: RefAtom arepeat :: RefAtom areplicate :: RefAtom areverse :: RefAtom aroundTo :: RefAtom ascaleRat :: RefAtom ascanl :: RefAtom ascanl1 :: RefAtom ascanr :: RefAtom ascanr1 :: RefAtom asequence :: RefAtom asequence_ :: RefAtom ashowChar :: RefAtom ashowEFloat :: RefAtom ashowFFloat :: RefAtom ashowFloat :: RefAtom ashowGFloat :: RefAtom ashowHex :: RefAtom ashowInt :: RefAtom ashowIntAtBase :: RefAtom ashowLitChar :: RefAtom ashowOct :: RefAtom ashowParen :: RefAtom ashowSigned :: RefAtom ashowString :: RefAtom ashows :: RefAtom asnd :: RefAtom aspan :: RefAtom asplitAt :: RefAtom asubtract :: RefAtom asum :: RefAtom atail :: RefAtom atake :: RefAtom atakeWhile :: RefAtom athenAp :: RefAtom athenLex :: RefAtom auncurry :: RefAtom aunlines :: RefAtom auntil :: RefAtom aunwords :: RefAtom aunzip :: RefAtom aunzip3 :: RefAtom awords :: RefAtom ayield :: RefAtom azip :: RefAtom azip3 :: RefAtom azipWith :: RefAtom azipWith3 :: RefAtom (+!!) :: RefAtom (+$) :: RefAtom (+$!) :: RefAtom (+%) :: RefAtom (+&&) :: RefAtom (+#>#=*=#>#=%>**) :: RefAtom (+++) :: RefAtom (+#=*=#=%+-) :: RefAtom (+.) :: RefAtom (+#^*=*=#^*=%*/) :: RefAtom (++>=*=+>=%+/=) :: RefAtom (+:%) :: RefAtom (+@^=*=@^=<) :: RefAtom (+@+=*=@+=<=) :: RefAtom (+=<<) :: RefAtom (+^!=*=^!=%+==) :: RefAtom (+@>=*=@>=>) :: RefAtom (+@@=*=@@=>=) :: RefAtom (+%$^=*=%$^=$@>>) :: RefAtom (+^) :: RefAtom (+^^) :: RefAtom (+||) :: RefAtom (+%+!=%=%+!=#^==) :: RefAtom (+^=%=>=$&==) :: RefAtom (+&^@=*=&^@=&>==) :: RefAtom (+&@$=*=&@$=&><=) :: RefAtom (+*!+=*#=*!+=*$==) :: RefAtom (+*$!=*=*$#=%#>>=) :: RefAtom (+*$@=*#=*$@=*$==) :: RefAtom (+*&+=&=*&+=$$>>=) :: RefAtom (+**&=$#=**&=$$==) :: RefAtom (+*++=%=*++=$&/=) :: RefAtom (+*+*=%=*+*=$&==) :: RefAtom (+*+>=%=*+>=$&<) :: RefAtom (+*^!=%=*^!=$&<=) :: RefAtom (+*^$=%=*^$=$&>) :: RefAtom (+*^#=%=*^#=$&>=) :: RefAtom (+*^^=$=*^^=$@*) :: RefAtom (+*^*=$=*^*=$^+) :: RefAtom (+*^+=$=*^+=$@-) :: RefAtom (++$&=%=+$&=$@/=) :: RefAtom (++$%=%=+$%=$@==) :: RefAtom (++$^=%=+$^=$@<) :: RefAtom (++$@=%=+$@=$@<=) :: RefAtom (++%!=%=+%!=$@>) :: RefAtom (++$>=%=+$>=$@>=) :: RefAtom (++%*=$=+%*=%!*) :: RefAtom (++%%=$=+%%=%!+) :: RefAtom (++%&=$=+%&=%!-) :: RefAtom (++^+=%=+^+=$+/=) :: RefAtom (++^*=%=+^*=$+==) :: RefAtom (++^>=%=+^>=$+<) :: RefAtom (++@!=%=+@!=$+<=) :: RefAtom (++@$=%=+@$=$+>) :: RefAtom (++@#=%=+@#=$+>=) :: RefAtom (++@^=$=+@^=$@*) :: RefAtom (++@*=$=+@*=$@+) :: RefAtom (++@+=$=+@+=$@-) :: RefAtom (++>@=%=+>@=$+/) :: RefAtom (+^*&=%=^*&=$^/=) :: RefAtom (+^*%=%=^*%=$^==) :: RefAtom (+^*^=%=^*^=$^<) :: RefAtom (+^*@=%=^*@=$^<=) :: RefAtom (+^+!=%=^+!=$^>) :: RefAtom (+^*>=%=^*>=$^>=) :: RefAtom (+^+*=$=^+*=$>*) :: RefAtom (+^+%=$=^+%=$>+) :: RefAtom (+^+&=$=^+&=$>-) :: RefAtom (+^^+=%=^^+=$^/) :: RefAtom (+@@%=%=@@*=$+==) :: RefAtom (+>!%=*=>!%=%>>>=) :: RefAtom (+>#+=%=>#+=%>==) :: RefAtom (+>%#=%=>%#=**==) :: RefAtom (+>&^=%=>&^=^#==) :: RefAtom (+>+*=%=>++=**==) :: RefAtom (+>@^=%=>@@=++==) :: RefAtom (+#!##=%=#!#$=^^==) :: RefAtom (+#!&!=%=#!&$=#&==) :: RefAtom (+#!^$=%=#!^&=$*==) :: RefAtom (+##!^=%=##!>=%+==) :: RefAtom (+##&&=%=##&+=&^==) :: RefAtom (+##@%=%=##@*=*@==) :: RefAtom (+#$$*=%=#$$^=+>==) :: RefAtom (+#$^#=%=#$^*=#&==) :: RefAtom (+#%$$=%=#%$+=$*==) :: RefAtom (+%#>*=%^=%#>*=%@==) :: RefAtom (+%$$&=*=%$$&=&%<) :: RefAtom (+%$$%=*=%$$%=&%<=) :: RefAtom (+%$$@=*=%$$@=*#*) :: RefAtom (+%$$^=*=%$$^=*&+) :: RefAtom (+%$%@=*=%$%@=&$/) :: RefAtom data Bool :: * False :: Bool True :: Bool aTrue :: RefAtom aFalse :: RefAtom -- | The character type Char is an enumeration whose values -- represent Unicode (or equivalently ISO/IEC 10646) characters (see -- http://www.unicode.org/ for details). This set extends the ISO -- 8859-1 (Latin-1) character set (the first 256 characters), which is -- itself an extension of the ASCII character set (the first 128 -- characters). A character literal in Haskell has type Char. -- -- To convert a Char to or from the corresponding Int value -- defined by Unicode, use toEnum and fromEnum from the -- Enum class respectively (or equivalently ord and -- chr). data Char :: * -- | A fixed-precision integer type with at least the range [-2^29 .. -- 2^29-1]. The exact range for a given implementation can be -- determined by using minBound and maxBound from the -- Bounded class. data Int :: * -- | Invariant: Jn# and Jp# are used iff value doesn't fit in -- S# -- -- Useful properties resulting from the invariants: -- -- data Integer :: * -- | Single-precision floating point numbers. It is desirable that this -- type be at least equal in range and precision to the IEEE -- single-precision type. data Float :: * -- | Double-precision floating point numbers. It is desirable that this -- type be at least equal in range and precision to the IEEE -- double-precision type. data Double :: * -- | The Haskell 2010 type for exceptions in the IO monad. Any I/O -- operation may raise an IOError instead of returning a result. -- For a more general type of exception, including also those that arise -- in pure code, see Exception. -- -- In Haskell 2010, this is an opaque type. type IOError = IOException data IO a type String = List Char gerror :: RefSrcPos -> RefExp -> R (Fun String z) aerror :: RefAtom herror :: R String -> RefExp -> a gundefined :: RefSrcPos -> RefExp -> R a gseq :: RefSrcPos -> RefExp -> R (Fun a (Fun b b)) aseq :: RefAtom hseq :: R a1 -> R a -> RefExp -> R a gisAscii :: RefSrcPos -> RefExp -> R (Fun Char Bool) aisAscii :: RefAtom hisAscii :: R Char -> RefExp -> R Bool gisLatin1 :: RefSrcPos -> RefExp -> R (Fun Char Bool) aisLatin1 :: RefAtom hisLatin1 :: R Char -> RefExp -> R Bool gisControl :: RefSrcPos -> RefExp -> R (Fun Char Bool) aisControl :: RefAtom hisControl :: R Char -> RefExp -> R Bool gisPrint :: RefSrcPos -> RefExp -> R (Fun Char Bool) aisPrint :: RefAtom hisPrint :: R Char -> RefExp -> R Bool gisSpace :: RefSrcPos -> RefExp -> R (Fun Char Bool) aisSpace :: RefAtom hisSpace :: R Char -> RefExp -> R Bool gisUpper :: RefSrcPos -> RefExp -> R (Fun Char Bool) aisUpper :: RefAtom hisUpper :: R Char -> RefExp -> R Bool gisLower :: RefSrcPos -> RefExp -> R (Fun Char Bool) aisLower :: RefAtom hisLower :: R Char -> RefExp -> R Bool gisAlpha :: RefSrcPos -> RefExp -> R (Fun Char Bool) aisAlpha :: RefAtom hisAlpha :: R Char -> RefExp -> R Bool gisDigit :: RefSrcPos -> RefExp -> R (Fun Char Bool) aisDigit :: RefAtom hisDigit :: R Char -> RefExp -> R Bool gisOctDigit :: RefSrcPos -> RefExp -> R (Fun Char Bool) aisOctDigit :: RefAtom hisOctDigit :: R Char -> RefExp -> R Bool gisHexDigit :: RefSrcPos -> RefExp -> R (Fun Char Bool) aisHexDigit :: RefAtom hisHexDigit :: R Char -> RefExp -> R Bool gisAlphaNum :: RefSrcPos -> RefExp -> R (Fun Char Bool) aisAlphaNum :: RefAtom hisAlphaNum :: R Char -> RefExp -> R Bool gtoUpper :: RefSrcPos -> RefExp -> R (Fun Char Char) atoUpper :: RefAtom htoUpper :: R Char -> RefExp -> R Char gtoLower :: RefSrcPos -> RefExp -> R (Fun Char Char) atoLower :: RefAtom htoLower :: R Char -> RefExp -> R Char gprimIntToChar :: RefSrcPos -> RefExp -> R (Fun Int Char) aprimIntToChar :: RefAtom hprimIntToChar :: R Int -> RefExp -> R Char gprimCharToInt :: RefSrcPos -> RefExp -> R (Fun Char Int) aprimCharToInt :: RefAtom hprimCharToInt :: R Char -> RefExp -> R Int gprimUnicodeMaxBound :: RefSrcPos -> RefExp -> R Char gprimIntMinBound :: RefSrcPos -> RefExp -> R Int gprimIntMaxBound :: RefSrcPos -> RefExp -> R Int gprimIntEq :: RefSrcPos -> RefExp -> R (Fun Int (Fun Int Bool)) aprimIntEq :: RefAtom hprimIntEq :: R Int -> R Int -> RefExp -> R Bool gprimIntNe :: RefSrcPos -> RefExp -> R (Fun Int (Fun Int Bool)) aprimIntNe :: RefAtom hprimIntNe :: R Int -> R Int -> RefExp -> R Bool gprimIntLt :: RefSrcPos -> RefExp -> R (Fun Int (Fun Int Bool)) aprimIntLt :: RefAtom hprimIntLt :: R Int -> R Int -> RefExp -> R Bool gprimIntLe :: RefSrcPos -> RefExp -> R (Fun Int (Fun Int Bool)) aprimIntLe :: RefAtom hprimIntLe :: R Int -> R Int -> RefExp -> R Bool gprimIntGt :: RefSrcPos -> RefExp -> R (Fun Int (Fun Int Bool)) aprimIntGt :: RefAtom hprimIntGt :: R Int -> R Int -> RefExp -> R Bool gprimIntGe :: RefSrcPos -> RefExp -> R (Fun Int (Fun Int Bool)) aprimIntGe :: RefAtom hprimIntGe :: R Int -> R Int -> RefExp -> R Bool gprimIntQuot :: RefSrcPos -> RefExp -> R (Fun Int (Fun Int Int)) aprimIntQuot :: RefAtom hprimIntQuot :: R Int -> R Int -> RefExp -> R Int gprimIntRem :: RefSrcPos -> RefExp -> R (Fun Int (Fun Int Int)) aprimIntRem :: RefAtom hprimIntRem :: R Int -> R Int -> RefExp -> R Int gprimIntPlus :: RefSrcPos -> RefExp -> R (Fun Int (Fun Int Int)) aprimIntPlus :: RefAtom hprimIntPlus :: R Int -> R Int -> RefExp -> R Int gprimIntMinus :: RefSrcPos -> RefExp -> R (Fun Int (Fun Int Int)) aprimIntMinus :: RefAtom hprimIntMinus :: R Int -> R Int -> RefExp -> R Int gprimIntTimes :: RefSrcPos -> RefExp -> R (Fun Int (Fun Int Int)) aprimIntTimes :: RefAtom hprimIntTimes :: R Int -> R Int -> RefExp -> R Int gprimIntNegate :: RefSrcPos -> RefExp -> R (Fun Int Int) aprimIntNegate :: RefAtom hprimIntNegate :: R Int -> RefExp -> R Int gprimIntAbs :: RefSrcPos -> RefExp -> R (Fun Int Int) aprimIntAbs :: RefAtom hprimIntAbs :: R Int -> RefExp -> R Int gprimIntSignum :: RefSrcPos -> RefExp -> R (Fun Int Int) aprimIntSignum :: RefAtom hprimIntSignum :: R Int -> RefExp -> R Int gprimIntegerFromInt :: RefSrcPos -> RefExp -> R (Fun Int Integer) aprimIntegerFromInt :: RefAtom hprimIntegerFromInt :: R Int -> RefExp -> R Integer gprimIntFromInteger :: RefSrcPos -> RefExp -> R (Fun Integer Int) aprimIntFromInteger :: RefAtom hprimIntFromInteger :: R Integer -> RefExp -> R Int gprimIntegerEq :: RefSrcPos -> RefExp -> R (Fun Integer (Fun Integer Bool)) aprimIntegerEq :: RefAtom hprimIntegerEq :: R Integer -> R Integer -> RefExp -> R Bool gprimIntegerNe :: RefSrcPos -> RefExp -> R (Fun Integer (Fun Integer Bool)) aprimIntegerNe :: RefAtom hprimIntegerNe :: R Integer -> R Integer -> RefExp -> R Bool gprimIntegerLt :: RefSrcPos -> RefExp -> R (Fun Integer (Fun Integer Bool)) aprimIntegerLt :: RefAtom hprimIntegerLt :: R Integer -> R Integer -> RefExp -> R Bool gprimIntegerLe :: RefSrcPos -> RefExp -> R (Fun Integer (Fun Integer Bool)) aprimIntegerLe :: RefAtom hprimIntegerLe :: R Integer -> R Integer -> RefExp -> R Bool gprimIntegerGt :: RefSrcPos -> RefExp -> R (Fun Integer (Fun Integer Bool)) aprimIntegerGt :: RefAtom hprimIntegerGt :: R Integer -> R Integer -> RefExp -> R Bool gprimIntegerGe :: RefSrcPos -> RefExp -> R (Fun Integer (Fun Integer Bool)) aprimIntegerGe :: RefAtom hprimIntegerGe :: R Integer -> R Integer -> RefExp -> R Bool gprimIntegerQuot :: RefSrcPos -> RefExp -> R (Fun Integer (Fun Integer Integer)) aprimIntegerQuot :: RefAtom hprimIntegerQuot :: R Integer -> R Integer -> RefExp -> R Integer gprimIntegerRem :: RefSrcPos -> RefExp -> R (Fun Integer (Fun Integer Integer)) aprimIntegerRem :: RefAtom hprimIntegerRem :: R Integer -> R Integer -> RefExp -> R Integer gprimIntegerQuotRem :: RefSrcPos -> RefExp -> R (Fun Integer (Fun Integer (Tuple2 Integer Integer))) aprimIntegerQuotRem :: RefAtom hprimIntegerQuotRem :: R Integer -> R Integer -> RefExp -> R (Tuple2 Integer Integer) gprimIntegerAdd :: RefSrcPos -> RefExp -> R (Fun Integer (Fun Integer Integer)) aprimIntegerAdd :: RefAtom hprimIntegerAdd :: R Integer -> R Integer -> RefExp -> R Integer gprimIntegerSub :: RefSrcPos -> RefExp -> R (Fun Integer (Fun Integer Integer)) aprimIntegerSub :: RefAtom hprimIntegerSub :: R Integer -> R Integer -> RefExp -> R Integer gprimIntegerMul :: RefSrcPos -> RefExp -> R (Fun Integer (Fun Integer Integer)) aprimIntegerMul :: RefAtom hprimIntegerMul :: R Integer -> R Integer -> RefExp -> R Integer gprimIntegerNeg :: RefSrcPos -> RefExp -> R (Fun Integer Integer) aprimIntegerNeg :: RefAtom hprimIntegerNeg :: R Integer -> RefExp -> R Integer gprimFloatFromInteger :: RefSrcPos -> RefExp -> R (Fun Integer Float) aprimFloatFromInteger :: RefAtom hprimFloatFromInteger :: R Integer -> RefExp -> R Float gprimFloatRadix :: RefSrcPos -> RefExp -> R (Fun Float Integer) aprimFloatRadix :: RefAtom hprimFloatRadix :: R Float -> RefExp -> R Integer gprimFloatDigits :: RefSrcPos -> RefExp -> R (Fun Float Int) aprimFloatDigits :: RefAtom hprimFloatDigits :: R Float -> RefExp -> R Int gprimFloatRange :: RefSrcPos -> RefExp -> R (Fun Float (Tuple2 Int Int)) aprimFloatRange :: RefAtom hprimFloatRange :: R Float -> RefExp -> R (Tuple2 Int Int) gprimDecodeFloat :: RefSrcPos -> RefExp -> R (Fun Float (Tuple2 Integer Int)) aprimDecodeFloat :: RefAtom hprimDecodeFloat :: R Float -> RefExp -> R (Tuple2 Integer Int) gprimEncodeFloat :: RefSrcPos -> RefExp -> R (Fun Integer (Fun Int Float)) aprimEncodeFloat :: RefAtom hprimEncodeFloat :: R Integer -> R Int -> RefExp -> R Float gprimFloatIsNaN :: RefSrcPos -> RefExp -> R (Fun Float Bool) aprimFloatIsNaN :: RefAtom hprimFloatIsNaN :: R Float -> RefExp -> R Bool gprimFloatIsInfinite :: RefSrcPos -> RefExp -> R (Fun Float Bool) aprimFloatIsInfinite :: RefAtom hprimFloatIsInfinite :: R Float -> RefExp -> R Bool gprimFloatIsDenormalized :: RefSrcPos -> RefExp -> R (Fun Float Bool) aprimFloatIsDenormalized :: RefAtom hprimFloatIsDenormalized :: R Float -> RefExp -> R Bool gprimFloatIsNegativeZero :: RefSrcPos -> RefExp -> R (Fun Float Bool) aprimFloatIsNegativeZero :: RefAtom hprimFloatIsNegativeZero :: R Float -> RefExp -> R Bool gprimFloatIsIEEE :: RefSrcPos -> RefExp -> R (Fun Float Bool) aprimFloatIsIEEE :: RefAtom hprimFloatIsIEEE :: R Float -> RefExp -> R Bool gprimFloatEq :: RefSrcPos -> RefExp -> R (Fun Float (Fun Float Bool)) aprimFloatEq :: RefAtom hprimFloatEq :: R Float -> R Float -> RefExp -> R Bool gprimFloatNe :: RefSrcPos -> RefExp -> R (Fun Float (Fun Float Bool)) aprimFloatNe :: RefAtom hprimFloatNe :: R Float -> R Float -> RefExp -> R Bool gprimFloatLt :: RefSrcPos -> RefExp -> R (Fun Float (Fun Float Bool)) aprimFloatLt :: RefAtom hprimFloatLt :: R Float -> R Float -> RefExp -> R Bool gprimFloatLe :: RefSrcPos -> RefExp -> R (Fun Float (Fun Float Bool)) aprimFloatLe :: RefAtom hprimFloatLe :: R Float -> R Float -> RefExp -> R Bool gprimFloatGt :: RefSrcPos -> RefExp -> R (Fun Float (Fun Float Bool)) aprimFloatGt :: RefAtom hprimFloatGt :: R Float -> R Float -> RefExp -> R Bool gprimFloatGe :: RefSrcPos -> RefExp -> R (Fun Float (Fun Float Bool)) aprimFloatGe :: RefAtom hprimFloatGe :: R Float -> R Float -> RefExp -> R Bool gprimFloatPi :: RefSrcPos -> RefExp -> R Float gprimFloatExp :: RefSrcPos -> RefExp -> R (Fun Float Float) aprimFloatExp :: RefAtom hprimFloatExp :: R Float -> RefExp -> R Float gprimFloatLog :: RefSrcPos -> RefExp -> R (Fun Float Float) aprimFloatLog :: RefAtom hprimFloatLog :: R Float -> RefExp -> R Float gprimFloatSqrt :: RefSrcPos -> RefExp -> R (Fun Float Float) aprimFloatSqrt :: RefAtom hprimFloatSqrt :: R Float -> RefExp -> R Float gprimFloatSin :: RefSrcPos -> RefExp -> R (Fun Float Float) aprimFloatSin :: RefAtom hprimFloatSin :: R Float -> RefExp -> R Float gprimFloatCos :: RefSrcPos -> RefExp -> R (Fun Float Float) aprimFloatCos :: RefAtom hprimFloatCos :: R Float -> RefExp -> R Float gprimFloatTan :: RefSrcPos -> RefExp -> R (Fun Float Float) aprimFloatTan :: RefAtom hprimFloatTan :: R Float -> RefExp -> R Float gprimFloatAsin :: RefSrcPos -> RefExp -> R (Fun Float Float) aprimFloatAsin :: RefAtom hprimFloatAsin :: R Float -> RefExp -> R Float gprimFloatAcos :: RefSrcPos -> RefExp -> R (Fun Float Float) aprimFloatAcos :: RefAtom hprimFloatAcos :: R Float -> RefExp -> R Float gprimFloatAtan :: RefSrcPos -> RefExp -> R (Fun Float Float) aprimFloatAtan :: RefAtom hprimFloatAtan :: R Float -> RefExp -> R Float gprimFloatDiv :: RefSrcPos -> RefExp -> R (Fun Float (Fun Float Float)) aprimFloatDiv :: RefAtom hprimFloatDiv :: R Float -> R Float -> RefExp -> R Float gprimFloatAdd :: RefSrcPos -> RefExp -> R (Fun Float (Fun Float Float)) aprimFloatAdd :: RefAtom hprimFloatAdd :: R Float -> R Float -> RefExp -> R Float gprimFloatSub :: RefSrcPos -> RefExp -> R (Fun Float (Fun Float Float)) aprimFloatSub :: RefAtom hprimFloatSub :: R Float -> R Float -> RefExp -> R Float gprimFloatMul :: RefSrcPos -> RefExp -> R (Fun Float (Fun Float Float)) aprimFloatMul :: RefAtom hprimFloatMul :: R Float -> R Float -> RefExp -> R Float gprimFloatAbs :: RefSrcPos -> RefExp -> R (Fun Float Float) aprimFloatAbs :: RefAtom hprimFloatAbs :: R Float -> RefExp -> R Float gprimFloatSignum :: RefSrcPos -> RefExp -> R (Fun Float Float) aprimFloatSignum :: RefAtom hprimFloatSignum :: R Float -> RefExp -> R Float gprimDoubleFromInteger :: RefSrcPos -> RefExp -> R (Fun Integer Double) aprimDoubleFromInteger :: RefAtom hprimDoubleFromInteger :: R Integer -> RefExp -> R Double gprimDoubleRadix :: RefSrcPos -> RefExp -> R (Fun Double Integer) aprimDoubleRadix :: RefAtom hprimDoubleRadix :: R Double -> RefExp -> R Integer gprimDoubleDigits :: RefSrcPos -> RefExp -> R (Fun Double Int) aprimDoubleDigits :: RefAtom hprimDoubleDigits :: R Double -> RefExp -> R Int gprimDoubleRange :: RefSrcPos -> RefExp -> R (Fun Double (Tuple2 Int Int)) aprimDoubleRange :: RefAtom hprimDoubleRange :: R Double -> RefExp -> R (Tuple2 Int Int) gprimDecodeDouble :: RefSrcPos -> RefExp -> R (Fun Double (Tuple2 Integer Int)) aprimDecodeDouble :: RefAtom hprimDecodeDouble :: R Double -> RefExp -> R (Tuple2 Integer Int) gprimEncodeDouble :: RefSrcPos -> RefExp -> R (Fun Integer (Fun Int Double)) aprimEncodeDouble :: RefAtom hprimEncodeDouble :: R Integer -> R Int -> RefExp -> R Double gprimDoubleIsNaN :: RefSrcPos -> RefExp -> R (Fun Double Bool) aprimDoubleIsNaN :: RefAtom hprimDoubleIsNaN :: R Double -> RefExp -> R Bool gprimDoubleIsInfinite :: RefSrcPos -> RefExp -> R (Fun Double Bool) aprimDoubleIsInfinite :: RefAtom hprimDoubleIsInfinite :: R Double -> RefExp -> R Bool gprimDoubleIsDenormalized :: RefSrcPos -> RefExp -> R (Fun Double Bool) aprimDoubleIsDenormalized :: RefAtom hprimDoubleIsDenormalized :: R Double -> RefExp -> R Bool gprimDoubleIsNegativeZero :: RefSrcPos -> RefExp -> R (Fun Double Bool) aprimDoubleIsNegativeZero :: RefAtom hprimDoubleIsNegativeZero :: R Double -> RefExp -> R Bool gprimDoubleIsIEEE :: RefSrcPos -> RefExp -> R (Fun Double Bool) aprimDoubleIsIEEE :: RefAtom hprimDoubleIsIEEE :: R Double -> RefExp -> R Bool gprimDoubleEq :: RefSrcPos -> RefExp -> R (Fun Double (Fun Double Bool)) aprimDoubleEq :: RefAtom hprimDoubleEq :: R Double -> R Double -> RefExp -> R Bool gprimDoubleNe :: RefSrcPos -> RefExp -> R (Fun Double (Fun Double Bool)) aprimDoubleNe :: RefAtom hprimDoubleNe :: R Double -> R Double -> RefExp -> R Bool gprimDoubleLt :: RefSrcPos -> RefExp -> R (Fun Double (Fun Double Bool)) aprimDoubleLt :: RefAtom hprimDoubleLt :: R Double -> R Double -> RefExp -> R Bool gprimDoubleLe :: RefSrcPos -> RefExp -> R (Fun Double (Fun Double Bool)) aprimDoubleLe :: RefAtom hprimDoubleLe :: R Double -> R Double -> RefExp -> R Bool gprimDoubleGt :: RefSrcPos -> RefExp -> R (Fun Double (Fun Double Bool)) aprimDoubleGt :: RefAtom hprimDoubleGt :: R Double -> R Double -> RefExp -> R Bool gprimDoubleGe :: RefSrcPos -> RefExp -> R (Fun Double (Fun Double Bool)) aprimDoubleGe :: RefAtom hprimDoubleGe :: R Double -> R Double -> RefExp -> R Bool gprimDoublePi :: RefSrcPos -> RefExp -> R Double gprimDoubleExp :: RefSrcPos -> RefExp -> R (Fun Double Double) aprimDoubleExp :: RefAtom hprimDoubleExp :: R Double -> RefExp -> R Double gprimDoubleLog :: RefSrcPos -> RefExp -> R (Fun Double Double) aprimDoubleLog :: RefAtom hprimDoubleLog :: R Double -> RefExp -> R Double gprimDoubleSqrt :: RefSrcPos -> RefExp -> R (Fun Double Double) aprimDoubleSqrt :: RefAtom hprimDoubleSqrt :: R Double -> RefExp -> R Double gprimDoubleSin :: RefSrcPos -> RefExp -> R (Fun Double Double) aprimDoubleSin :: RefAtom hprimDoubleSin :: R Double -> RefExp -> R Double gprimDoubleCos :: RefSrcPos -> RefExp -> R (Fun Double Double) aprimDoubleCos :: RefAtom hprimDoubleCos :: R Double -> RefExp -> R Double gprimDoubleTan :: RefSrcPos -> RefExp -> R (Fun Double Double) aprimDoubleTan :: RefAtom hprimDoubleTan :: R Double -> RefExp -> R Double gprimDoubleAsin :: RefSrcPos -> RefExp -> R (Fun Double Double) aprimDoubleAsin :: RefAtom hprimDoubleAsin :: R Double -> RefExp -> R Double gprimDoubleAcos :: RefSrcPos -> RefExp -> R (Fun Double Double) aprimDoubleAcos :: RefAtom hprimDoubleAcos :: R Double -> RefExp -> R Double gprimDoubleAtan :: RefSrcPos -> RefExp -> R (Fun Double Double) aprimDoubleAtan :: RefAtom hprimDoubleAtan :: R Double -> RefExp -> R Double gprimDoubleDiv :: RefSrcPos -> RefExp -> R (Fun Double (Fun Double Double)) aprimDoubleDiv :: RefAtom hprimDoubleDiv :: R Double -> R Double -> RefExp -> R Double gprimDoubleAdd :: RefSrcPos -> RefExp -> R (Fun Double (Fun Double Double)) aprimDoubleAdd :: RefAtom hprimDoubleAdd :: R Double -> R Double -> RefExp -> R Double gprimDoubleSub :: RefSrcPos -> RefExp -> R (Fun Double (Fun Double Double)) aprimDoubleSub :: RefAtom hprimDoubleSub :: R Double -> R Double -> RefExp -> R Double gprimDoubleMul :: RefSrcPos -> RefExp -> R (Fun Double (Fun Double Double)) aprimDoubleMul :: RefAtom hprimDoubleMul :: R Double -> R Double -> RefExp -> R Double gprimDoubleAbs :: RefSrcPos -> RefExp -> R (Fun Double Double) aprimDoubleAbs :: RefAtom hprimDoubleAbs :: R Double -> RefExp -> R Double gprimDoubleSignum :: RefSrcPos -> RefExp -> R (Fun Double Double) aprimDoubleSignum :: RefAtom hprimDoubleSignum :: R Double -> RefExp -> R Double gprimIOBind :: RefSrcPos -> RefExp -> R (Fun (IO a) (Fun (Fun a (IO b)) (IO b))) aprimIOBind :: RefAtom hprimIOBind :: R (IO a) -> R (Fun a (IO b)) -> RefExp -> R (IO b) gprimIOReturn :: RefSrcPos -> RefExp -> R (Fun a (IO a)) aprimIOReturn :: RefAtom hprimIOReturn :: R b -> RefExp -> R (IO b) gioError :: RefSrcPos -> RefExp -> R (Fun IOError (IO a)) aioError :: RefAtom hioError :: R IOError -> RefExp -> R (IO b) guserError :: RefSrcPos -> RefExp -> R (Fun String IOError) auserError :: RefAtom huserError :: R String -> RefExp -> R IOError gcatch :: RefSrcPos -> RefExp -> R (Fun (IO a) (Fun (Fun IOError (IO a)) (IO a))) acatch :: RefAtom hcatch :: R (IO b) -> R (Fun IOError (IO b)) -> RefExp -> R (IO b) gputChar :: RefSrcPos -> RefExp -> R (Fun Char (IO Tuple0)) aputChar :: RefAtom hputChar :: R Char -> RefExp -> R (IO Tuple0) ggetChar :: RefSrcPos -> RefExp -> R (IO Char) ggetContents :: RefSrcPos -> RefExp -> R (IO String) greadFile :: RefSrcPos -> RefExp -> R (Fun String (IO String)) areadFile :: RefAtom hreadFile :: R String -> RefExp -> R (IO String) gwriteFile :: RefSrcPos -> RefExp -> R (Fun String (Fun String (IO Tuple0))) awriteFile :: RefAtom hwriteFile :: R String -> R String -> RefExp -> R (IO Tuple0) gappendFile :: RefSrcPos -> RefExp -> R (Fun String (Fun String (IO Tuple0))) aappendFile :: RefAtom happendFile :: R String -> R String -> RefExp -> R (IO Tuple0) gprimIOErrorShow :: RefSrcPos -> RefExp -> R (Fun IOError String) aprimIOErrorShow :: RefAtom hprimIOErrorShow :: R IOError -> RefExp -> R String instance Hat.PreludeBasic.Eq Hat.Hat.Tuple0 instance Hat.PreludeBasic.Ord Hat.Hat.Tuple0 instance Hat.PreludeBasic.Enum Hat.Hat.Tuple0 instance Hat.PreludeBasic.Bounded Hat.Hat.Tuple0 instance Hat.PreludeBasic.Eq GHC.Types.Bool instance Hat.PreludeBasic.Ord GHC.Types.Bool instance Hat.PreludeBasic.Enum GHC.Types.Bool instance Hat.PreludeBasic.Read GHC.Types.Bool instance Hat.PreludeBasic.Show GHC.Types.Bool instance Hat.PreludeBasic.Bounded GHC.Types.Bool instance Hat.PreludeBasic.Eq GHC.Types.Char instance Hat.PreludeBasic.Ord GHC.Types.Char instance Hat.PreludeBasic.Enum GHC.Types.Char instance Hat.PreludeBasic.Bounded GHC.Types.Char instance Hat.Hat.WrapVal (Hat.PreludeBasic.Maybe a) instance Hat.PreludeBasic.Eq a => Hat.PreludeBasic.Eq (Hat.PreludeBasic.Maybe a) instance Hat.PreludeBasic.Ord a => Hat.PreludeBasic.Ord (Hat.PreludeBasic.Maybe a) instance Hat.PreludeBasic.Read a => Hat.PreludeBasic.Read (Hat.PreludeBasic.Maybe a) instance Hat.PreludeBasic.Show a => Hat.PreludeBasic.Show (Hat.PreludeBasic.Maybe a) instance Hat.PreludeBasic.Functor Hat.PreludeBasic.Maybe instance Hat.PreludeBasic.Monad Hat.PreludeBasic.Maybe instance Hat.Hat.WrapVal (Hat.PreludeBasic.Either a b) instance (Hat.PreludeBasic.Eq a, Hat.PreludeBasic.Eq b) => Hat.PreludeBasic.Eq (Hat.PreludeBasic.Either a b) instance (Hat.PreludeBasic.Ord a, Hat.PreludeBasic.Ord b) => Hat.PreludeBasic.Ord (Hat.PreludeBasic.Either a b) instance (Hat.PreludeBasic.Read a, Hat.PreludeBasic.Read b) => Hat.PreludeBasic.Read (Hat.PreludeBasic.Either a b) instance (Hat.PreludeBasic.Show a, Hat.PreludeBasic.Show b) => Hat.PreludeBasic.Show (Hat.PreludeBasic.Either a b) instance Hat.PreludeBasic.Functor Hat.Hat.IO instance Hat.PreludeBasic.Monad Hat.Hat.IO instance Hat.Hat.WrapVal Hat.PreludeBasic.Ordering instance Hat.PreludeBasic.Eq Hat.PreludeBasic.Ordering instance Hat.PreludeBasic.Ord Hat.PreludeBasic.Ordering instance Hat.PreludeBasic.Enum Hat.PreludeBasic.Ordering instance Hat.PreludeBasic.Read Hat.PreludeBasic.Ordering instance Hat.PreludeBasic.Show Hat.PreludeBasic.Ordering instance Hat.PreludeBasic.Bounded Hat.PreludeBasic.Ordering instance Hat.PreludeBasic.Eq GHC.Types.Int instance Hat.PreludeBasic.Ord GHC.Types.Int instance Hat.PreludeBasic.Num GHC.Types.Int instance Hat.PreludeBasic.Real GHC.Types.Int instance Hat.PreludeBasic.Integral GHC.Types.Int instance Hat.PreludeBasic.Enum GHC.Types.Int instance Hat.PreludeBasic.Bounded GHC.Types.Int instance Hat.PreludeBasic.Eq GHC.Integer.Type.Integer instance Hat.PreludeBasic.Ord GHC.Integer.Type.Integer instance Hat.PreludeBasic.Num GHC.Integer.Type.Integer instance Hat.PreludeBasic.Real GHC.Integer.Type.Integer instance Hat.PreludeBasic.Integral GHC.Integer.Type.Integer instance Hat.PreludeBasic.Enum GHC.Integer.Type.Integer instance Hat.PreludeBasic.Eq GHC.Types.Float instance Hat.PreludeBasic.Ord GHC.Types.Float instance Hat.PreludeBasic.Num GHC.Types.Float instance Hat.PreludeBasic.Real GHC.Types.Float instance Hat.PreludeBasic.Fractional GHC.Types.Float instance Hat.PreludeBasic.Floating GHC.Types.Float instance Hat.PreludeBasic.RealFrac GHC.Types.Float instance Hat.PreludeBasic.RealFloat GHC.Types.Float instance Hat.PreludeBasic.Eq GHC.Types.Double instance Hat.PreludeBasic.Ord GHC.Types.Double instance Hat.PreludeBasic.Num GHC.Types.Double instance Hat.PreludeBasic.Real GHC.Types.Double instance Hat.PreludeBasic.Fractional GHC.Types.Double instance Hat.PreludeBasic.Floating GHC.Types.Double instance Hat.PreludeBasic.RealFrac GHC.Types.Double instance Hat.PreludeBasic.RealFloat GHC.Types.Double instance Hat.PreludeBasic.Enum GHC.Types.Float instance Hat.PreludeBasic.Enum GHC.Types.Double instance Hat.PreludeBasic.Eq a => Hat.PreludeBasic.Eq (Hat.Hat.List a) instance Hat.PreludeBasic.Ord a => Hat.PreludeBasic.Ord (Hat.Hat.List a) instance Hat.PreludeBasic.Functor Hat.Hat.List instance Hat.PreludeBasic.Monad Hat.Hat.List instance (Hat.PreludeBasic.Eq a, Hat.PreludeBasic.Eq b) => Hat.PreludeBasic.Eq (Hat.Hat.Tuple2 a b) instance (Hat.PreludeBasic.Ord a, Hat.PreludeBasic.Ord b) => Hat.PreludeBasic.Ord (Hat.Hat.Tuple2 a b) instance (Hat.PreludeBasic.Bounded a, Hat.PreludeBasic.Bounded b) => Hat.PreludeBasic.Bounded (Hat.Hat.Tuple2 a b) instance (Hat.PreludeBasic.Eq a, Hat.PreludeBasic.Eq b, Hat.PreludeBasic.Eq c) => Hat.PreludeBasic.Eq (Hat.Hat.Tuple3 a b c) instance (Hat.PreludeBasic.Ord a, Hat.PreludeBasic.Ord b, Hat.PreludeBasic.Ord c) => Hat.PreludeBasic.Ord (Hat.Hat.Tuple3 a b c) instance (Hat.PreludeBasic.Bounded a, Hat.PreludeBasic.Bounded b, Hat.PreludeBasic.Bounded c) => Hat.PreludeBasic.Bounded (Hat.Hat.Tuple3 a b c) instance (Hat.PreludeBasic.Eq a, Hat.PreludeBasic.Eq b, Hat.PreludeBasic.Eq c, Hat.PreludeBasic.Eq d) => Hat.PreludeBasic.Eq (Hat.Hat.Tuple4 a b c d) instance (Hat.PreludeBasic.Ord a, Hat.PreludeBasic.Ord b, Hat.PreludeBasic.Ord c, Hat.PreludeBasic.Ord d) => Hat.PreludeBasic.Ord (Hat.Hat.Tuple4 a b c d) instance (Hat.PreludeBasic.Bounded a, Hat.PreludeBasic.Bounded b, Hat.PreludeBasic.Bounded c, Hat.PreludeBasic.Bounded d) => Hat.PreludeBasic.Bounded (Hat.Hat.Tuple4 a b c d) instance (Hat.PreludeBasic.Eq a, Hat.PreludeBasic.Eq b, Hat.PreludeBasic.Eq c, Hat.PreludeBasic.Eq d, Hat.PreludeBasic.Eq e) => Hat.PreludeBasic.Eq (Hat.Hat.Tuple5 a b c d e) instance (Hat.PreludeBasic.Ord a, Hat.PreludeBasic.Ord b, Hat.PreludeBasic.Ord c, Hat.PreludeBasic.Ord d, Hat.PreludeBasic.Ord e) => Hat.PreludeBasic.Ord (Hat.Hat.Tuple5 a b c d e) instance (Hat.PreludeBasic.Bounded a, Hat.PreludeBasic.Bounded b, Hat.PreludeBasic.Bounded c, Hat.PreludeBasic.Bounded d, Hat.PreludeBasic.Bounded e) => Hat.PreludeBasic.Bounded (Hat.Hat.Tuple5 a b c d e) instance (Hat.PreludeBasic.Eq a, Hat.PreludeBasic.Eq b, Hat.PreludeBasic.Eq c, Hat.PreludeBasic.Eq d, Hat.PreludeBasic.Eq e, Hat.PreludeBasic.Eq f) => Hat.PreludeBasic.Eq (Hat.Hat.Tuple6 a b c d e f) instance (Hat.PreludeBasic.Ord a, Hat.PreludeBasic.Ord b, Hat.PreludeBasic.Ord c, Hat.PreludeBasic.Ord d, Hat.PreludeBasic.Ord e, Hat.PreludeBasic.Ord f) => Hat.PreludeBasic.Ord (Hat.Hat.Tuple6 a b c d e f) instance (Hat.PreludeBasic.Bounded a, Hat.PreludeBasic.Bounded b, Hat.PreludeBasic.Bounded c, Hat.PreludeBasic.Bounded d, Hat.PreludeBasic.Bounded e, Hat.PreludeBasic.Bounded f) => Hat.PreludeBasic.Bounded (Hat.Hat.Tuple6 a b c d e f) instance (Hat.PreludeBasic.Eq a, Hat.PreludeBasic.Eq b, Hat.PreludeBasic.Eq c, Hat.PreludeBasic.Eq d, Hat.PreludeBasic.Eq e, Hat.PreludeBasic.Eq f, Hat.PreludeBasic.Eq g) => Hat.PreludeBasic.Eq (Hat.Hat.Tuple7 a b c d e f g) instance (Hat.PreludeBasic.Ord a, Hat.PreludeBasic.Ord b, Hat.PreludeBasic.Ord c, Hat.PreludeBasic.Ord d, Hat.PreludeBasic.Ord e, Hat.PreludeBasic.Ord f, Hat.PreludeBasic.Ord g) => Hat.PreludeBasic.Ord (Hat.Hat.Tuple7 a b c d e f g) instance (Hat.PreludeBasic.Bounded a, Hat.PreludeBasic.Bounded b, Hat.PreludeBasic.Bounded c, Hat.PreludeBasic.Bounded d, Hat.PreludeBasic.Bounded e, Hat.PreludeBasic.Bounded f, Hat.PreludeBasic.Bounded g) => Hat.PreludeBasic.Bounded (Hat.Hat.Tuple7 a b c d e f g) instance (Hat.PreludeBasic.Eq a, Hat.PreludeBasic.Eq b, Hat.PreludeBasic.Eq c, Hat.PreludeBasic.Eq d, Hat.PreludeBasic.Eq e, Hat.PreludeBasic.Eq f, Hat.PreludeBasic.Eq g, Hat.PreludeBasic.Eq h) => Hat.PreludeBasic.Eq (Hat.Hat.Tuple8 a b c d e f g h) instance (Hat.PreludeBasic.Ord a, Hat.PreludeBasic.Ord b, Hat.PreludeBasic.Ord c, Hat.PreludeBasic.Ord d, Hat.PreludeBasic.Ord e, Hat.PreludeBasic.Ord f, Hat.PreludeBasic.Ord g, Hat.PreludeBasic.Ord h) => Hat.PreludeBasic.Ord (Hat.Hat.Tuple8 a b c d e f g h) instance (Hat.PreludeBasic.Bounded a, Hat.PreludeBasic.Bounded b, Hat.PreludeBasic.Bounded c, Hat.PreludeBasic.Bounded d, Hat.PreludeBasic.Bounded e, Hat.PreludeBasic.Bounded f, Hat.PreludeBasic.Bounded g, Hat.PreludeBasic.Bounded h) => Hat.PreludeBasic.Bounded (Hat.Hat.Tuple8 a b c d e f g h) instance (Hat.PreludeBasic.Eq a, Hat.PreludeBasic.Eq b, Hat.PreludeBasic.Eq c, Hat.PreludeBasic.Eq d, Hat.PreludeBasic.Eq e, Hat.PreludeBasic.Eq f, Hat.PreludeBasic.Eq g, Hat.PreludeBasic.Eq h, Hat.PreludeBasic.Eq i) => Hat.PreludeBasic.Eq (Hat.Hat.Tuple9 a b c d e f g h i) instance (Hat.PreludeBasic.Ord a, Hat.PreludeBasic.Ord b, Hat.PreludeBasic.Ord c, Hat.PreludeBasic.Ord d, Hat.PreludeBasic.Ord e, Hat.PreludeBasic.Ord f, Hat.PreludeBasic.Ord g, Hat.PreludeBasic.Ord h, Hat.PreludeBasic.Ord i) => Hat.PreludeBasic.Ord (Hat.Hat.Tuple9 a b c d e f g h i) instance (Hat.PreludeBasic.Bounded a, Hat.PreludeBasic.Bounded b, Hat.PreludeBasic.Bounded c, Hat.PreludeBasic.Bounded d, Hat.PreludeBasic.Bounded e, Hat.PreludeBasic.Bounded f, Hat.PreludeBasic.Bounded g, Hat.PreludeBasic.Bounded h, Hat.PreludeBasic.Bounded i) => Hat.PreludeBasic.Bounded (Hat.Hat.Tuple9 a b c d e f g h i) instance (Hat.PreludeBasic.Eq a, Hat.PreludeBasic.Eq b, Hat.PreludeBasic.Eq c, Hat.PreludeBasic.Eq d, Hat.PreludeBasic.Eq e, Hat.PreludeBasic.Eq f, Hat.PreludeBasic.Eq g, Hat.PreludeBasic.Eq h, Hat.PreludeBasic.Eq i, Hat.PreludeBasic.Eq j) => Hat.PreludeBasic.Eq (Hat.Hat.Tuple10 a b c d e f g h i j) instance (Hat.PreludeBasic.Ord a, Hat.PreludeBasic.Ord b, Hat.PreludeBasic.Ord c, Hat.PreludeBasic.Ord d, Hat.PreludeBasic.Ord e, Hat.PreludeBasic.Ord f, Hat.PreludeBasic.Ord g, Hat.PreludeBasic.Ord h, Hat.PreludeBasic.Ord i, Hat.PreludeBasic.Ord j) => Hat.PreludeBasic.Ord (Hat.Hat.Tuple10 a b c d e f g h i j) instance (Hat.PreludeBasic.Bounded a, Hat.PreludeBasic.Bounded b, Hat.PreludeBasic.Bounded c, Hat.PreludeBasic.Bounded d, Hat.PreludeBasic.Bounded e, Hat.PreludeBasic.Bounded f, Hat.PreludeBasic.Bounded g, Hat.PreludeBasic.Bounded h, Hat.PreludeBasic.Bounded i, Hat.PreludeBasic.Bounded j) => Hat.PreludeBasic.Bounded (Hat.Hat.Tuple10 a b c d e f g h i j) instance (Hat.PreludeBasic.Eq a, Hat.PreludeBasic.Eq b, Hat.PreludeBasic.Eq c, Hat.PreludeBasic.Eq d, Hat.PreludeBasic.Eq e, Hat.PreludeBasic.Eq f, Hat.PreludeBasic.Eq g, Hat.PreludeBasic.Eq h, Hat.PreludeBasic.Eq i, Hat.PreludeBasic.Eq j, Hat.PreludeBasic.Eq k) => Hat.PreludeBasic.Eq (Hat.Hat.Tuple11 a b c d e f g h i j k) instance (Hat.PreludeBasic.Ord a, Hat.PreludeBasic.Ord b, Hat.PreludeBasic.Ord c, Hat.PreludeBasic.Ord d, Hat.PreludeBasic.Ord e, Hat.PreludeBasic.Ord f, Hat.PreludeBasic.Ord g, Hat.PreludeBasic.Ord h, Hat.PreludeBasic.Ord i, Hat.PreludeBasic.Ord j, Hat.PreludeBasic.Ord k) => Hat.PreludeBasic.Ord (Hat.Hat.Tuple11 a b c d e f g h i j k) instance (Hat.PreludeBasic.Bounded a, Hat.PreludeBasic.Bounded b, Hat.PreludeBasic.Bounded c, Hat.PreludeBasic.Bounded d, Hat.PreludeBasic.Bounded e, Hat.PreludeBasic.Bounded f, Hat.PreludeBasic.Bounded g, Hat.PreludeBasic.Bounded h, Hat.PreludeBasic.Bounded i, Hat.PreludeBasic.Bounded j, Hat.PreludeBasic.Bounded k) => Hat.PreludeBasic.Bounded (Hat.Hat.Tuple11 a b c d e f g h i j k) instance (Hat.PreludeBasic.Eq a, Hat.PreludeBasic.Eq b, Hat.PreludeBasic.Eq c, Hat.PreludeBasic.Eq d, Hat.PreludeBasic.Eq e, Hat.PreludeBasic.Eq f, Hat.PreludeBasic.Eq g, Hat.PreludeBasic.Eq h, Hat.PreludeBasic.Eq i, Hat.PreludeBasic.Eq j, Hat.PreludeBasic.Eq k, Hat.PreludeBasic.Eq l) => Hat.PreludeBasic.Eq (Hat.Hat.Tuple12 a b c d e f g h i j k l) instance (Hat.PreludeBasic.Ord a, Hat.PreludeBasic.Ord b, Hat.PreludeBasic.Ord c, Hat.PreludeBasic.Ord d, Hat.PreludeBasic.Ord e, Hat.PreludeBasic.Ord f, Hat.PreludeBasic.Ord g, Hat.PreludeBasic.Ord h, Hat.PreludeBasic.Ord i, Hat.PreludeBasic.Ord j, Hat.PreludeBasic.Ord k, Hat.PreludeBasic.Ord l) => Hat.PreludeBasic.Ord (Hat.Hat.Tuple12 a b c d e f g h i j k l) instance (Hat.PreludeBasic.Bounded a, Hat.PreludeBasic.Bounded b, Hat.PreludeBasic.Bounded c, Hat.PreludeBasic.Bounded d, Hat.PreludeBasic.Bounded e, Hat.PreludeBasic.Bounded f, Hat.PreludeBasic.Bounded g, Hat.PreludeBasic.Bounded h, Hat.PreludeBasic.Bounded i, Hat.PreludeBasic.Bounded j, Hat.PreludeBasic.Bounded k, Hat.PreludeBasic.Bounded l) => Hat.PreludeBasic.Bounded (Hat.Hat.Tuple12 a b c d e f g h i j k l) instance (Hat.PreludeBasic.Eq a, Hat.PreludeBasic.Eq b, Hat.PreludeBasic.Eq c, Hat.PreludeBasic.Eq d, Hat.PreludeBasic.Eq e, Hat.PreludeBasic.Eq f, Hat.PreludeBasic.Eq g, Hat.PreludeBasic.Eq h, Hat.PreludeBasic.Eq i, Hat.PreludeBasic.Eq j, Hat.PreludeBasic.Eq k, Hat.PreludeBasic.Eq l, Hat.PreludeBasic.Eq m) => Hat.PreludeBasic.Eq (Hat.Hat.Tuple13 a b c d e f g h i j k l m) instance (Hat.PreludeBasic.Ord a, Hat.PreludeBasic.Ord b, Hat.PreludeBasic.Ord c, Hat.PreludeBasic.Ord d, Hat.PreludeBasic.Ord e, Hat.PreludeBasic.Ord f, Hat.PreludeBasic.Ord g, Hat.PreludeBasic.Ord h, Hat.PreludeBasic.Ord i, Hat.PreludeBasic.Ord j, Hat.PreludeBasic.Ord k, Hat.PreludeBasic.Ord l, Hat.PreludeBasic.Ord m) => Hat.PreludeBasic.Ord (Hat.Hat.Tuple13 a b c d e f g h i j k l m) instance (Hat.PreludeBasic.Bounded a, Hat.PreludeBasic.Bounded b, Hat.PreludeBasic.Bounded c, Hat.PreludeBasic.Bounded d, Hat.PreludeBasic.Bounded e, Hat.PreludeBasic.Bounded f, Hat.PreludeBasic.Bounded g, Hat.PreludeBasic.Bounded h, Hat.PreludeBasic.Bounded i, Hat.PreludeBasic.Bounded j, Hat.PreludeBasic.Bounded k, Hat.PreludeBasic.Bounded l, Hat.PreludeBasic.Bounded m) => Hat.PreludeBasic.Bounded (Hat.Hat.Tuple13 a b c d e f g h i j k l m) instance (Hat.PreludeBasic.Eq a, Hat.PreludeBasic.Eq b, Hat.PreludeBasic.Eq c, Hat.PreludeBasic.Eq d, Hat.PreludeBasic.Eq e, Hat.PreludeBasic.Eq f, Hat.PreludeBasic.Eq g, Hat.PreludeBasic.Eq h, Hat.PreludeBasic.Eq i, Hat.PreludeBasic.Eq j, Hat.PreludeBasic.Eq k, Hat.PreludeBasic.Eq l, Hat.PreludeBasic.Eq m, Hat.PreludeBasic.Eq n) => Hat.PreludeBasic.Eq (Hat.Hat.Tuple14 a b c d e f g h i j k l m n) instance (Hat.PreludeBasic.Ord a, Hat.PreludeBasic.Ord b, Hat.PreludeBasic.Ord c, Hat.PreludeBasic.Ord d, Hat.PreludeBasic.Ord e, Hat.PreludeBasic.Ord f, Hat.PreludeBasic.Ord g, Hat.PreludeBasic.Ord h, Hat.PreludeBasic.Ord i, Hat.PreludeBasic.Ord j, Hat.PreludeBasic.Ord k, Hat.PreludeBasic.Ord l, Hat.PreludeBasic.Ord m, Hat.PreludeBasic.Ord n) => Hat.PreludeBasic.Ord (Hat.Hat.Tuple14 a b c d e f g h i j k l m n) instance (Hat.PreludeBasic.Bounded a, Hat.PreludeBasic.Bounded b, Hat.PreludeBasic.Bounded c, Hat.PreludeBasic.Bounded d, Hat.PreludeBasic.Bounded e, Hat.PreludeBasic.Bounded f, Hat.PreludeBasic.Bounded g, Hat.PreludeBasic.Bounded h, Hat.PreludeBasic.Bounded i, Hat.PreludeBasic.Bounded j, Hat.PreludeBasic.Bounded k, Hat.PreludeBasic.Bounded l, Hat.PreludeBasic.Bounded m, Hat.PreludeBasic.Bounded n) => Hat.PreludeBasic.Bounded (Hat.Hat.Tuple14 a b c d e f g h i j k l m n) instance (Hat.PreludeBasic.Eq a, Hat.PreludeBasic.Eq b, Hat.PreludeBasic.Eq c, Hat.PreludeBasic.Eq d, Hat.PreludeBasic.Eq e, Hat.PreludeBasic.Eq f, Hat.PreludeBasic.Eq g, Hat.PreludeBasic.Eq h, Hat.PreludeBasic.Eq i, Hat.PreludeBasic.Eq j, Hat.PreludeBasic.Eq k, Hat.PreludeBasic.Eq l, Hat.PreludeBasic.Eq m, Hat.PreludeBasic.Eq n, Hat.PreludeBasic.Eq o) => Hat.PreludeBasic.Eq (Hat.Hat.Tuple15 a b c d e f g h i j k l m n o) instance (Hat.PreludeBasic.Ord a, Hat.PreludeBasic.Ord b, Hat.PreludeBasic.Ord c, Hat.PreludeBasic.Ord d, Hat.PreludeBasic.Ord e, Hat.PreludeBasic.Ord f, Hat.PreludeBasic.Ord g, Hat.PreludeBasic.Ord h, Hat.PreludeBasic.Ord i, Hat.PreludeBasic.Ord j, Hat.PreludeBasic.Ord k, Hat.PreludeBasic.Ord l, Hat.PreludeBasic.Ord m, Hat.PreludeBasic.Ord n, Hat.PreludeBasic.Ord o) => Hat.PreludeBasic.Ord (Hat.Hat.Tuple15 a b c d e f g h i j k l m n o) instance (Hat.PreludeBasic.Bounded a, Hat.PreludeBasic.Bounded b, Hat.PreludeBasic.Bounded c, Hat.PreludeBasic.Bounded d, Hat.PreludeBasic.Bounded e, Hat.PreludeBasic.Bounded f, Hat.PreludeBasic.Bounded g, Hat.PreludeBasic.Bounded h, Hat.PreludeBasic.Bounded i, Hat.PreludeBasic.Bounded j, Hat.PreludeBasic.Bounded k, Hat.PreludeBasic.Bounded l, Hat.PreludeBasic.Bounded m, Hat.PreludeBasic.Bounded n, Hat.PreludeBasic.Bounded o) => Hat.PreludeBasic.Bounded (Hat.Hat.Tuple15 a b c d e f g h i j k l m n o) instance Hat.PreludeBasic.Show GHC.Types.Int instance Hat.PreludeBasic.Read GHC.Types.Int instance Hat.PreludeBasic.Show GHC.Integer.Type.Integer instance Hat.PreludeBasic.Read GHC.Integer.Type.Integer instance Hat.PreludeBasic.Show GHC.Types.Float instance Hat.PreludeBasic.Read GHC.Types.Float instance Hat.PreludeBasic.Show GHC.Types.Double instance Hat.PreludeBasic.Read GHC.Types.Double instance Hat.PreludeBasic.Show Hat.Hat.Tuple0 instance Hat.PreludeBasic.Read Hat.Hat.Tuple0 instance Hat.PreludeBasic.Show GHC.Types.Char instance Hat.PreludeBasic.Read GHC.Types.Char instance Hat.PreludeBasic.Show a => Hat.PreludeBasic.Show (Hat.Hat.List a) instance Hat.PreludeBasic.Read a => Hat.PreludeBasic.Read (Hat.Hat.List a) instance (Hat.PreludeBasic.Show a, Hat.PreludeBasic.Show b) => Hat.PreludeBasic.Show (Hat.Hat.Tuple2 a b) instance (Hat.PreludeBasic.Read a, Hat.PreludeBasic.Read b) => Hat.PreludeBasic.Read (Hat.Hat.Tuple2 a b) instance (Hat.PreludeBasic.Read a, Hat.PreludeBasic.Read b, Hat.PreludeBasic.Read c) => Hat.PreludeBasic.Read (Hat.Hat.Tuple3 a b c) instance (Hat.PreludeBasic.Read a, Hat.PreludeBasic.Read b, Hat.PreludeBasic.Read c, Hat.PreludeBasic.Read d) => Hat.PreludeBasic.Read (Hat.Hat.Tuple4 a b c d) instance (Hat.PreludeBasic.Read a, Hat.PreludeBasic.Read b, Hat.PreludeBasic.Read c, Hat.PreludeBasic.Read d, Hat.PreludeBasic.Read e) => Hat.PreludeBasic.Read (Hat.Hat.Tuple5 a b c d e) instance (Hat.PreludeBasic.Read a, Hat.PreludeBasic.Read b, Hat.PreludeBasic.Read c, Hat.PreludeBasic.Read d, Hat.PreludeBasic.Read e, Hat.PreludeBasic.Read f) => Hat.PreludeBasic.Read (Hat.Hat.Tuple6 a b c d e f) instance (Hat.PreludeBasic.Read a, Hat.PreludeBasic.Read b, Hat.PreludeBasic.Read c, Hat.PreludeBasic.Read d, Hat.PreludeBasic.Read e, Hat.PreludeBasic.Read f, Hat.PreludeBasic.Read g) => Hat.PreludeBasic.Read (Hat.Hat.Tuple7 a b c d e f g) instance (Hat.PreludeBasic.Read a, Hat.PreludeBasic.Read b, Hat.PreludeBasic.Read c, Hat.PreludeBasic.Read d, Hat.PreludeBasic.Read e, Hat.PreludeBasic.Read f, Hat.PreludeBasic.Read g, Hat.PreludeBasic.Read h) => Hat.PreludeBasic.Read (Hat.Hat.Tuple8 a b c d e f g h) instance (Hat.PreludeBasic.Read a, Hat.PreludeBasic.Read b, Hat.PreludeBasic.Read c, Hat.PreludeBasic.Read d, Hat.PreludeBasic.Read e, Hat.PreludeBasic.Read f, Hat.PreludeBasic.Read g, Hat.PreludeBasic.Read h, Hat.PreludeBasic.Read i) => Hat.PreludeBasic.Read (Hat.Hat.Tuple9 a b c d e f g h i) instance (Hat.PreludeBasic.Read a, Hat.PreludeBasic.Read b, Hat.PreludeBasic.Read c, Hat.PreludeBasic.Read d, Hat.PreludeBasic.Read e, Hat.PreludeBasic.Read f, Hat.PreludeBasic.Read g, Hat.PreludeBasic.Read h, Hat.PreludeBasic.Read i, Hat.PreludeBasic.Read j) => Hat.PreludeBasic.Read (Hat.Hat.Tuple10 a b c d e f g h i j) instance (Hat.PreludeBasic.Read a, Hat.PreludeBasic.Read b, Hat.PreludeBasic.Read c, Hat.PreludeBasic.Read d, Hat.PreludeBasic.Read e, Hat.PreludeBasic.Read f, Hat.PreludeBasic.Read g, Hat.PreludeBasic.Read h, Hat.PreludeBasic.Read i, Hat.PreludeBasic.Read j, Hat.PreludeBasic.Read k) => Hat.PreludeBasic.Read (Hat.Hat.Tuple11 a b c d e f g h i j k) instance (Hat.PreludeBasic.Read a, Hat.PreludeBasic.Read b, Hat.PreludeBasic.Read c, Hat.PreludeBasic.Read d, Hat.PreludeBasic.Read e, Hat.PreludeBasic.Read f, Hat.PreludeBasic.Read g, Hat.PreludeBasic.Read h, Hat.PreludeBasic.Read i, Hat.PreludeBasic.Read j, Hat.PreludeBasic.Read k, Hat.PreludeBasic.Read l) => Hat.PreludeBasic.Read (Hat.Hat.Tuple12 a b c d e f g h i j k l) instance (Hat.PreludeBasic.Read a, Hat.PreludeBasic.Read b, Hat.PreludeBasic.Read c, Hat.PreludeBasic.Read d, Hat.PreludeBasic.Read e, Hat.PreludeBasic.Read f, Hat.PreludeBasic.Read g, Hat.PreludeBasic.Read h, Hat.PreludeBasic.Read i, Hat.PreludeBasic.Read j, Hat.PreludeBasic.Read k, Hat.PreludeBasic.Read l, Hat.PreludeBasic.Read m) => Hat.PreludeBasic.Read (Hat.Hat.Tuple13 a b c d e f g h i j k l m) instance (Hat.PreludeBasic.Read a, Hat.PreludeBasic.Read b, Hat.PreludeBasic.Read c, Hat.PreludeBasic.Read d, Hat.PreludeBasic.Read e, Hat.PreludeBasic.Read f, Hat.PreludeBasic.Read g, Hat.PreludeBasic.Read h, Hat.PreludeBasic.Read i, Hat.PreludeBasic.Read j, Hat.PreludeBasic.Read k, Hat.PreludeBasic.Read l, Hat.PreludeBasic.Read m, Hat.PreludeBasic.Read n) => Hat.PreludeBasic.Read (Hat.Hat.Tuple14 a b c d e f g h i j k l m n) instance (Hat.PreludeBasic.Read a, Hat.PreludeBasic.Read b, Hat.PreludeBasic.Read c, Hat.PreludeBasic.Read d, Hat.PreludeBasic.Read e, Hat.PreludeBasic.Read f, Hat.PreludeBasic.Read g, Hat.PreludeBasic.Read h, Hat.PreludeBasic.Read i, Hat.PreludeBasic.Read j, Hat.PreludeBasic.Read k, Hat.PreludeBasic.Read l, Hat.PreludeBasic.Read m, Hat.PreludeBasic.Read n, Hat.PreludeBasic.Read o) => Hat.PreludeBasic.Read (Hat.Hat.Tuple15 a b c d e f g h i j k l m n o) instance (Hat.PreludeBasic.Show a, Hat.PreludeBasic.Show b, Hat.PreludeBasic.Show c) => Hat.PreludeBasic.Show (Hat.Hat.Tuple3 a b c) instance (Hat.PreludeBasic.Show a, Hat.PreludeBasic.Show b, Hat.PreludeBasic.Show c, Hat.PreludeBasic.Show d) => Hat.PreludeBasic.Show (Hat.Hat.Tuple4 a b c d) instance (Hat.PreludeBasic.Show a, Hat.PreludeBasic.Show b, Hat.PreludeBasic.Show c, Hat.PreludeBasic.Show d, Hat.PreludeBasic.Show e) => Hat.PreludeBasic.Show (Hat.Hat.Tuple5 a b c d e) instance (Hat.PreludeBasic.Show a, Hat.PreludeBasic.Show b, Hat.PreludeBasic.Show c, Hat.PreludeBasic.Show d, Hat.PreludeBasic.Show e, Hat.PreludeBasic.Show f) => Hat.PreludeBasic.Show (Hat.Hat.Tuple6 a b c d e f) instance (Hat.PreludeBasic.Show a, Hat.PreludeBasic.Show b, Hat.PreludeBasic.Show c, Hat.PreludeBasic.Show d, Hat.PreludeBasic.Show e, Hat.PreludeBasic.Show f, Hat.PreludeBasic.Show g) => Hat.PreludeBasic.Show (Hat.Hat.Tuple7 a b c d e f g) instance (Hat.PreludeBasic.Show a, Hat.PreludeBasic.Show b, Hat.PreludeBasic.Show c, Hat.PreludeBasic.Show d, Hat.PreludeBasic.Show e, Hat.PreludeBasic.Show f, Hat.PreludeBasic.Show g, Hat.PreludeBasic.Show h) => Hat.PreludeBasic.Show (Hat.Hat.Tuple8 a b c d e f g h) instance (Hat.PreludeBasic.Show a, Hat.PreludeBasic.Show b, Hat.PreludeBasic.Show c, Hat.PreludeBasic.Show d, Hat.PreludeBasic.Show e, Hat.PreludeBasic.Show f, Hat.PreludeBasic.Show g, Hat.PreludeBasic.Show h, Hat.PreludeBasic.Show i) => Hat.PreludeBasic.Show (Hat.Hat.Tuple9 a b c d e f g h i) instance (Hat.PreludeBasic.Show a, Hat.PreludeBasic.Show b, Hat.PreludeBasic.Show c, Hat.PreludeBasic.Show d, Hat.PreludeBasic.Show e, Hat.PreludeBasic.Show f, Hat.PreludeBasic.Show g, Hat.PreludeBasic.Show h, Hat.PreludeBasic.Show i, Hat.PreludeBasic.Show j) => Hat.PreludeBasic.Show (Hat.Hat.Tuple10 a b c d e f g h i j) instance (Hat.PreludeBasic.Show a, Hat.PreludeBasic.Show b, Hat.PreludeBasic.Show c, Hat.PreludeBasic.Show d, Hat.PreludeBasic.Show e, Hat.PreludeBasic.Show f, Hat.PreludeBasic.Show g, Hat.PreludeBasic.Show h, Hat.PreludeBasic.Show i, Hat.PreludeBasic.Show j, Hat.PreludeBasic.Show k) => Hat.PreludeBasic.Show (Hat.Hat.Tuple11 a b c d e f g h i j k) instance (Hat.PreludeBasic.Show a, Hat.PreludeBasic.Show b, Hat.PreludeBasic.Show c, Hat.PreludeBasic.Show d, Hat.PreludeBasic.Show e, Hat.PreludeBasic.Show f, Hat.PreludeBasic.Show g, Hat.PreludeBasic.Show h, Hat.PreludeBasic.Show i, Hat.PreludeBasic.Show j, Hat.PreludeBasic.Show k, Hat.PreludeBasic.Show l) => Hat.PreludeBasic.Show (Hat.Hat.Tuple12 a b c d e f g h i j k l) instance (Hat.PreludeBasic.Show a, Hat.PreludeBasic.Show b, Hat.PreludeBasic.Show c, Hat.PreludeBasic.Show d, Hat.PreludeBasic.Show e, Hat.PreludeBasic.Show f, Hat.PreludeBasic.Show g, Hat.PreludeBasic.Show h, Hat.PreludeBasic.Show i, Hat.PreludeBasic.Show j, Hat.PreludeBasic.Show k, Hat.PreludeBasic.Show l, Hat.PreludeBasic.Show m) => Hat.PreludeBasic.Show (Hat.Hat.Tuple13 a b c d e f g h i j k l m) instance (Hat.PreludeBasic.Show a, Hat.PreludeBasic.Show b, Hat.PreludeBasic.Show c, Hat.PreludeBasic.Show d, Hat.PreludeBasic.Show e, Hat.PreludeBasic.Show f, Hat.PreludeBasic.Show g, Hat.PreludeBasic.Show h, Hat.PreludeBasic.Show i, Hat.PreludeBasic.Show j, Hat.PreludeBasic.Show k, Hat.PreludeBasic.Show l, Hat.PreludeBasic.Show m, Hat.PreludeBasic.Show n) => Hat.PreludeBasic.Show (Hat.Hat.Tuple14 a b c d e f g h i j k l m n) instance (Hat.PreludeBasic.Show a, Hat.PreludeBasic.Show b, Hat.PreludeBasic.Show c, Hat.PreludeBasic.Show d, Hat.PreludeBasic.Show e, Hat.PreludeBasic.Show f, Hat.PreludeBasic.Show g, Hat.PreludeBasic.Show h, Hat.PreludeBasic.Show i, Hat.PreludeBasic.Show j, Hat.PreludeBasic.Show k, Hat.PreludeBasic.Show l, Hat.PreludeBasic.Show m, Hat.PreludeBasic.Show n, Hat.PreludeBasic.Show o) => Hat.PreludeBasic.Show (Hat.Hat.Tuple15 a b c d e f g h i j k l m n o) instance Hat.Hat.WrapVal Hat.PreludeBasic.FFFormat instance Hat.Hat.WrapVal (Hat.PreludeBasic.Ratio a) instance Hat.PreludeBasic.Eq a => Hat.PreludeBasic.Eq (Hat.PreludeBasic.Ratio a) instance Hat.PreludeBasic.Integral a => Hat.PreludeBasic.Ord (Hat.PreludeBasic.Ratio a) instance Hat.PreludeBasic.Integral a => Hat.PreludeBasic.Num (Hat.PreludeBasic.Ratio a) instance Hat.PreludeBasic.Integral a => Hat.PreludeBasic.Real (Hat.PreludeBasic.Ratio a) instance Hat.PreludeBasic.Integral a => Hat.PreludeBasic.Fractional (Hat.PreludeBasic.Ratio a) instance Hat.PreludeBasic.Integral a => Hat.PreludeBasic.RealFrac (Hat.PreludeBasic.Ratio a) instance Hat.PreludeBasic.Integral a => Hat.PreludeBasic.Enum (Hat.PreludeBasic.Ratio a) instance (Hat.PreludeBasic.Read a, Hat.PreludeBasic.Integral a) => Hat.PreludeBasic.Read (Hat.PreludeBasic.Ratio a) instance Hat.PreludeBasic.Integral a => Hat.PreludeBasic.Show (Hat.PreludeBasic.Ratio a) module Hat.Prelude g_filter :: RefSrcPos -> RefExp -> R (Fun Bool (Fun (Fun (List a) (List a)) (Fun (List a) (List a)))) a_filter :: RefAtom h_filter :: R Bool -> R (Fun (List a) (List a)) -> R (List a) -> RefExp -> R (List a) g_foldr :: RefSrcPos -> RefExp -> R (Fun (Fun a (Fun b b)) (Fun (List a) (Fun b b))) a_foldr :: RefAtom h_foldr :: R (Fun a (Fun b b)) -> R (List a) -> R b -> RefExp -> R b gmap :: RefSrcPos -> RefExp -> R (Fun (Fun a b) (Fun (List a) (List b))) amap :: RefAtom hmap :: R (Fun a b) -> R (List a) -> RefExp -> R (List b) (!++) :: RefSrcPos -> RefExp -> R (Fun (List a) (Fun (List a) (List a))) (+++) :: RefAtom (*++) :: R (List a) -> R (List a) -> RefExp -> R (List a) gfilter :: RefSrcPos -> RefExp -> R (Fun (Fun a Bool) (Fun (List a) (List a))) afilter :: RefAtom hfilter :: R (Fun a Bool) -> R (List a) -> RefExp -> R (List a) gconcat :: RefSrcPos -> RefExp -> R (Fun (List (List a)) (List a)) aconcat :: RefAtom hconcat :: R (List (List a)) -> RefExp -> R (List a) ghead :: RefSrcPos -> RefExp -> R (Fun (List a) a) ahead :: RefAtom hhead :: R (List a) -> RefExp -> R a glast :: RefSrcPos -> RefExp -> R (Fun (List a) a) alast :: RefAtom hlast :: R (List a) -> RefExp -> R a gtail :: RefSrcPos -> RefExp -> R (Fun (List a) (List a)) atail :: RefAtom htail :: R (List a) -> RefExp -> R (List a) ginit :: RefSrcPos -> RefExp -> R (Fun (List a) (List a)) ainit :: RefAtom hinit :: R (List a) -> RefExp -> R (List a) gnull :: RefSrcPos -> RefExp -> R (Fun (List a) Bool) anull :: RefAtom hnull :: R (List a) -> RefExp -> R Bool glength :: RefSrcPos -> RefExp -> R (Fun (List a) Int) alength :: RefAtom hlength :: R (List a) -> RefExp -> R Int (!!!) :: RefSrcPos -> RefExp -> R (Fun (List a) (Fun Int a)) (+!!) :: RefAtom (*!!) :: R (List a) -> R Int -> RefExp -> R a gfoldl :: RefSrcPos -> RefExp -> R (Fun (Fun a (Fun b a)) (Fun a (Fun (List b) a))) afoldl :: RefAtom hfoldl :: R (Fun a (Fun b a)) -> R a -> R (List b) -> RefExp -> R a gfoldl1 :: RefSrcPos -> RefExp -> R (Fun (Fun a (Fun a a)) (Fun (List a) a)) afoldl1 :: RefAtom hfoldl1 :: R (Fun a (Fun a a)) -> R (List a) -> RefExp -> R a gscanl :: RefSrcPos -> RefExp -> R (Fun (Fun a (Fun b a)) (Fun a (Fun (List b) (List a)))) ascanl :: RefAtom hscanl :: R (Fun a (Fun b a)) -> R a -> R (List b) -> RefExp -> R (List a) gscanl1 :: RefSrcPos -> RefExp -> R (Fun (Fun a (Fun a a)) (Fun (List a) (List a))) ascanl1 :: RefAtom hscanl1 :: R (Fun a (Fun a a)) -> R (List a) -> RefExp -> R (List a) gfoldr :: RefSrcPos -> RefExp -> R (Fun (Fun a (Fun b b)) (Fun b (Fun (List a) b))) afoldr :: RefAtom hfoldr :: R (Fun a (Fun b b)) -> R b -> R (List a) -> RefExp -> R b gfoldr1 :: RefSrcPos -> RefExp -> R (Fun (Fun a (Fun a a)) (Fun (List a) a)) afoldr1 :: RefAtom hfoldr1 :: R (Fun a (Fun a a)) -> R (List a) -> RefExp -> R a gscanr :: RefSrcPos -> RefExp -> R (Fun (Fun a (Fun b b)) (Fun b (Fun (List a) (List b)))) ascanr :: RefAtom hscanr :: R (Fun a (Fun b b)) -> R b -> R (List a) -> RefExp -> R (List b) gscanr1 :: RefSrcPos -> RefExp -> R (Fun (Fun a (Fun a a)) (Fun (List a) (List a))) ascanr1 :: RefAtom hscanr1 :: R (Fun a (Fun a a)) -> R (List a) -> RefExp -> R (List a) giterate :: RefSrcPos -> RefExp -> R (Fun (Fun a a) (Fun a (List a))) aiterate :: RefAtom hiterate :: R (Fun a a) -> R a -> RefExp -> R (List a) grepeat :: RefSrcPos -> RefExp -> R (Fun a (List a)) arepeat :: RefAtom hrepeat :: R a -> RefExp -> R (List a) greplicate :: RefSrcPos -> RefExp -> R (Fun Int (Fun a (List a))) areplicate :: RefAtom hreplicate :: R Int -> R a -> RefExp -> R (List a) gcycle :: RefSrcPos -> RefExp -> R (Fun (List a) (List a)) acycle :: RefAtom hcycle :: R (List a) -> RefExp -> R (List a) gtake :: RefSrcPos -> RefExp -> R (Fun Int (Fun (List a) (List a))) atake :: RefAtom htake :: R Int -> R (List a) -> RefExp -> R (List a) gdrop :: RefSrcPos -> RefExp -> R (Fun Int (Fun (List a) (List a))) adrop :: RefAtom hdrop :: R Int -> R (List a) -> RefExp -> R (List a) gsplitAt :: RefSrcPos -> RefExp -> R (Fun Int (Fun (List a) (Tuple2 (List a) (List a)))) asplitAt :: RefAtom hsplitAt :: R Int -> R (List a) -> RefExp -> R (Tuple2 (List a) (List a)) gtakeWhile :: RefSrcPos -> RefExp -> R (Fun (Fun a Bool) (Fun (List a) (List a))) atakeWhile :: RefAtom htakeWhile :: R (Fun a Bool) -> R (List a) -> RefExp -> R (List a) gdropWhile :: RefSrcPos -> RefExp -> R (Fun (Fun a Bool) (Fun (List a) (List a))) adropWhile :: RefAtom hdropWhile :: R (Fun a Bool) -> R (List a) -> RefExp -> R (List a) gspan :: RefSrcPos -> RefExp -> R (Fun (Fun a Bool) (Fun (List a) (Tuple2 (List a) (List a)))) aspan :: RefAtom hspan :: R (Fun a Bool) -> R (List a) -> RefExp -> R (Tuple2 (List a) (List a)) gbreak :: RefSrcPos -> RefExp -> R (Fun (Fun a Bool) (Fun (List a) (Tuple2 (List a) (List a)))) abreak :: RefAtom hbreak :: R (Fun a Bool) -> RefExp -> R (Fun (List a) (Tuple2 (List a) (List a))) glines :: RefSrcPos -> RefExp -> R (Fun String (List String)) alines :: RefAtom hlines :: R String -> RefExp -> R (List String) gwords :: RefSrcPos -> RefExp -> R (Fun String (List String)) awords :: RefAtom hwords :: R String -> RefExp -> R (List String) gunlines :: RefSrcPos -> RefExp -> R (Fun (List String) String) gunwords :: RefSrcPos -> RefExp -> R (Fun (List String) String) aunwords :: RefAtom hunwords :: R (List String) -> RefExp -> R String greverse :: RefSrcPos -> RefExp -> R (Fun (List a) (List a)) gand :: RefSrcPos -> RefExp -> R (Fun (List Bool) Bool) gor :: RefSrcPos -> RefExp -> R (Fun (List Bool) Bool) gany :: RefSrcPos -> RefExp -> R (Fun (Fun a Bool) (Fun (List a) Bool)) aany :: RefAtom hany :: R (Fun a Bool) -> RefExp -> R (Fun (List a) Bool) gall :: RefSrcPos -> RefExp -> R (Fun (Fun a Bool) (Fun (List a) Bool)) aall :: RefAtom hall :: R (Fun a Bool) -> RefExp -> R (Fun (List a) Bool) gelem :: (Eq a) => RefSrcPos -> RefExp -> R (Fun a (Fun (List a) Bool)) aelem :: RefAtom helem :: (Eq a) => R a -> RefExp -> R (Fun (List a) Bool) gnotElem :: (Eq a) => RefSrcPos -> RefExp -> R (Fun a (Fun (List a) Bool)) anotElem :: RefAtom hnotElem :: (Eq a) => R a -> RefExp -> R (Fun (List a) Bool) glookup :: (Eq a) => RefSrcPos -> RefExp -> R (Fun a (Fun (List (Tuple2 a b)) (Maybe b))) alookup :: RefAtom hlookup :: (Eq a) => R a -> R (List (Tuple2 a b)) -> RefExp -> R (Maybe b) gsum :: (Num a) => RefSrcPos -> RefExp -> R (Fun (List a) a) gproduct :: (Num a) => RefSrcPos -> RefExp -> R (Fun (List a) a) gmaximum :: (Ord a) => RefSrcPos -> RefExp -> R (Fun (List a) a) amaximum :: RefAtom hmaximum :: (Ord a) => R (List a) -> RefExp -> R a gminimum :: (Ord a) => RefSrcPos -> RefExp -> R (Fun (List a) a) aminimum :: RefAtom hminimum :: (Ord a) => R (List a) -> RefExp -> R a gconcatMap :: RefSrcPos -> RefExp -> R (Fun (Fun a (List b)) (Fun (List a) (List b))) aconcatMap :: RefAtom hconcatMap :: R (Fun a (List b)) -> RefExp -> R (Fun (List a) (List b)) gzip :: RefSrcPos -> RefExp -> R (Fun (List a) (Fun (List b) (List (Tuple2 a b)))) gzip3 :: RefSrcPos -> RefExp -> R (Fun (List a) (Fun (List b) (Fun (List c) (List (Tuple3 a b c))))) gzipWith :: RefSrcPos -> RefExp -> R (Fun (Fun a (Fun b c)) (Fun (List a) (Fun (List b) (List c)))) azipWith :: RefAtom hzipWith :: R (Fun a (Fun b c)) -> R (List a) -> R (List b) -> RefExp -> R (List c) gzipWith3 :: RefSrcPos -> RefExp -> R (Fun (Fun a (Fun b (Fun c d))) (Fun (List a) (Fun (List b) (Fun (List c) (List d))))) azipWith3 :: RefAtom hzipWith3 :: R (Fun a (Fun b (Fun c d))) -> R (List a) -> R (List b) -> R (List c) -> RefExp -> R (List d) gunzip :: RefSrcPos -> RefExp -> R (Fun (List (Tuple2 a b)) (Tuple2 (List a) (List b))) gunzip3 :: RefSrcPos -> RefExp -> R (Fun (List (Tuple3 a b c)) (Tuple3 (List a) (List b) (List c))) type ReadS a = Fun String (List (Tuple2 a String)) type ReadS___1 a = String type ReadS___2 a = List (Tuple2 a String) type ShowS = Fun String String type ShowS___1 = String type ShowS___2 = String class Read a where sreadsPrec = gundefined mkNoSrcPos p greadList preadList p = uconstUse preadList p sreadList sreadList = uconstDef p c1810v5v1812v28readList (\ p -> let greadl preadl p = ufun1 c1812v30v1814v73readl preadl p hreadl areadl = c1812v30v1814v73readl hreadl fs p = uwrapForward p ((*++) (uap2 mkNoSrcPos p ((!>>=) mkNoSrcPos p) (uwrapForward p (hlex fs p)) (ufun1 mkDoLambda mkNoSrcPos p (\ fv1812v53v1812v63v1 p -> uccase mkNoSrcPos p (let v1812v53v1812v63v1 (R (Tuple2 (R (Cons (R ']' _) (R Nil _)) _) ft) _) p = uap1 mkNoSrcPos p (greturn mkNoSrcPos p) (con2 mkNoSrcPos p Tuple2 aTuple2 (con0 mkNoSrcPos p Nil aNil) ft) v1812v53v1812v63v1 _ p = uap1 mkNoSrcPos p (gfail mkNoSrcPos p) (fromLitString mkNoSrcPos p "pattern-match failure in do-expression") in v1812v53v1812v63v1) fv1812v53v1812v63v1))) (uap2 mkNoSrcPos p ((!>>=) mkNoSrcPos p) (uap1 mkNoSrcPos p (greads mkNoSrcPos p) fs) (ufun1 mkDoLambda mkNoSrcPos p (\ (R (Tuple2 fx ft) _) p -> uap2 mkNoSrcPos p ((!>>=) mkNoSrcPos p) (uwrapForward p (hreadl' ft p)) (ufun1 mkDoLambda mkNoSrcPos p (\ (R (Tuple2 fxs fu) _) p -> uap1 mkNoSrcPos p (greturn mkNoSrcPos p) (con2 mkNoSrcPos p Tuple2 aTuple2 (con2 mkNoSrcPos p Cons aCons fx fxs) fu)))))) p) greadl' preadl' p = ufun1 c1815v30v1818v73readl' preadl' p hreadl' areadl' = c1815v30v1818v73readl' hreadl' fs p = uwrapForward p ((*++) (uap2 mkNoSrcPos p ((!>>=) mkNoSrcPos p) (uwrapForward p (hlex fs p)) (ufun1 mkDoLambda mkNoSrcPos p (\ fv1815v53v1815v63v1 p -> uccase mkNoSrcPos p (let v1815v53v1815v63v1 (R (Tuple2 (R (Cons (R ']' _) (R Nil _)) _) ft) _) p = uap1 mkNoSrcPos p (greturn mkNoSrcPos p) (con2 mkNoSrcPos p Tuple2 aTuple2 (con0 mkNoSrcPos p Nil aNil) ft) v1815v53v1815v63v1 _ p = uap1 mkNoSrcPos p (gfail mkNoSrcPos p) (fromLitString mkNoSrcPos p "pattern-match failure in do-expression") in v1815v53v1815v63v1) fv1815v53v1815v63v1))) (uap2 mkNoSrcPos p ((!>>=) mkNoSrcPos p) (uwrapForward p (hlex fs p)) (ufun1 mkDoLambda mkNoSrcPos p (\ fv1816v53v1816v63v1 p -> uccase mkNoSrcPos p (let v1816v53v1816v63v1 (R (Tuple2 (R (Cons (R ',' _) (R Nil _)) _) ft) _) p = uap2 mkNoSrcPos p ((!>>=) mkNoSrcPos p) (uap1 mkNoSrcPos p (greads mkNoSrcPos p) ft) (ufun1 mkDoLambda mkNoSrcPos p (\ (R (Tuple2 fx fu) _) p -> uap2 mkNoSrcPos p ((!>>=) mkNoSrcPos p) (uwrapForward p (hreadl' fu p)) (ufun1 mkDoLambda mkNoSrcPos p (\ (R (Tuple2 fxs fv) _) p -> uap1 mkNoSrcPos p (greturn mkNoSrcPos p) (con2 mkNoSrcPos p Tuple2 aTuple2 (con2 mkNoSrcPos p Cons aCons fx fxs) fv))))) v1816v53v1816v63v1 _ p = uap1 mkNoSrcPos p (gfail mkNoSrcPos p) (fromLitString mkNoSrcPos p "pattern-match failure in do-expression") in v1816v53v1816v63v1) fv1816v53v1816v63v1))) p) in uwrapForward p (hreadParen (con0 mkNoSrcPos p False aFalse) (ufun1 mkLambda mkNoSrcPos p (\ fr p -> uap2 mkNoSrcPos p ((!>>=) mkNoSrcPos p) (uwrapForward p (hlex fr p)) (ufun1 mkDoLambda mkNoSrcPos p (\ fv1810v53v1810v63v1 p -> uccase mkNoSrcPos p (let v1810v53v1810v63v1 (R (Tuple2 (R (Cons (R '[' _) (R Nil _)) _) fs) _) p = uap2 mkNoSrcPos p ((!>>=) mkNoSrcPos p) (uwrapForward p (hreadl fs p)) (ufun1 mkDoLambda mkNoSrcPos p (\ fpr p -> uap1 mkNoSrcPos p (greturn mkNoSrcPos p) fpr)) v1810v53v1810v63v1 _ p = uap1 mkNoSrcPos p (gfail mkNoSrcPos p) (fromLitString mkNoSrcPos p "pattern-match failure in do-expression") in v1810v53v1810v63v1) fv1810v53v1810v63v1)))) p)) greadsPrec :: Read a => RefSrcPos -> RefExp -> R (Fun Int (ReadS a)) sreadsPrec :: Read a => R (Fun Int (ReadS a)) greadList :: Read a => RefSrcPos -> RefExp -> R (ReadS (List a)) sreadList :: Read a => R (ReadS (List a)) class Show a where gshowsPrec pshowsPrec p = ufun3 c1828v5v1828v35showsPrec pshowsPrec p hshowsPrec where hshowsPrec _ fx fs p = uwrapForward p ((*++) (uap1 mkNoSrcPos p (gshow mkNoSrcPos p) fx) fs p) gshow pshow p = ufun1 c1830v5v1830v36show pshow p hshow where hshow fx p = uap3 mkNoSrcPos p (gshowsPrec mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0))) fx (fromLitString mkNoSrcPos p "") gshowList pshowList p = ufun1 c1832v5v1838v0showList pshowList p hshowList where hshowList (R Nil _) p = uap1 mkNoSrcPos p (gshowString mkNoSrcPos p) (fromLitString mkNoSrcPos p "[]") hshowList (R (Cons fx fxs) _) p = uap2 mkNoSrcPos p ((!.) mkNoSrcPos p) (uap1 mkNoSrcPos p (gshowChar mkNoSrcPos p) (conChar mkNoSrcPos p '[')) (uap2 mkNoSrcPos p ((!.) mkNoSrcPos p) (uap1 mkNoSrcPos p (gshows mkNoSrcPos p) fx) (uwrapForward p (hshowl fxs p))) where gshowl pshowl p = ufun1 c1834v31v1836v53showl pshowl p hshowl ashowl = c1834v31v1836v53showl hshowl (R Nil _) p = uap1 mkNoSrcPos p (gshowChar mkNoSrcPos p) (conChar mkNoSrcPos p ']') hshowl (R (Cons fx fxs) _) p = uap2 mkNoSrcPos p ((!.) mkNoSrcPos p) (uap1 mkNoSrcPos p (gshowChar mkNoSrcPos p) (conChar mkNoSrcPos p ',')) (uap2 mkNoSrcPos p ((!.) mkNoSrcPos p) (uap1 mkNoSrcPos p (gshows mkNoSrcPos p) fx) (uwrapForward p (hshowl fxs p))) hshowl _ p = fatal p hshowList _ p = fatal p gshowsPrec :: Show a => RefSrcPos -> RefExp -> R (Fun Int (Fun a ShowS)) sshowsPrec :: Show a => R (Fun Int (Fun a ShowS)) gshow :: Show a => RefSrcPos -> RefExp -> R (Fun a String) sshow :: Show a => R (Fun a String) gshowList :: Show a => RefSrcPos -> RefExp -> R (Fun (List a) ShowS) sshowList :: Show a => R (Fun (List a) ShowS) greads :: (Read a) => RefSrcPos -> RefExp -> R (ReadS a) gshows :: (Show a) => RefSrcPos -> RefExp -> R (Fun a ShowS) gread :: (Read a) => RefSrcPos -> RefExp -> R (Fun String a) aread :: RefAtom hread :: (Read a) => R String -> RefExp -> R a glex :: RefSrcPos -> RefExp -> R (ReadS String) alex :: RefAtom hlex :: R (ReadS___1 String) -> RefExp -> R (ReadS___2 String) gshowChar :: RefSrcPos -> RefExp -> R (Fun Char ShowS) gshowString :: RefSrcPos -> RefExp -> R (Fun String ShowS) greadParen :: RefSrcPos -> RefExp -> R (Fun Bool (Fun (ReadS a) (ReadS a))) areadParen :: RefAtom hreadParen :: R Bool -> R (ReadS a) -> RefExp -> R (ReadS a) gshowParen :: RefSrcPos -> RefExp -> R (Fun Bool (Fun ShowS ShowS)) ashowParen :: RefAtom hshowParen :: R Bool -> R ShowS -> RefExp -> R ShowS type FilePath = String -- | The Haskell 2010 type for exceptions in the IO monad. Any I/O -- operation may raise an IOError instead of returning a result. -- For a more general type of exception, including also those that arise -- in pure code, see Exception. -- -- In Haskell 2010, this is an opaque type. type IOError = IOException gioError :: RefSrcPos -> RefExp -> R (Fun IOError (IO a)) aioError :: RefAtom hioError :: R IOError -> RefExp -> R (IO b) guserError :: RefSrcPos -> RefExp -> R (Fun String IOError) auserError :: RefAtom huserError :: R String -> RefExp -> R IOError gcatch :: RefSrcPos -> RefExp -> R (Fun (IO a) (Fun (Fun IOError (IO a)) (IO a))) acatch :: RefAtom hcatch :: R (IO b) -> R (Fun IOError (IO b)) -> RefExp -> R (IO b) gputChar :: RefSrcPos -> RefExp -> R (Fun Char (IO Tuple0)) aputChar :: RefAtom hputChar :: R Char -> RefExp -> R (IO Tuple0) gputStr :: RefSrcPos -> RefExp -> R (Fun String (IO Tuple0)) aputStr :: RefAtom hputStr :: R String -> RefExp -> R (IO Tuple0) gputStrLn :: RefSrcPos -> RefExp -> R (Fun String (IO Tuple0)) aputStrLn :: RefAtom hputStrLn :: R String -> RefExp -> R (IO Tuple0) gprint :: (Show a) => RefSrcPos -> RefExp -> R (Fun a (IO Tuple0)) aprint :: RefAtom hprint :: (Show a) => R a -> RefExp -> R (IO Tuple0) ggetChar :: RefSrcPos -> RefExp -> R (IO Char) ggetLine :: RefSrcPos -> RefExp -> R (IO String) ggetContents :: RefSrcPos -> RefExp -> R (IO String) ginteract :: RefSrcPos -> RefExp -> R (Fun (Fun String String) (IO Tuple0)) ainteract :: RefAtom hinteract :: R (Fun String String) -> RefExp -> R (IO Tuple0) greadFile :: RefSrcPos -> RefExp -> R (Fun String (IO String)) areadFile :: RefAtom hreadFile :: R String -> RefExp -> R (IO String) gwriteFile :: RefSrcPos -> RefExp -> R (Fun String (Fun String (IO Tuple0))) awriteFile :: RefAtom hwriteFile :: R String -> R String -> RefExp -> R (IO Tuple0) gappendFile :: RefSrcPos -> RefExp -> R (Fun String (Fun String (IO Tuple0))) aappendFile :: RefAtom happendFile :: R String -> R String -> RefExp -> R (IO Tuple0) greadIO :: (Read a) => RefSrcPos -> RefExp -> R (Fun String (IO a)) areadIO :: RefAtom hreadIO :: (Read a) => R String -> RefExp -> R (IO a) greadLn :: (Read a) => RefSrcPos -> RefExp -> R (IO a) data Bool :: * False :: Bool True :: Bool aFalse :: RefAtom aTrue :: RefAtom data Maybe a Nothing :: Maybe a Just :: (R a) -> Maybe a aNothing :: RefAtom aJust :: RefAtom data Either a b Left :: (R a) -> Either a b Right :: (R b) -> Either a b aLeft :: RefAtom aRight :: RefAtom data Ordering LT :: Ordering EQ :: Ordering GT :: Ordering aLT :: RefAtom aEQ :: RefAtom aGT :: RefAtom -- | The character type Char is an enumeration whose values -- represent Unicode (or equivalently ISO/IEC 10646) characters (see -- http://www.unicode.org/ for details). This set extends the ISO -- 8859-1 (Latin-1) character set (the first 256 characters), which is -- itself an extension of the ASCII character set (the first 128 -- characters). A character literal in Haskell has type Char. -- -- To convert a Char to or from the corresponding Int value -- defined by Unicode, use toEnum and fromEnum from the -- Enum class respectively (or equivalently ord and -- chr). data Char :: * type String = List Char -- | A fixed-precision integer type with at least the range [-2^29 .. -- 2^29-1]. The exact range for a given implementation can be -- determined by using minBound and maxBound from the -- Bounded class. data Int :: * -- | Invariant: Jn# and Jp# are used iff value doesn't fit in -- S# -- -- Useful properties resulting from the invariants: -- -- data Integer :: * -- | Single-precision floating point numbers. It is desirable that this -- type be at least equal in range and precision to the IEEE -- single-precision type. data Float :: * -- | Double-precision floating point numbers. It is desirable that this -- type be at least equal in range and precision to the IEEE -- double-precision type. data Double :: * type Rational = Ratio Integer data IO a class Eq a where (%/=) !/= p = ufun2 (++>=*=+>=%+/=) (%/=) p (*/=) where (fx */= fy) p = uwrapForward p (hnot (uap2 mkNoSrcPos p ((!==) mkNoSrcPos p) fx fy) p) (%==) !== p = ufun2 (+^!=*=^!=%+==) (%==) p (*==) where (fx *== fy) p = uwrapForward p (hnot (uap2 mkNoSrcPos p ((!/=) mkNoSrcPos p) fx fy) p) (!==, !/=) :: Eq a => RefSrcPos -> RefExp -> R (Fun a (Fun a Bool)) (!==, !/=) :: Eq a => RefSrcPos -> RefExp -> R (Fun a (Fun a Bool)) (|==, |/=) :: Eq a => R (Fun a (Fun a Bool)) (|==, |/=) :: Eq a => R (Fun a (Fun a Bool)) class (Eq a) => Ord a where gcompare pcompare p = ufun2 c81v5v84v26compare pcompare p hcompare where hcompare fx fy p = ucguard (uap2 mkNoSrcPos p ((!==) mkNoSrcPos p) fx fy) (con0 mkNoSrcPos p EQ aEQ) (ucguard (uap2 mkNoSrcPos p ((!<=) mkNoSrcPos p) fx fy) (con0 mkNoSrcPos p LT aLT) (ucguard (gotherwise mkNoSrcPos p) (con0 mkNoSrcPos p GT aGT) (fatal p))) (%<=) !<= p = ufun2 (+@+=*=@+=<=) (%<=) p (*<=) where (fx *<= fy) p = uap2 mkNoSrcPos p ((!/=) mkNoSrcPos p) (uap2 mkNoSrcPos p (gcompare mkNoSrcPos p) fx fy) (con0 mkNoSrcPos p GT aGT) (%<) !< p = ufun2 (+@^=*=@^=<) (%<) p (*<) where (fx *< fy) p = uap2 mkNoSrcPos p ((!==) mkNoSrcPos p) (uap2 mkNoSrcPos p (gcompare mkNoSrcPos p) fx fy) (con0 mkNoSrcPos p LT aLT) (%>=) !>= p = ufun2 (+@@=*=@@=>=) (%>=) p (*>=) where (fx *>= fy) p = uap2 mkNoSrcPos p ((!/=) mkNoSrcPos p) (uap2 mkNoSrcPos p (gcompare mkNoSrcPos p) fx fy) (con0 mkNoSrcPos p LT aLT) (%>) !> p = ufun2 (+@>=*=@>=>) (%>) p (*>) where (fx *> fy) p = uap2 mkNoSrcPos p ((!==) mkNoSrcPos p) (uap2 mkNoSrcPos p (gcompare mkNoSrcPos p) fx fy) (con0 mkNoSrcPos p GT aGT) gmax pmax p = ufun2 c92v5v94v25max pmax p hmax where hmax fx fy p = ucguard (uap2 mkNoSrcPos p ((!<=) mkNoSrcPos p) fx fy) (projection mkNoSrcPos p fy) (ucguard (gotherwise mkNoSrcPos p) (projection mkNoSrcPos p fx) (fatal p)) gmin pmin p = ufun2 c95v5v97v25min pmin p hmin where hmin fx fy p = ucguard (uap2 mkNoSrcPos p ((!<=) mkNoSrcPos p) fx fy) (projection mkNoSrcPos p fx) (ucguard (gotherwise mkNoSrcPos p) (projection mkNoSrcPos p fy) (fatal p)) gcompare :: Ord a => RefSrcPos -> RefExp -> R (Fun a (Fun a Ordering)) scompare :: Ord a => R (Fun a (Fun a Ordering)) (!<, !<=, !>=, !>) :: Ord a => RefSrcPos -> RefExp -> R (Fun a (Fun a Bool)) (!<, !<=, !>=, !>) :: Ord a => RefSrcPos -> RefExp -> R (Fun a (Fun a Bool)) (!<, !<=, !>=, !>) :: Ord a => RefSrcPos -> RefExp -> R (Fun a (Fun a Bool)) (!<, !<=, !>=, !>) :: Ord a => RefSrcPos -> RefExp -> R (Fun a (Fun a Bool)) (|<, |<=, |>=, |>) :: Ord a => R (Fun a (Fun a Bool)) (|<, |<=, |>=, |>) :: Ord a => R (Fun a (Fun a Bool)) (|<, |<=, |>=, |>) :: Ord a => R (Fun a (Fun a Bool)) (|<, |<=, |>=, |>) :: Ord a => R (Fun a (Fun a Bool)) gmax, gmin :: Ord a => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) gmax, gmin :: Ord a => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) smax, smin :: Ord a => R (Fun a (Fun a a)) smax, smin :: Ord a => R (Fun a (Fun a a)) class Enum a where stoEnum = gundefined mkNoSrcPos p sfromEnum = gundefined mkNoSrcPos p gsucc psucc p = uconstUse psucc p ssucc ssucc = uconstDef p c117v5v117v48succ (\ p -> uap2 mkNoSrcPos p ((!.) mkNoSrcPos p) (gtoEnum mkNoSrcPos p) (uap2 mkNoSrcPos p ((!.) mkNoSrcPos p) (uap2 mkNoSrcPos p (gflip mkNoSrcPos p) ((!+) mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (1)))) (gfromEnum mkNoSrcPos p))) gpred ppred p = uconstUse ppred p spred spred = uconstDef p c118v5v118v56pred (\ p -> uap2 mkNoSrcPos p ((!.) mkNoSrcPos p) (gtoEnum mkNoSrcPos p) (uap2 mkNoSrcPos p ((!.) mkNoSrcPos p) (uap1 mkNoSrcPos p (gsubtract mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (1)))) (gfromEnum mkNoSrcPos p))) genumFrom penumFrom p = ufun1 c119v5v119v50enumFrom penumFrom p henumFrom where henumFrom fx p = uwrapForward p (hmap (gtoEnum mkNoSrcPos p) (uap1 mkNoSrcPos p (genumFrom mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromEnum mkNoSrcPos p) fx)) p) genumFromTo penumFromTo p = ufun2 c120v5v120v61enumFromTo penumFromTo p henumFromTo where henumFromTo fx fy p = uwrapForward p (hmap (gtoEnum mkNoSrcPos p) (uap2 mkNoSrcPos p (genumFromTo mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromEnum mkNoSrcPos p) fx) (uap1 mkNoSrcPos p (gfromEnum mkNoSrcPos p) fy)) p) genumFromThen penumFromThen p = ufun2 c121v5v121v62enumFromThen penumFromThen p henumFromThen where henumFromThen fx fy p = uwrapForward p (hmap (gtoEnum mkNoSrcPos p) (uap2 mkNoSrcPos p (genumFromThen mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromEnum mkNoSrcPos p) fx) (uap1 mkNoSrcPos p (gfromEnum mkNoSrcPos p) fy)) p) genumFromThenTo penumFromThenTo p = ufun3 c122v5v123v73enumFromThenTo penumFromThenTo p henumFromThenTo where henumFromThenTo fx fy fz p = uwrapForward p (hmap (gtoEnum mkNoSrcPos p) (uap3 mkNoSrcPos p (genumFromThenTo mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromEnum mkNoSrcPos p) fx) (uap1 mkNoSrcPos p (gfromEnum mkNoSrcPos p) fy) (uap1 mkNoSrcPos p (gfromEnum mkNoSrcPos p) fz)) p) gsucc, gpred :: Enum a => RefSrcPos -> RefExp -> R (Fun a a) gsucc, gpred :: Enum a => RefSrcPos -> RefExp -> R (Fun a a) ssucc, spred :: Enum a => R (Fun a a) ssucc, spred :: Enum a => R (Fun a a) gtoEnum :: Enum a => RefSrcPos -> RefExp -> R (Fun Int a) stoEnum :: Enum a => R (Fun Int a) gfromEnum :: Enum a => RefSrcPos -> RefExp -> R (Fun a Int) sfromEnum :: Enum a => R (Fun a Int) genumFrom :: Enum a => RefSrcPos -> RefExp -> R (Fun a (List a)) senumFrom :: Enum a => R (Fun a (List a)) genumFromThen :: Enum a => RefSrcPos -> RefExp -> R (Fun a (Fun a (List a))) senumFromThen :: Enum a => R (Fun a (Fun a (List a))) genumFromTo :: Enum a => RefSrcPos -> RefExp -> R (Fun a (Fun a (List a))) senumFromTo :: Enum a => R (Fun a (Fun a (List a))) genumFromThenTo :: Enum a => RefSrcPos -> RefExp -> R (Fun a (Fun a (Fun a (List a)))) senumFromThenTo :: Enum a => R (Fun a (Fun a (Fun a (List a)))) class Bounded a where sminBound = gundefined mkNoSrcPos p smaxBound = gundefined mkNoSrcPos p gminBound :: Bounded a => RefSrcPos -> RefExp -> R a sminBound :: Bounded a => R a gmaxBound :: Bounded a => RefSrcPos -> RefExp -> R a smaxBound :: Bounded a => R a class (Eq a, Show a) => Num a where (|+) = gundefined mkNoSrcPos p (|*) = gundefined mkNoSrcPos p sabs = gundefined mkNoSrcPos p ssignum = gundefined mkNoSrcPos p sfromInteger = gundefined mkNoSrcPos p (%-) !- p = ufun2 (+#=*=#=%+-) (%-) p (*-) where (fx *- fy) p = uap2 mkNoSrcPos p ((!+) mkNoSrcPos p) fx (uap1 mkNoSrcPos p (gnegate mkNoSrcPos p) fy) gnegate pnegate p = ufun1 c142v5v142v29negate pnegate p hnegate where hnegate fx p = uap2 mkNoSrcPos p ((!-) mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0))) fx (!+, !-, !*) :: Num a => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) (!+, !-, !*) :: Num a => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) (!+, !-, !*) :: Num a => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) (|+, |-, |*) :: Num a => R (Fun a (Fun a a)) (|+, |-, |*) :: Num a => R (Fun a (Fun a a)) (|+, |-, |*) :: Num a => R (Fun a (Fun a a)) gnegate :: Num a => RefSrcPos -> RefExp -> R (Fun a a) snegate :: Num a => R (Fun a a) gabs, gsignum :: Num a => RefSrcPos -> RefExp -> R (Fun a a) gabs, gsignum :: Num a => RefSrcPos -> RefExp -> R (Fun a a) sabs, ssignum :: Num a => R (Fun a a) sabs, ssignum :: Num a => R (Fun a a) gfromInteger :: Num a => RefSrcPos -> RefExp -> R (Fun Integer a) sfromInteger :: Num a => R (Fun Integer a) class (Num a, Ord a) => Real a where stoRational = gundefined mkNoSrcPos p gtoRational :: Real a => RefSrcPos -> RefExp -> R (Fun a Rational) stoRational :: Real a => R (Fun a Rational) class (Real a, Enum a) => Integral a where squotRem = gundefined mkNoSrcPos p stoInteger = gundefined mkNoSrcPos p gquot pquot p = ufun2 c157v5v157v32quot pquot p hquot where hquot fn fd p = gq mkNoSrcPos p where gq pq p = uconstUse pq p sq gr pr p = uconstUse pr p sr sq = uconstDef p c157v34v157v52q (\ _ -> case j157v34v157v52q of { (kq, fq, fr) -> fq }) sr = uconstDef p c157v34v157v52r (\ _ -> case j157v34v157v52q of { (kq, fq, fr) -> fr }) j157v34v157v52q = case uap2 mkNoSrcPos p (gquotRem mkNoSrcPos p) fn fd of { R (Tuple2 fq fr) kq -> (kq, fq, fr) _ -> fatal p } grem prem p = ufun2 c158v5v158v32rem prem p hrem where hrem fn fd p = gr mkNoSrcPos p where gq pq p = uconstUse pq p sq gr pr p = uconstUse pr p sr sq = uconstDef p c158v34v158v52q (\ _ -> case j158v34v158v52q of { (kq, fq, fr) -> fq }) sr = uconstDef p c158v34v158v52r (\ _ -> case j158v34v158v52q of { (kq, fq, fr) -> fr }) j158v34v158v52q = case uap2 mkNoSrcPos p (gquotRem mkNoSrcPos p) fn fd of { R (Tuple2 fq fr) kq -> (kq, fq, fr) _ -> fatal p } gdiv pdiv p = ufun2 c159v5v159v32div pdiv p hdiv where hdiv fn fd p = gq mkNoSrcPos p where gq pq p = uconstUse pq p sq gr pr p = uconstUse pr p sr sq = uconstDef p c159v34v159v51q (\ _ -> case j159v34v159v51q of { (kq, fq, fr) -> fq }) sr = uconstDef p c159v34v159v51r (\ _ -> case j159v34v159v51q of { (kq, fq, fr) -> fr }) j159v34v159v51q = case uap2 mkNoSrcPos p (gdivMod mkNoSrcPos p) fn fd of { R (Tuple2 fq fr) kq -> (kq, fq, fr) _ -> fatal p } gmod pmod p = ufun2 c160v5v160v32mod pmod p hmod where hmod fn fd p = gr mkNoSrcPos p where gq pq p = uconstUse pq p sq gr pr p = uconstUse pr p sr sq = uconstDef p c160v34v160v51q (\ _ -> case j160v34v160v51q of { (kq, fq, fr) -> fq }) sr = uconstDef p c160v34v160v51r (\ _ -> case j160v34v160v51q of { (kq, fq, fr) -> fr }) j160v34v160v51q = case uap2 mkNoSrcPos p (gdivMod mkNoSrcPos p) fn fd of { R (Tuple2 fq fr) kq -> (kq, fq, fr) _ -> fatal p } gdivMod pdivMod p = ufun2 c161v5v164v29divMod pdivMod p hdivMod where hdivMod fn fd p = ucif p (uap2 mkNoSrcPos p ((!==) mkNoSrcPos p) (uap1 mkNoSrcPos p (gsignum mkNoSrcPos p) (gr mkNoSrcPos p)) (uap1 mkNoSrcPos p (gnegate mkNoSrcPos p) (uap1 mkNoSrcPos p (gsignum mkNoSrcPos p) fd))) (con2 mkNoSrcPos p Tuple2 aTuple2 (uap2 mkNoSrcPos p ((!-) mkNoSrcPos p) (gq mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (1)))) (uap2 mkNoSrcPos p ((!+) mkNoSrcPos p) (gr mkNoSrcPos p) fd)) (gqr mkNoSrcPos p) where gqr pqr p = uconstUse pqr p sqr sqr = uconstDef p c164v31v164v52qr (\ p -> uap2 mkNoSrcPos p (gquotRem mkNoSrcPos p) fn fd) gq pq p = uconstUse pq p sq gr pr p = uconstUse pr p sr sq = uconstDef p c164v31v164v52q (\ _ -> case j164v31v164v52q of { (kq, fq, fr) -> fq }) sr = uconstDef p c164v31v164v52r (\ _ -> case j164v31v164v52q of { (kq, fq, fr) -> fr }) j164v31v164v52q = case gqr mkNoSrcPos p of { R (Tuple2 fq fr) kq -> (kq, fq, fr) _ -> fatal p } gquot, grem :: Integral a => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) gquot, grem :: Integral a => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) squot, srem :: Integral a => R (Fun a (Fun a a)) squot, srem :: Integral a => R (Fun a (Fun a a)) gdiv, gmod :: Integral a => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) gdiv, gmod :: Integral a => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) sdiv, smod :: Integral a => R (Fun a (Fun a a)) sdiv, smod :: Integral a => R (Fun a (Fun a a)) gquotRem, gdivMod :: Integral a => RefSrcPos -> RefExp -> R (Fun a (Fun a (Tuple2 a a))) gquotRem, gdivMod :: Integral a => RefSrcPos -> RefExp -> R (Fun a (Fun a (Tuple2 a a))) squotRem, sdivMod :: Integral a => R (Fun a (Fun a (Tuple2 a a))) squotRem, sdivMod :: Integral a => R (Fun a (Fun a (Tuple2 a a))) gtoInteger :: Integral a => RefSrcPos -> RefExp -> R (Fun a Integer) stoInteger :: Integral a => R (Fun a Integer) class (Num a) => Fractional a where sfromRational = gundefined mkNoSrcPos p grecip precip p = ufun1 c174v5v174v29recip precip p hrecip where hrecip fx p = uap2 mkNoSrcPos p ((!/) mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (1))) fx (%/) !/ p = ufun2 (+#^*=*=#^*=%*/) (%/) p (*/) where (fx */ fy) p = uap2 mkNoSrcPos p ((!*) mkNoSrcPos p) fx (uap1 mkNoSrcPos p (grecip mkNoSrcPos p) fy) (!/) :: Fractional a => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) (|/) :: Fractional a => R (Fun a (Fun a a)) grecip :: Fractional a => RefSrcPos -> RefExp -> R (Fun a a) srecip :: Fractional a => R (Fun a a) gfromRational :: Fractional a => RefSrcPos -> RefExp -> R (Fun Rational a) sfromRational :: Fractional a => R (Fun Rational a) class (Fractional a) => Floating a where spi = gundefined mkNoSrcPos p sexp = gundefined mkNoSrcPos p slog = gundefined mkNoSrcPos p ssin = gundefined mkNoSrcPos p scos = gundefined mkNoSrcPos p sasin = gundefined mkNoSrcPos p sacos = gundefined mkNoSrcPos p satan = gundefined mkNoSrcPos p ssinh = gundefined mkNoSrcPos p scosh = gundefined mkNoSrcPos p sasinh = gundefined mkNoSrcPos p sacosh = gundefined mkNoSrcPos p satanh = gundefined mkNoSrcPos p (%**) !** p = ufun2 (+#>#=*=#>#=%>**) (%**) p (***) where (fx *** fy) p = uap1 mkNoSrcPos p (gexp mkNoSrcPos p) (uap2 mkNoSrcPos p ((!*) mkNoSrcPos p) (uap1 mkNoSrcPos p (glog mkNoSrcPos p) fx) fy) glogBase plogBase p = ufun2 c192v5v192v37logBase plogBase p hlogBase where hlogBase fx fy p = uap2 mkNoSrcPos p ((!/) mkNoSrcPos p) (uap1 mkNoSrcPos p (glog mkNoSrcPos p) fy) (uap1 mkNoSrcPos p (glog mkNoSrcPos p) fx) gsqrt psqrt p = ufun1 c193v5v193v32sqrt psqrt p hsqrt where hsqrt fx p = uap2 mkNoSrcPos p ((!**) mkNoSrcPos p) fx (uap1 mkNoSrcPos p (gfromRational mkNoSrcPos p) (R ((:%) (conInteger mkNoSrcPos p (1)) (conInteger mkNoSrcPos p (2))) (mkAtomRational mkNoSrcPos p 0.5))) gtan ptan p = ufun1 c194v5v194v39tan ptan p htan where htan fx p = uap2 mkNoSrcPos p ((!/) mkNoSrcPos p) (uap1 mkNoSrcPos p (gsin mkNoSrcPos p) fx) (uap1 mkNoSrcPos p (gcos mkNoSrcPos p) fx) gtanh ptanh p = ufun1 c195v5v195v39tanh ptanh p htanh where htanh fx p = uap2 mkNoSrcPos p ((!/) mkNoSrcPos p) (uap1 mkNoSrcPos p (gsinh mkNoSrcPos p) fx) (uap1 mkNoSrcPos p (gcosh mkNoSrcPos p) fx) gpi :: Floating a => RefSrcPos -> RefExp -> R a spi :: Floating a => R a gexp, glog, gsqrt :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) gexp, glog, gsqrt :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) gexp, glog, gsqrt :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) sexp, slog, ssqrt :: Floating a => R (Fun a a) sexp, slog, ssqrt :: Floating a => R (Fun a a) sexp, slog, ssqrt :: Floating a => R (Fun a a) (!**, glogBase) :: Floating a => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) (!**, glogBase) :: Floating a => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) (|**, slogBase) :: Floating a => R (Fun a (Fun a a)) (|**, slogBase) :: Floating a => R (Fun a (Fun a a)) gsin, gcos, gtan :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) gsin, gcos, gtan :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) gsin, gcos, gtan :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) ssin, scos, stan :: Floating a => R (Fun a a) ssin, scos, stan :: Floating a => R (Fun a a) ssin, scos, stan :: Floating a => R (Fun a a) gasin, gacos, gatan :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) gasin, gacos, gatan :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) gasin, gacos, gatan :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) sasin, sacos, satan :: Floating a => R (Fun a a) sasin, sacos, satan :: Floating a => R (Fun a a) sasin, sacos, satan :: Floating a => R (Fun a a) gsinh, gcosh, gtanh :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) gsinh, gcosh, gtanh :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) gsinh, gcosh, gtanh :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) ssinh, scosh, stanh :: Floating a => R (Fun a a) ssinh, scosh, stanh :: Floating a => R (Fun a a) ssinh, scosh, stanh :: Floating a => R (Fun a a) gasinh, gacosh, gatanh :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) gasinh, gacosh, gatanh :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) gasinh, gacosh, gatanh :: Floating a => RefSrcPos -> RefExp -> R (Fun a a) sasinh, sacosh, satanh :: Floating a => R (Fun a a) sasinh, sacosh, satanh :: Floating a => R (Fun a a) sasinh, sacosh, satanh :: Floating a => R (Fun a a) class (Real a, Fractional a) => RealFrac a where sproperFraction = gundefined mkNoSrcPos p gtruncate ptruncate p = ufun1 c206v5v206v32truncate ptruncate p htruncate where htruncate fx p = gm mkNoSrcPos p where gm pm p = uconstUse pm p sm sm = uconstDef p c206v34v206v57m (\ _ -> case j206v34v206v57m of { (km, fm) -> fm }) j206v34v206v57m = case uap1 mkNoSrcPos p (gproperFraction mkNoSrcPos p) fx of { R (Tuple2 fm _) km -> (km, fm) _ -> fatal p } ground pround p = ufun1 c208v5v221v0round pround p hround where hround fx p = let gn pn p = uconstUse pn p sn gr pr p = uconstUse pr p sr sn = uconstDef p c208v29v208v52n (\ _ -> case j208v29v208v52n of { (kn, fn, fr) -> fn }) sr = uconstDef p c208v29v208v52r (\ _ -> case j208v29v208v52n of { (kn, fn, fr) -> fr }) j208v29v208v52n = case uap1 mkNoSrcPos p (gproperFraction mkNoSrcPos p) fx of { R (Tuple2 fn fr) kn -> (kn, fn, fr) _ -> fatal p } gm pm p = uconstUse pm p sm sm = uconstDef p c209v29v209v66m (\ p -> ucif p (uap2 mkNoSrcPos p ((!<) mkNoSrcPos p) (gr mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) (uap2 mkNoSrcPos p ((!-) mkNoSrcPos p) (gn mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (1)))) (uap2 mkNoSrcPos p ((!+) mkNoSrcPos p) (gn mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (1))))) in uccase mkNoSrcPos p (let v210v30v221v0v1 (R LT _) p = gn mkNoSrcPos p v210v30v221v0v1 (R EQ _) p = ucif p (uwrapForward p (heven (gn mkNoSrcPos p) p)) (gn mkNoSrcPos p) (gm mkNoSrcPos p) v210v30v221v0v1 (R GT _) p = gm mkNoSrcPos p v210v30v221v0v1 _ p = fatal p in v210v30v221v0v1) (uap2 mkNoSrcPos p (gcompare mkNoSrcPos p) (uap1 mkNoSrcPos p (gsignum mkNoSrcPos p) (uap2 mkNoSrcPos p ((!-) mkNoSrcPos p) (uap1 mkNoSrcPos p (gabs mkNoSrcPos p) (gr mkNoSrcPos p)) (uap1 mkNoSrcPos p (gfromRational mkNoSrcPos p) (R ((:%) (conInteger mkNoSrcPos p (1)) (conInteger mkNoSrcPos p (2))) (mkAtomRational mkNoSrcPos p 0.5))))) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) gceiling pceiling p = ufun1 c221v5v222v29ceiling pceiling p hceiling where hceiling fx p = ucif p (uap2 mkNoSrcPos p ((!>) mkNoSrcPos p) (gr mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) (uap2 mkNoSrcPos p ((!+) mkNoSrcPos p) (gn mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (1)))) (gn mkNoSrcPos p) where gn pn p = uconstUse pn p sn gr pr p = uconstUse pr p sr sn = uconstDef p c222v31v222v54n (\ _ -> case j222v31v222v54n of { (kn, fn, fr) -> fn }) sr = uconstDef p c222v31v222v54r (\ _ -> case j222v31v222v54n of { (kn, fn, fr) -> fr }) j222v31v222v54n = case uap1 mkNoSrcPos p (gproperFraction mkNoSrcPos p) fx of { R (Tuple2 fn fr) kn -> (kn, fn, fr) _ -> fatal p } gfloor pfloor p = ufun1 c224v5v225v29floor pfloor p hfloor where hfloor fx p = ucif p (uap2 mkNoSrcPos p ((!<) mkNoSrcPos p) (gr mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) (uap2 mkNoSrcPos p ((!-) mkNoSrcPos p) (gn mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (1)))) (gn mkNoSrcPos p) where gn pn p = uconstUse pn p sn gr pr p = uconstUse pr p sr sn = uconstDef p c225v31v225v54n (\ _ -> case j225v31v225v54n of { (kn, fn, fr) -> fn }) sr = uconstDef p c225v31v225v54r (\ _ -> case j225v31v225v54n of { (kn, fn, fr) -> fr }) j225v31v225v54n = case uap1 mkNoSrcPos p (gproperFraction mkNoSrcPos p) fx of { R (Tuple2 fn fr) kn -> (kn, fn, fr) _ -> fatal p } gproperFraction :: (RealFrac a, Integral b) => RefSrcPos -> RefExp -> R (Fun a (Tuple2 b a)) sproperFraction :: (RealFrac a, Integral b) => R (Fun a (Tuple2 b a)) gtruncate, ground :: (RealFrac a, Integral b) => RefSrcPos -> RefExp -> R (Fun a b) gtruncate, ground :: (RealFrac a, Integral b) => RefSrcPos -> RefExp -> R (Fun a b) struncate, sround :: (RealFrac a, Integral b) => R (Fun a b) struncate, sround :: (RealFrac a, Integral b) => R (Fun a b) gceiling, gfloor :: (RealFrac a, Integral b) => RefSrcPos -> RefExp -> R (Fun a b) gceiling, gfloor :: (RealFrac a, Integral b) => RefSrcPos -> RefExp -> R (Fun a b) sceiling, sfloor :: (RealFrac a, Integral b) => R (Fun a b) sceiling, sfloor :: (RealFrac a, Integral b) => R (Fun a b) class (RealFrac a, Floating a) => RealFloat a where sfloatRadix = gundefined mkNoSrcPos p sfloatDigits = gundefined mkNoSrcPos p sfloatRange = gundefined mkNoSrcPos p sdecodeFloat = gundefined mkNoSrcPos p sencodeFloat = gundefined mkNoSrcPos p sisNaN = gundefined mkNoSrcPos p sisInfinite = gundefined mkNoSrcPos p sisDenormalized = gundefined mkNoSrcPos p sisNegativeZero = gundefined mkNoSrcPos p sisIEEE = gundefined mkNoSrcPos p gexponent pexponent p = ufun1 c244v5v245v29exponent pexponent p hexponent where hexponent fx p = ucif p (uap2 mkNoSrcPos p ((!==) mkNoSrcPos p) (gm mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0))) (uap2 mkNoSrcPos p ((!+) mkNoSrcPos p) (gn mkNoSrcPos p) (uap1 mkNoSrcPos p (gfloatDigits mkNoSrcPos p) fx)) where gm pm p = uconstUse pm p sm gn pn p = uconstUse pn p sn sm = uconstDef p c245v31v245v51m (\ _ -> case j245v31v245v51m of { (km, fm, fn) -> fm }) sn = uconstDef p c245v31v245v51n (\ _ -> case j245v31v245v51m of { (km, fm, fn) -> fn }) j245v31v245v51m = case uap1 mkNoSrcPos p (gdecodeFloat mkNoSrcPos p) fx of { R (Tuple2 fm fn) km -> (km, fm, fn) _ -> fatal p } gsignificand psignificand p = ufun1 c247v5v248v29significand psignificand p hsignificand where hsignificand fx p = uap2 mkNoSrcPos p (gencodeFloat mkNoSrcPos p) (gm mkNoSrcPos p) (uap1 mkNoSrcPos p (gnegate mkNoSrcPos p) (uap1 mkNoSrcPos p (gfloatDigits mkNoSrcPos p) fx)) where gm pm p = uconstUse pm p sm sm = uconstDef p c248v31v248v51m (\ _ -> case j248v31v248v51m of { (km, fm) -> fm }) j248v31v248v51m = case uap1 mkNoSrcPos p (gdecodeFloat mkNoSrcPos p) fx of { R (Tuple2 fm _) km -> (km, fm) _ -> fatal p } gscaleFloat pscaleFloat p = ufun2 c250v5v251v29scaleFloat pscaleFloat p hscaleFloat where hscaleFloat fk fx p = uap2 mkNoSrcPos p (gencodeFloat mkNoSrcPos p) (gm mkNoSrcPos p) (uap2 mkNoSrcPos p ((!+) mkNoSrcPos p) (gn mkNoSrcPos p) fk) where gm pm p = uconstUse pm p sm gn pn p = uconstUse pn p sn sm = uconstDef p c251v31v251v51m (\ _ -> case j251v31v251v51m of { (km, fm, fn) -> fm }) sn = uconstDef p c251v31v251v51n (\ _ -> case j251v31v251v51m of { (km, fm, fn) -> fn }) j251v31v251v51m = case uap1 mkNoSrcPos p (gdecodeFloat mkNoSrcPos p) fx of { R (Tuple2 fm fn) km -> (km, fm, fn) _ -> fatal p } gatan2 patan2 p = ufun2 c253v5v264v30atan2 patan2 p hatan2 where hatan2 fy fx p = ucguard (uap2 mkNoSrcPos p ((!>) mkNoSrcPos p) fx (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) (uap1 mkNoSrcPos p (gatan mkNoSrcPos p) (uap2 mkNoSrcPos p ((!/) mkNoSrcPos p) fy fx)) (ucguard (uwrapForward p ((*&&) (uap2 mkNoSrcPos p ((!==) mkNoSrcPos p) fx (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) (uap2 mkNoSrcPos p ((!>) mkNoSrcPos p) fy (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) p)) (uap2 mkNoSrcPos p ((!/) mkNoSrcPos p) (gpi mkNoSrcPos p) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (2)))) (ucguard (uwrapForward p ((*&&) (uap2 mkNoSrcPos p ((!<) mkNoSrcPos p) fx (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) (uap2 mkNoSrcPos p ((!>) mkNoSrcPos p) fy (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) p)) (uap2 mkNoSrcPos p ((!+) mkNoSrcPos p) (gpi mkNoSrcPos p) (uap1 mkNoSrcPos p (gatan mkNoSrcPos p) (uap2 mkNoSrcPos p ((!/) mkNoSrcPos p) fy fx))) (ucguard (uwrapForward p ((*||) (uwrapForward p ((*&&) (uap2 mkNoSrcPos p ((!<=) mkNoSrcPos p) fx (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) (uap2 mkNoSrcPos p ((!<) mkNoSrcPos p) fy (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) p)) (uwrapForward p ((*||) (uwrapForward p ((*&&) (uap2 mkNoSrcPos p ((!<) mkNoSrcPos p) fx (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) (uap1 mkNoSrcPos p (gisNegativeZero mkNoSrcPos p) fy) p)) (uwrapForward p ((*&&) (uap1 mkNoSrcPos p (gisNegativeZero mkNoSrcPos p) fx) (uap1 mkNoSrcPos p (gisNegativeZero mkNoSrcPos p) fy) p)) p)) p)) (uap1 mkNoSrcPos p (gnegate mkNoSrcPos p) (uap2 mkNoSrcPos p (gatan2 mkNoSrcPos p) (uap1 mkNoSrcPos p (gnegate mkNoSrcPos p) fy) fx)) (ucguard (uwrapForward p ((*&&) (uap2 mkNoSrcPos p ((!==) mkNoSrcPos p) fy (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) (uwrapForward p ((*||) (uap2 mkNoSrcPos p ((!<) mkNoSrcPos p) fx (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) (uap1 mkNoSrcPos p (gisNegativeZero mkNoSrcPos p) fx) p)) p)) (gpi mkNoSrcPos p) (ucguard (uwrapForward p ((*&&) (uap2 mkNoSrcPos p ((!==) mkNoSrcPos p) fx (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) (uap2 mkNoSrcPos p ((!==) mkNoSrcPos p) fy (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0)))) p)) (projection mkNoSrcPos p fy) (ucguard (gotherwise mkNoSrcPos p) (uap2 mkNoSrcPos p ((!+) mkNoSrcPos p) fx fy) (fatal p))))))) gfloatRadix :: RealFloat a => RefSrcPos -> RefExp -> R (Fun a Integer) sfloatRadix :: RealFloat a => R (Fun a Integer) gfloatDigits :: RealFloat a => RefSrcPos -> RefExp -> R (Fun a Int) sfloatDigits :: RealFloat a => R (Fun a Int) gfloatRange :: RealFloat a => RefSrcPos -> RefExp -> R (Fun a (Tuple2 Int Int)) sfloatRange :: RealFloat a => R (Fun a (Tuple2 Int Int)) gdecodeFloat :: RealFloat a => RefSrcPos -> RefExp -> R (Fun a (Tuple2 Integer Int)) sdecodeFloat :: RealFloat a => R (Fun a (Tuple2 Integer Int)) gencodeFloat :: RealFloat a => RefSrcPos -> RefExp -> R (Fun Integer (Fun Int a)) sencodeFloat :: RealFloat a => R (Fun Integer (Fun Int a)) gexponent :: RealFloat a => RefSrcPos -> RefExp -> R (Fun a Int) sexponent :: RealFloat a => R (Fun a Int) gsignificand :: RealFloat a => RefSrcPos -> RefExp -> R (Fun a a) ssignificand :: RealFloat a => R (Fun a a) gscaleFloat :: RealFloat a => RefSrcPos -> RefExp -> R (Fun Int (Fun a a)) sscaleFloat :: RealFloat a => R (Fun Int (Fun a a)) gisNaN, gisInfinite, gisDenormalized, gisNegativeZero, gisIEEE :: RealFloat a => RefSrcPos -> RefExp -> R (Fun a Bool) gisNaN, gisInfinite, gisDenormalized, gisNegativeZero, gisIEEE :: RealFloat a => RefSrcPos -> RefExp -> R (Fun a Bool) gisNaN, gisInfinite, gisDenormalized, gisNegativeZero, gisIEEE :: RealFloat a => RefSrcPos -> RefExp -> R (Fun a Bool) gisNaN, gisInfinite, gisDenormalized, gisNegativeZero, gisIEEE :: RealFloat a => RefSrcPos -> RefExp -> R (Fun a Bool) gisNaN, gisInfinite, gisDenormalized, gisNegativeZero, gisIEEE :: RealFloat a => RefSrcPos -> RefExp -> R (Fun a Bool) sisNaN, sisInfinite, sisDenormalized, sisNegativeZero, sisIEEE :: RealFloat a => R (Fun a Bool) sisNaN, sisInfinite, sisDenormalized, sisNegativeZero, sisIEEE :: RealFloat a => R (Fun a Bool) sisNaN, sisInfinite, sisDenormalized, sisNegativeZero, sisIEEE :: RealFloat a => R (Fun a Bool) sisNaN, sisInfinite, sisDenormalized, sisNegativeZero, sisIEEE :: RealFloat a => R (Fun a Bool) sisNaN, sisInfinite, sisDenormalized, sisNegativeZero, sisIEEE :: RealFloat a => R (Fun a Bool) gatan2 :: RealFloat a => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) satan2 :: RealFloat a => R (Fun a (Fun a a)) class Monad m where (|>>=) = gundefined mkNoSrcPos p sreturn = gundefined mkNoSrcPos p (%>>) !>> p = ufun2 (+%$^=*=%$^=$@>>) (%>>) p (*>>) where (fm *>> fk) p = uap2 mkNoSrcPos p ((!>>=) mkNoSrcPos p) fm (ufun1 mkLambda mkNoSrcPos p (\ _ p -> projection mkNoSrcPos p fk)) gfail pfail p = ufun1 c328v5v328v21fail pfail p hfail where hfail fs p = uwrapForward p (herror fs p) (!>>=) :: Monad m => RefSrcPos -> RefExp -> R (Fun (m a) (Fun (Fun a (m b)) (m b))) (|>>=) :: Monad m => R (Fun (m a) (Fun (Fun a (m b)) (m b))) (!>>) :: Monad m => RefSrcPos -> RefExp -> R (Fun (m a) (Fun (m b) (m b))) (|>>) :: Monad m => R (Fun (m a) (Fun (m b) (m b))) greturn :: Monad m => RefSrcPos -> RefExp -> R (Fun a (m a)) sreturn :: Monad m => R (Fun a (m a)) gfail :: Monad m => RefSrcPos -> RefExp -> R (Fun String (m a)) sfail :: Monad m => R (Fun String (m a)) class Functor f where sfmap = gundefined mkNoSrcPos p gfmap :: Functor f => RefSrcPos -> RefExp -> R (Fun (Fun a b) (Fun (f a) (f b))) sfmap :: Functor f => R (Fun (Fun a b) (Fun (f a) (f b))) gmapM :: (Monad m) => RefSrcPos -> RefExp -> R (Fun (Fun a (m b)) (Fun (List a) (m (List b)))) amapM :: RefAtom hmapM :: (Monad m) => R (Fun a (m b)) -> R (List a) -> RefExp -> R (m (List b)) gmapM_ :: (Monad m) => RefSrcPos -> RefExp -> R (Fun (Fun a (m b)) (Fun (List a) (m Tuple0))) amapM_ :: RefAtom hmapM_ :: (Monad m) => R (Fun a (m b)) -> R (List a) -> RefExp -> R (m Tuple0) gsequence :: (Monad m) => RefSrcPos -> RefExp -> R (Fun (List (m a)) (m (List a))) gsequence_ :: (Monad m) => RefSrcPos -> RefExp -> R (Fun (List (m a)) (m Tuple0)) (!=<<) :: (Monad m) => RefSrcPos -> RefExp -> R (Fun (Fun a (m b)) (Fun (m a) (m b))) (+=<<) :: RefAtom (*=<<) :: (Monad m) => R (Fun a (m b)) -> R (m a) -> RefExp -> R (m b) gmaybe :: RefSrcPos -> RefExp -> R (Fun b (Fun (Fun a b) (Fun (Maybe a) b))) amaybe :: RefAtom hmaybe :: R b -> R (Fun a b) -> R (Maybe a) -> RefExp -> R b geither :: RefSrcPos -> RefExp -> R (Fun (Fun a c) (Fun (Fun b c) (Fun (Either a b) c))) aeither :: RefAtom heither :: R (Fun a c) -> R (Fun b c) -> R (Either a b) -> RefExp -> R c (!&&) :: RefSrcPos -> RefExp -> R (Fun Bool (Fun Bool Bool)) (+&&) :: RefAtom (*&&) :: R Bool -> R Bool -> RefExp -> R Bool (!||) :: RefSrcPos -> RefExp -> R (Fun Bool (Fun Bool Bool)) (+||) :: RefAtom (*||) :: R Bool -> R Bool -> RefExp -> R Bool gnot :: RefSrcPos -> RefExp -> R (Fun Bool Bool) anot :: RefAtom hnot :: R Bool -> RefExp -> R Bool gotherwise :: RefSrcPos -> RefExp -> R Bool gsubtract :: (Num a) => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) geven :: (Integral a) => RefSrcPos -> RefExp -> R (Fun a Bool) aeven :: RefAtom heven :: (Integral a) => R a -> RefExp -> R Bool godd :: (Integral a) => RefSrcPos -> RefExp -> R (Fun a Bool) ggcd :: (Integral a) => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) agcd :: RefAtom hgcd :: (Integral a) => R a -> R a -> RefExp -> R a glcm :: (Integral a) => RefSrcPos -> RefExp -> R (Fun a (Fun a a)) alcm :: RefAtom hlcm :: (Integral a) => R a -> R a -> RefExp -> R a (!^) :: (Num a, Integral b) => RefSrcPos -> RefExp -> R (Fun a (Fun b a)) (+^) :: RefAtom (*^) :: (Num a, Integral b) => R a -> R b -> RefExp -> R a (!^^) :: (Fractional a, Integral b) => RefSrcPos -> RefExp -> R (Fun a (Fun b a)) (+^^) :: RefAtom (*^^) :: (Fractional a, Integral b) => R a -> R b -> RefExp -> R a gfromIntegral :: (Integral a, Num b) => RefSrcPos -> RefExp -> R (Fun a b) grealToFrac :: (Real a, Fractional b) => RefSrcPos -> RefExp -> R (Fun a b) gfst :: RefSrcPos -> RefExp -> R (Fun (Tuple2 a b) a) afst :: RefAtom hfst :: R (Tuple2 a b) -> RefExp -> R a gsnd :: RefSrcPos -> RefExp -> R (Fun (Tuple2 a b) b) asnd :: RefAtom hsnd :: R (Tuple2 a b) -> RefExp -> R b gcurry :: RefSrcPos -> RefExp -> R (Fun (Fun (Tuple2 a b) c) (Fun a (Fun b c))) acurry :: RefAtom hcurry :: R (Fun (Tuple2 a b) c) -> R a -> R b -> RefExp -> R c guncurry :: RefSrcPos -> RefExp -> R (Fun (Fun a (Fun b c)) (Fun (Tuple2 a b) c)) auncurry :: RefAtom huncurry :: R (Fun a (Fun b c)) -> (R (Tuple2 a b) -> RefExp -> R c) gid :: RefSrcPos -> RefExp -> R (Fun a a) aid :: RefAtom hid :: R a -> RefExp -> R a gconst :: RefSrcPos -> RefExp -> R (Fun a (Fun b a)) aconst :: RefAtom hconst :: R a -> R b -> RefExp -> R a (!.) :: RefSrcPos -> RefExp -> R (Fun (Fun b c) (Fun (Fun a b) (Fun a c))) (+.) :: RefAtom (*.) :: R (Fun b c) -> R (Fun a b) -> R a -> RefExp -> R c gflip :: RefSrcPos -> RefExp -> R (Fun (Fun a (Fun b c)) (Fun b (Fun a c))) aflip :: RefAtom hflip :: R (Fun a (Fun b c)) -> R b -> R a -> RefExp -> R c (!$) :: RefSrcPos -> RefExp -> R (Fun (Fun a b) (Fun a b)) (+$) :: RefAtom (*$) :: R (Fun a b) -> R a -> RefExp -> R b guntil :: RefSrcPos -> RefExp -> R (Fun (Fun a Bool) (Fun (Fun a a) (Fun a a))) auntil :: RefAtom huntil :: R (Fun a Bool) -> R (Fun a a) -> R a -> RefExp -> R a gasTypeOf :: RefSrcPos -> RefExp -> R (Fun a (Fun a a)) gerror :: RefSrcPos -> RefExp -> R (Fun String z) aerror :: RefAtom herror :: R String -> RefExp -> a gundefined :: RefSrcPos -> RefExp -> R a gseq :: RefSrcPos -> RefExp -> R (Fun a (Fun b b)) aseq :: RefAtom hseq :: R a1 -> R a -> RefExp -> R a (!$!) :: RefSrcPos -> RefExp -> R (Fun (Fun a b) (Fun a b)) (+$!) :: RefAtom (*$!) :: R (Fun a b) -> R a -> RefExp -> R b module Hat.Ix class (Ord a) => Ix a where srange = gundefined mkNoSrcPos p sindex = gundefined mkNoSrcPos p sinRange = gundefined mkNoSrcPos p srangeSize = gundefined mkNoSrcPos p grangeSize prangeSize p = ufun1 c9v5v10v54rangeSize prangeSize p hrangeSize where hrangeSize fb@(R (Tuple2 fl fh) _) p = ucguard (uwrapForward p (hnull (uap1 mkNoSrcPos p (grange mkNoSrcPos p) fb) p)) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (0))) (ucguard (gotherwise mkNoSrcPos p) (uap2 mkNoSrcPos p ((!+) mkNoSrcPos p) (uap2 mkNoSrcPos p (gindex mkNoSrcPos p) fb fh) (uap1 mkNoSrcPos p (gfromInteger mkNoSrcPos p) (conInteger mkNoSrcPos p (1)))) (fatal p)) grange :: Ix a => RefSrcPos -> RefExp -> R (Fun (Tuple2 a a) (List a)) srange :: Ix a => R (Fun (Tuple2 a a) (List a)) gindex :: Ix a => RefSrcPos -> RefExp -> R (Fun (Tuple2 a a) (Fun a Int)) sindex :: Ix a => R (Fun (Tuple2 a a) (Fun a Int)) ginRange :: Ix a => RefSrcPos -> RefExp -> R (Fun (Tuple2 a a) (Fun a Bool)) sinRange :: Ix a => R (Fun (Tuple2 a a) (Fun a Bool)) grangeSize :: Ix a => RefSrcPos -> RefExp -> R (Fun (Tuple2 a a) Int) srangeSize :: Ix a => R (Fun (Tuple2 a a) Int) instance Hat.Ix.Ix GHC.Types.Char instance Hat.Ix.Ix GHC.Types.Int instance Hat.Ix.Ix GHC.Integer.Type.Integer instance Hat.Ix.Ix GHC.Types.Bool instance Hat.Ix.Ix Hat.PreludeBasic.Ordering instance Hat.Ix.Ix Hat.Hat.Tuple0 instance (Hat.Ix.Ix a, Hat.Ix.Ix b) => Hat.Ix.Ix (Hat.Hat.Tuple2 a b) instance (Hat.Ix.Ix a1, Hat.Ix.Ix a2, Hat.Ix.Ix a3) => Hat.Ix.Ix (Hat.Hat.Tuple3 a1 a2 a3) instance (Hat.Ix.Ix a1, Hat.Ix.Ix a2, Hat.Ix.Ix a3, Hat.Ix.Ix a4) => Hat.Ix.Ix (Hat.Hat.Tuple4 a1 a2 a3 a4) instance (Hat.Ix.Ix a1, Hat.Ix.Ix a2, Hat.Ix.Ix a3, Hat.Ix.Ix a4, Hat.Ix.Ix a5) => Hat.Ix.Ix (Hat.Hat.Tuple5 a1 a2 a3 a4 a5) instance (Hat.Ix.Ix a1, Hat.Ix.Ix a2, Hat.Ix.Ix a3, Hat.Ix.Ix a4, Hat.Ix.Ix a5, Hat.Ix.Ix a6) => Hat.Ix.Ix (Hat.Hat.Tuple6 a1 a2 a3 a4 a5 a6) instance (Hat.Ix.Ix a1, Hat.Ix.Ix a2, Hat.Ix.Ix a3, Hat.Ix.Ix a4, Hat.Ix.Ix a5, Hat.Ix.Ix a6, Hat.Ix.Ix a7) => Hat.Ix.Ix (Hat.Hat.Tuple7 a1 a2 a3 a4 a5 a6 a7) instance (Hat.Ix.Ix a1, Hat.Ix.Ix a2, Hat.Ix.Ix a3, Hat.Ix.Ix a4, Hat.Ix.Ix a5, Hat.Ix.Ix a6, Hat.Ix.Ix a7, Hat.Ix.Ix a8) => Hat.Ix.Ix (Hat.Hat.Tuple8 a1 a2 a3 a4 a5 a6 a7 a8) instance (Hat.Ix.Ix a1, Hat.Ix.Ix a2, Hat.Ix.Ix a3, Hat.Ix.Ix a4, Hat.Ix.Ix a5, Hat.Ix.Ix a6, Hat.Ix.Ix a7, Hat.Ix.Ix a8, Hat.Ix.Ix a9) => Hat.Ix.Ix (Hat.Hat.Tuple9 a1 a2 a3 a4 a5 a6 a7 a8 a9) instance (Hat.Ix.Ix a1, Hat.Ix.Ix a2, Hat.Ix.Ix a3, Hat.Ix.Ix a4, Hat.Ix.Ix a5, Hat.Ix.Ix a6, Hat.Ix.Ix a7, Hat.Ix.Ix a8, Hat.Ix.Ix a9, Hat.Ix.Ix a10) => Hat.Ix.Ix (Hat.Hat.Tuple10 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10) instance (Hat.Ix.Ix a1, Hat.Ix.Ix a2, Hat.Ix.Ix a3, Hat.Ix.Ix a4, Hat.Ix.Ix a5, Hat.Ix.Ix a6, Hat.Ix.Ix a7, Hat.Ix.Ix a8, Hat.Ix.Ix a9, Hat.Ix.Ix a10, Hat.Ix.Ix a11) => Hat.Ix.Ix (Hat.Hat.Tuple11 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11) instance (Hat.Ix.Ix a1, Hat.Ix.Ix a2, Hat.Ix.Ix a3, Hat.Ix.Ix a4, Hat.Ix.Ix a5, Hat.Ix.Ix a6, Hat.Ix.Ix a7, Hat.Ix.Ix a8, Hat.Ix.Ix a9, Hat.Ix.Ix a10, Hat.Ix.Ix a11, Hat.Ix.Ix a12) => Hat.Ix.Ix (Hat.Hat.Tuple12 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) instance (Hat.Ix.Ix a1, Hat.Ix.Ix a2, Hat.Ix.Ix a3, Hat.Ix.Ix a4, Hat.Ix.Ix a5, Hat.Ix.Ix a6, Hat.Ix.Ix a7, Hat.Ix.Ix a8, Hat.Ix.Ix a9, Hat.Ix.Ix a10, Hat.Ix.Ix a11, Hat.Ix.Ix a12, Hat.Ix.Ix a13) => Hat.Ix.Ix (Hat.Hat.Tuple13 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13) instance (Hat.Ix.Ix a1, Hat.Ix.Ix a2, Hat.Ix.Ix a3, Hat.Ix.Ix a4, Hat.Ix.Ix a5, Hat.Ix.Ix a6, Hat.Ix.Ix a7, Hat.Ix.Ix a8, Hat.Ix.Ix a9, Hat.Ix.Ix a10, Hat.Ix.Ix a11, Hat.Ix.Ix a12, Hat.Ix.Ix a13, Hat.Ix.Ix a14) => Hat.Ix.Ix (Hat.Hat.Tuple14 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14) instance (Hat.Ix.Ix a1, Hat.Ix.Ix a2, Hat.Ix.Ix a3, Hat.Ix.Ix a4, Hat.Ix.Ix a5, Hat.Ix.Ix a6, Hat.Ix.Ix a7, Hat.Ix.Ix a8, Hat.Ix.Ix a9, Hat.Ix.Ix a10, Hat.Ix.Ix a11, Hat.Ix.Ix a12, Hat.Ix.Ix a13, Hat.Ix.Ix a14, Hat.Ix.Ix a15) => Hat.Ix.Ix (Hat.Hat.Tuple15 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15) module Hat.IO -- | Haskell defines operations to read and write characters from and to -- files, represented by values of type Handle. Each value of -- this type is a handle: a record used by the Haskell run-time -- system to manage I/O with file system objects. A handle has at -- least the following properties: -- --