External Core parser bug
Kirsten Chevalier
krc at uclink.berkeley.edu
Tue Jan 7 15:26:49 EST 2003
The attached file was generated by running 'ghc -fext-core' on the Atom
benchmark from the spectral section of the nofib suite, but if I try to
read it back into GHC 5.04.1, I get the following error:
2882: Parse error
:-2::GHCziPrim.Floatzh))
(GHCziBase.zdwZC @ GHCziFloat.Float
(GHCziFloat.zdwFzh (1.0::GHCziP
--
Kirsten Chevalier * krc at uclink.berkeley.edu * Often in error, never in doubt
-------------- next part --------------
%module Atom
%data Atom.AtomState =
{Atom.State (GHCziBase.ZMZN GHCziFloat.Float)
(GHCziBase.ZMZN GHCziFloat.Float)};
%data Atom.ZCTEnum a =
{Atom.ZCDEnum (GHCziPrim.ZLzmzgZR a a)
(GHCziPrim.ZLzmzgZR a a)
(GHCziPrim.ZLzmzgZR GHCziBase.Int a)
(GHCziPrim.ZLzmzgZR a GHCziBase.Int)
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a))
(GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a))))};
%data Atom.ZCTBounded a =
{Atom.ZCDBounded a a};
Atom.zizt :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziNum.ZCTNum a)
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) (GHCziBase.ZMZN a))) =
\ @ a
(zddNum::GHCziNum.ZCTNum a)
(eta::a)
(eta1::GHCziBase.ZMZN a) ->
%let %rec
{zizt1 :: GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) (GHCziBase.ZMZN a)) =
\ (c::a) (ds::GHCziBase.ZMZN a) ->
%case ds %of (wild::GHCziBase.ZMZN a)
{GHCziBase.ZC (f::a) (fs::GHCziBase.ZMZN a) ->
GHCziBase.zdwZC @ a
(%case zddNum %of (tpl::GHCziNum.ZCTNum a)
{GHCziNum.ZCDNum
(tpl1::GHCziBase.ZCTEq a)
(tpl2::GHCziShow.ZCTShow a)
(tpl3::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a a))
(tpl4::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a a))
(tpl5::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a a))
(tpl6::GHCziPrim.ZLzmzgZR a a)
(tpl7::GHCziPrim.ZLzmzgZR a a)
(tpl8::GHCziPrim.ZLzmzgZR a a)
(tpl9::GHCziPrim.ZLzmzgZR GHCziNum.Integer a) ->
tpl4 c f})
(zizt1 c fs);
GHCziBase.ZMZN ->
GHCziBase.zdwZMZN @ a}}
%in zizt1 eta eta1;
Atom.null :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
GHCziBase.Bool =
\ @ a (ds::GHCziBase.ZMZN a) ->
%case ds %of (wild::GHCziBase.ZMZN a)
{GHCziBase.ZC (ds1::a) (ds2::GHCziBase.ZMZN a) ->
GHCziBase.zdwFalse;
GHCziBase.ZMZN ->
GHCziBase.zdwTrue};
Atom.length :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
GHCziBase.Int =
\ @ a (l::GHCziBase.ZMZN a) ->
%let %rec
{len :: %forall a1 . GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a1)
(GHCziPrim.ZLzmzgZR GHCziPrim.Intzh GHCziBase.Int) =
\ @ a1 (ds::GHCziBase.ZMZN a1) (azh::GHCziPrim.Intzh) ->
%case ds %of (wild::GHCziBase.ZMZN a1)
{GHCziBase.ZC (ds1::a1) (xs::GHCziBase.ZMZN a1) ->
len @ a1 xs (GHCziPrim.zpzh azh (1::GHCziPrim.Intzh));
GHCziBase.ZMZN ->
GHCziBase.zdwIzh azh}}
%in len @ a l (0::GHCziPrim.Intzh);
Atom.filterList :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR a GHCziBase.Bool)
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) (GHCziBase.ZMZN a)) =
\ @ a
(pred1::GHCziPrim.ZLzmzgZR a GHCziBase.Bool)
(xs::GHCziBase.ZMZN a) ->
GHCziBase.foldr @ a @ (GHCziBase.ZMZN a)
(\ (x::a) (rest::GHCziBase.ZMZN a) ->
%case (pred1 x) %of (wild::GHCziBase.Bool)
{GHCziBase.True ->
GHCziBase.zdwZC @ a x rest;
GHCziBase.False ->
rest})
(GHCziBase.zdwZMZN @ a) xs;
Atom.filter :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR a GHCziBase.Bool)
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) (GHCziBase.ZMZN a)) =
\ @ a -> Atom.filterList @ a;
Atom.foldl :: %forall a b . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR b a))
(GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN b) a)) =
\ @ a
@ b
(f::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR b a))
(zz::a)
(xs::GHCziBase.ZMZN b) ->
%let %rec
{lgo :: GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN b) a) =
\ (zz1::a) (ds::GHCziBase.ZMZN b) ->
%case ds %of (wild::GHCziBase.ZMZN b)
{GHCziBase.ZC (x::b) (xs1::GHCziBase.ZMZN b) ->
lgo (f zz1 x) xs1;
GHCziBase.ZMZN ->
zz1}}
%in lgo zz xs;
%rec
{Atom.scanl :: %forall a b . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR b a))
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN b) (GHCziBase.ZMZN a))) =
\ @ a
@ b
(f::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR b a))
(q::a)
(ls::GHCziBase.ZMZN b) ->
GHCziBase.zdwZC @ a q
(%case ls %of (wild::GHCziBase.ZMZN b)
{GHCziBase.ZC (x::b) (xs::GHCziBase.ZMZN b) ->
Atom.scanl @ a @ b f (f q x) xs;
GHCziBase.ZMZN ->
GHCziBase.zdwZMZN @ a})};
Atom.scanl1 :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a a))
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) (GHCziBase.ZMZN a)) =
\ @ a
(f::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a a))
(ds::GHCziBase.ZMZN a) ->
%case ds %of (wild::GHCziBase.ZMZN a)
{GHCziBase.ZC (x::a) (xs::GHCziBase.ZMZN a) ->
Atom.scanl @ a @ a f x xs;
GHCziBase.ZMZN ->
GHCziBase.zdwZMZN @ a};
%rec
{Atom.scanr :: %forall a b . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR b b))
(GHCziPrim.ZLzmzgZR
b
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) (GHCziBase.ZMZN b))) =
\ @ a
@ b
(ds::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR b b))
(q0::b)
(ds1::GHCziBase.ZMZN a) ->
%case ds1 %of (wild::GHCziBase.ZMZN a)
{GHCziBase.ZC (x::a) (xs::GHCziBase.ZMZN a) ->
%let ds2 :: DataziTuple.Z2T (GHCziBase.ZMZN b) b =
%case (Atom.scanr @ a @ b ds q0 xs) %of (wild1::GHCziBase.ZMZN b)
{GHCziBase.ZMZN ->
GHCziErr.irrefutPatError @ (DataziTuple.Z2T (GHCziBase.ZMZN b) b)
("AtomwithPrelude.hs:346|(qs@(q GHC.Base.: _))"::GHCziPrim.Addrzh);
GHCziBase.ZC (q::b) (ds3::GHCziBase.ZMZN b) ->
DataziTuple.zdwZ2T @ (GHCziBase.ZMZN b) @ b wild1 q}
%in GHCziBase.zdwZC @ b
(ds x
(%case ds2 %of (ds3::DataziTuple.Z2T (GHCziBase.ZMZN b) b)
{DataziTuple.Z2T (qs::GHCziBase.ZMZN b) (q::b) ->
q}))
(%case ds2 %of (ds3::DataziTuple.Z2T (GHCziBase.ZMZN b) b)
{DataziTuple.Z2T (qs::GHCziBase.ZMZN b) (q::b) ->
qs});
GHCziBase.ZMZN ->
GHCziBase.zdwZC @ b q0 (GHCziBase.zdwZMZN @ b)}};
%rec
{Atom.scanr1 :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a a))
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) (GHCziBase.ZMZN a)) =
\ @ a
(f::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a a))
(ds::GHCziBase.ZMZN a) ->
%case ds %of (wild::GHCziBase.ZMZN a)
{GHCziBase.ZC (x::a) (ds1::GHCziBase.ZMZN a) ->
%case ds1 %of (wild1::GHCziBase.ZMZN a)
{GHCziBase.ZC (a1::a) (a2::GHCziBase.ZMZN a) ->
%let ds2 :: DataziTuple.Z2T (GHCziBase.ZMZN a) a =
%case (Atom.scanr1 @ a f wild1) %of (wild2::GHCziBase.ZMZN a)
{GHCziBase.ZMZN ->
GHCziErr.irrefutPatError @ (DataziTuple.Z2T (GHCziBase.ZMZN a) a)
("AtomwithPrelude.hs:352|(qs@(q GHC.Base.: _))"::GHCziPrim.Addrzh);
GHCziBase.ZC (q::a) (ds3::GHCziBase.ZMZN a) ->
DataziTuple.zdwZ2T @ (GHCziBase.ZMZN a) @ a wild2 q}
%in GHCziBase.zdwZC @ a
(f x
(%case ds2 %of (ds3::DataziTuple.Z2T (GHCziBase.ZMZN a) a)
{DataziTuple.Z2T (qs::GHCziBase.ZMZN a) (q::a) ->
q}))
(%case ds2 %of (ds3::DataziTuple.Z2T (GHCziBase.ZMZN a) a)
{DataziTuple.Z2T (qs::GHCziBase.ZMZN a) (q::a) ->
qs});
GHCziBase.ZMZN ->
GHCziBase.zdwZC @ a x (GHCziBase.zdwZMZN @ a)};
GHCziBase.ZMZN ->
GHCziBase.zdwZMZN @ a}};
Atom.iterateFB :: %forall t t1 . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR t1 (GHCziPrim.ZLzmzgZR t t))
(GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR t1 t1)
(GHCziPrim.ZLzmzgZR t1 t)) =
\ @ t @ t1 ->
%let %rec
{iterateFB1 :: GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR t1 (GHCziPrim.ZLzmzgZR t t))
(GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR t1 t1)
(GHCziPrim.ZLzmzgZR t1 t)) =
\ (c::GHCziPrim.ZLzmzgZR t1 (GHCziPrim.ZLzmzgZR t t))
(f::GHCziPrim.ZLzmzgZR t1 t1)
(x::t1) ->
c x (iterateFB1 c f (f x))}
%in iterateFB1;
Atom.iterateList :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR a a)
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)) =
\ @ a ->
%let %rec
{iterateList1 :: GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR a a)
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)) =
\ (f::GHCziPrim.ZLzmzgZR a a) (x::a) ->
GHCziBase.zdwZC @ a x (iterateList1 f (f x))}
%in iterateList1;
Atom.iterate :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR a a)
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)) =
\ @ a -> Atom.iterateList @ a;
Atom.repeatList :: %forall a . GHCziPrim.ZLzmzgZR
a
(GHCziBase.ZMZN a) =
\ @ a (x::a) ->
%let %rec
{xs :: GHCziBase.ZMZN a = GHCziBase.zdwZC @ a x xs}
%in xs;
Atom.repeatFB :: %forall t t1 . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR t1 (GHCziPrim.ZLzmzgZR t t))
(GHCziPrim.ZLzmzgZR t1 t) =
\ @ t
@ t1
(c::GHCziPrim.ZLzmzgZR t1 (GHCziPrim.ZLzmzgZR t t))
(x::t1) ->
%let %rec
{xs :: t = c x xs}
%in xs;
Atom.repeat :: %forall a . GHCziPrim.ZLzmzgZR
a
(GHCziBase.ZMZN a) =
\ @ a -> Atom.repeatList @ a;
%rec
{Atom.takeWhile :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR a GHCziBase.Bool)
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) (GHCziBase.ZMZN a)) =
\ @ a
(ds::GHCziPrim.ZLzmzgZR a GHCziBase.Bool)
(ds1::GHCziBase.ZMZN a) ->
%case ds1 %of (wild::GHCziBase.ZMZN a)
{GHCziBase.ZC (x::a) (xs::GHCziBase.ZMZN a) ->
%case (ds x) %of (wild1::GHCziBase.Bool)
{GHCziBase.True ->
GHCziBase.zdwZC @ a x (Atom.takeWhile @ a ds xs);
GHCziBase.False ->
GHCziBase.zdwZMZN @ a};
GHCziBase.ZMZN ->
GHCziBase.zdwZMZN @ a}};
%rec
{Atom.dropWhile :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR a GHCziBase.Bool)
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) (GHCziBase.ZMZN a)) =
\ @ a
(ds::GHCziPrim.ZLzmzgZR a GHCziBase.Bool)
(ds1::GHCziBase.ZMZN a) ->
%case ds1 %of (wild::GHCziBase.ZMZN a)
{GHCziBase.ZC (x::a) (xszq::GHCziBase.ZMZN a) ->
%case (ds x) %of (wild1::GHCziBase.Bool)
{GHCziBase.True ->
Atom.dropWhile @ a ds xszq;
GHCziBase.False ->
wild};
GHCziBase.ZMZN ->
GHCziBase.zdwZMZN @ a}};
%rec
{Atom.span :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR a GHCziBase.Bool)
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(DataziTuple.Z2T (GHCziBase.ZMZN a) (GHCziBase.ZMZN a))) =
\ @ a
(ds::GHCziPrim.ZLzmzgZR a GHCziBase.Bool)
(xs::GHCziBase.ZMZN a) ->
%case xs %of (wild::GHCziBase.ZMZN a)
{GHCziBase.ZC (x::a) (xszq::GHCziBase.ZMZN a) ->
%case (ds x) %of (wild1::GHCziBase.Bool)
{GHCziBase.True ->
%let ds1 :: DataziTuple.Z2T (GHCziBase.ZMZN a) (GHCziBase.ZMZN a) =
Atom.span @ a ds xszq
%in DataziTuple.zdwZ2T @ (GHCziBase.ZMZN a) @ (GHCziBase.ZMZN a)
(GHCziBase.zdwZC @ a x
(%case ds1
%of (wild2::DataziTuple.Z2T (GHCziBase.ZMZN a) (GHCziBase.ZMZN a))
{DataziTuple.Z2T (ys::GHCziBase.ZMZN a) (zzs::GHCziBase.ZMZN a) ->
ys}))
(%case ds1
%of (wild2::DataziTuple.Z2T (GHCziBase.ZMZN a) (GHCziBase.ZMZN a))
{DataziTuple.Z2T (ys::GHCziBase.ZMZN a) (zzs::GHCziBase.ZMZN a) ->
zzs});
GHCziBase.False ->
DataziTuple.zdwZ2T @ (GHCziBase.ZMZN a) @ (GHCziBase.ZMZN a)
(GHCziBase.zdwZMZN @ a) wild};
GHCziBase.ZMZN ->
DataziTuple.zdwZ2T @ (GHCziBase.ZMZN a) @ (GHCziBase.ZMZN a)
(GHCziBase.zdwZMZN @ a) (GHCziBase.zdwZMZN @ a)}};
Atom.break :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR a GHCziBase.Bool)
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(DataziTuple.Z2T (GHCziBase.ZMZN a) (GHCziBase.ZMZN a))) =
\ @ a (p::GHCziPrim.ZLzmzgZR a GHCziBase.Bool) ->
Atom.span @ a
(GHCziBase.zi @ GHCziBase.Bool @ GHCziBase.Bool @ a GHCziBase.not
p);
Atom.lookup :: %forall a b . GHCziPrim.ZLzmzgZR
(GHCziBase.ZCTEq a)
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN (DataziTuple.Z2T a b))
(DataziMaybe.Maybe b))) =
\ @ a
@ b
(zddEq::GHCziBase.ZCTEq a)
(eta::a)
(eta1::GHCziBase.ZMZN (DataziTuple.Z2T a b)) ->
%let %rec
{lookup1 :: GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN (DataziTuple.Z2T a b))
(DataziMaybe.Maybe b)) =
\ (zukey::a) (ds::GHCziBase.ZMZN (DataziTuple.Z2T a b)) ->
%case ds %of (wild::GHCziBase.ZMZN (DataziTuple.Z2T a b))
{GHCziBase.ZC
(ds1::DataziTuple.Z2T a b)
(xys::GHCziBase.ZMZN (DataziTuple.Z2T a b)) ->
%case ds1 %of (wild1::DataziTuple.Z2T a b)
{DataziTuple.Z2T (x::a) (y::b) ->
%case zddEq %of (tpl::GHCziBase.ZCTEq a)
{GHCziBase.ZCDEq
(tpl1::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a GHCziBase.Bool))
(tpl2::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a GHCziBase.Bool)) ->
%case (tpl2 zukey x) %of (wild2::GHCziBase.Bool)
{GHCziBase.True ->
DataziMaybe.zdwJust @ b y;
GHCziBase.False ->
lookup1 zukey xys}}};
GHCziBase.ZMZN ->
DataziMaybe.zdwNothing @ b}}
%in lookup1 eta eta1;
Atom.foldr2 :: %forall a a1 t . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a1 (GHCziPrim.ZLzmzgZR t t)))
(GHCziPrim.ZLzmzgZR
t
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a1) t))) =
\ @ a @ a1 @ t ->
%let %rec
{foldr21 :: GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a1 (GHCziPrim.ZLzmzgZR t t)))
(GHCziPrim.ZLzmzgZR
t
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a1) t))) =
\ (zuk::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a1 (GHCziPrim.ZLzmzgZR t t)))
(zz::t)
(ds::GHCziBase.ZMZN a)
(zuys::GHCziBase.ZMZN a1) ->
%case ds %of (wild::GHCziBase.ZMZN a)
{GHCziBase.ZC (a2::a) (a3::GHCziBase.ZMZN a) ->
%case zuys %of (wild1::GHCziBase.ZMZN a1)
{GHCziBase.ZC (a4::a1) (a5::GHCziBase.ZMZN a1) ->
zuk a2 a4 (foldr21 zuk zz a3 a5);
GHCziBase.ZMZN ->
zz};
GHCziBase.ZMZN ->
zz}}
%in foldr21;
Atom.foldr2zuleft :: %forall t a t1 t2 . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR
t1
(GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR t2 t)))
(GHCziPrim.ZLzmzgZR
t
(GHCziPrim.ZLzmzgZR
t1
(GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) t2)
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) t)))) =
\ @ t
@ a
@ t1
@ t2
(zuk::GHCziPrim.ZLzmzgZR
t1
(GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR t2 t)))
(zz::t)
(zux::t1)
(zur::GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) t2)
(ds::GHCziBase.ZMZN a) ->
%case ds %of (wild::GHCziBase.ZMZN a)
{GHCziBase.ZC (y::a) (ys::GHCziBase.ZMZN a) ->
zuk zux y (zur ys);
GHCziBase.ZMZN ->
zz};
Atom.foldr2zuright :: %forall t a t1 t2 . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR t1 (GHCziPrim.ZLzmzgZR t2 t)))
(GHCziPrim.ZLzmzgZR
t
(GHCziPrim.ZLzmzgZR
t1
(GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) t2)
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) t)))) =
\ @ t
@ a
@ t1
@ t2
(zuk::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR t1 (GHCziPrim.ZLzmzgZR t2 t)))
(zz::t)
(zuy::t1)
(zur::GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) t2)
(ds::GHCziBase.ZMZN a) ->
%case ds %of (wild::GHCziBase.ZMZN a)
{GHCziBase.ZC (x::a) (xs::GHCziBase.ZMZN a) ->
zuk x zuy (zur xs);
GHCziBase.ZMZN ->
zz};
Atom.zzipFB :: %forall t t1 t2 t3 . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR
(DataziTuple.Z2T t2 t3)
(GHCziPrim.ZLzmzgZR t1 t))
(GHCziPrim.ZLzmzgZR
t2
(GHCziPrim.ZLzmzgZR t3 (GHCziPrim.ZLzmzgZR t1 t))) =
\ @ t
@ t1
@ t2
@ t3
(c::GHCziPrim.ZLzmzgZR
(DataziTuple.Z2T t2 t3)
(GHCziPrim.ZLzmzgZR t1 t))
(x::t2)
(y::t3)
(r::t1) ->
c (DataziTuple.zdwZ2T @ t2 @ t3 x y) r;
%rec
{Atom.zzipList :: %forall a b . GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN b)
(GHCziBase.ZMZN (DataziTuple.Z2T a b))) =
\ @ a @ b (ds::GHCziBase.ZMZN a) (ds1::GHCziBase.ZMZN b) ->
%case ds %of (wild::GHCziBase.ZMZN a)
{GHCziBase.ZMZN ->
GHCziBase.zdwZMZN @ (DataziTuple.Z2T a b);
GHCziBase.ZC (a1::a) (as::GHCziBase.ZMZN a) ->
%case ds1 %of (wild1::GHCziBase.ZMZN b)
{GHCziBase.ZMZN ->
GHCziBase.zdwZMZN @ (DataziTuple.Z2T a b);
GHCziBase.ZC (b1::b) (bs::GHCziBase.ZMZN b) ->
GHCziBase.zdwZC @ (DataziTuple.Z2T a b)
(DataziTuple.zdwZ2T @ a @ b a1 b1)
(Atom.zzipList @ a @ b as bs)}}};
Atom.zzip :: %forall a b . GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN b)
(GHCziBase.ZMZN (DataziTuple.Z2T a b))) =
\ @ a @ b -> Atom.zzipList @ a @ b;
%rec
{Atom.zzip3 :: %forall a b c . GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN b)
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN c)
(GHCziBase.ZMZN (DataziTuple.Z3T a b c)))) =
\ @ a
@ b
@ c
(ds::GHCziBase.ZMZN a)
(ds1::GHCziBase.ZMZN b)
(ds2::GHCziBase.ZMZN c) ->
%case ds %of (wild::GHCziBase.ZMZN a)
{GHCziBase.ZMZN ->
GHCziBase.zdwZMZN @ (DataziTuple.Z3T a b c);
GHCziBase.ZC (a1::a) (as::GHCziBase.ZMZN a) ->
%case ds1 %of (wild1::GHCziBase.ZMZN b)
{GHCziBase.ZMZN ->
GHCziBase.zdwZMZN @ (DataziTuple.Z3T a b c);
GHCziBase.ZC (b1::b) (bs::GHCziBase.ZMZN b) ->
%case ds2 %of (wild2::GHCziBase.ZMZN c)
{GHCziBase.ZMZN ->
GHCziBase.zdwZMZN @ (DataziTuple.Z3T a b c);
GHCziBase.ZC (c1::c) (cs::GHCziBase.ZMZN c) ->
GHCziBase.zdwZC @ (DataziTuple.Z3T a b c)
(DataziTuple.zdwZ3T @ a @ b @ c a1 b1 c1)
(Atom.zzip3 @ a @ b @ c as bs cs)}}}};
Atom.zzipWithFB :: %forall t t1 t2 t3 t4 . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR t1 (GHCziPrim.ZLzmzgZR t2 t))
(GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR t3 (GHCziPrim.ZLzmzgZR t4 t1))
(GHCziPrim.ZLzmzgZR
t3
(GHCziPrim.ZLzmzgZR t4 (GHCziPrim.ZLzmzgZR t2 t)))) =
\ @ t
@ t1
@ t2
@ t3
@ t4
(c::GHCziPrim.ZLzmzgZR t1 (GHCziPrim.ZLzmzgZR t2 t))
(f::GHCziPrim.ZLzmzgZR t3 (GHCziPrim.ZLzmzgZR t4 t1))
(x::t3)
(y::t4)
(r::t2) ->
c (f x y) r;
%rec
{Atom.zzipWithList :: %forall a b c . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR b c))
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN b)
(GHCziBase.ZMZN c))) =
\ @ a
@ b
@ c
(f::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR b c))
(ds::GHCziBase.ZMZN a)
(ds1::GHCziBase.ZMZN b) ->
%case ds %of (wild::GHCziBase.ZMZN a)
{GHCziBase.ZMZN ->
GHCziBase.zdwZMZN @ c;
GHCziBase.ZC (a1::a) (as::GHCziBase.ZMZN a) ->
%case ds1 %of (wild1::GHCziBase.ZMZN b)
{GHCziBase.ZMZN ->
GHCziBase.zdwZMZN @ c;
GHCziBase.ZC (b1::b) (bs::GHCziBase.ZMZN b) ->
GHCziBase.zdwZC @ c (f a1 b1)
(Atom.zzipWithList @ a @ b @ c f as bs)}}};
Atom.zzipWith :: %forall a b c . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR b c))
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN b) (GHCziBase.ZMZN c))) =
\ @ a @ b @ c -> Atom.zzipWithList @ a @ b @ c;
%rec
{Atom.zzipWith3 :: %forall a b c d . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR b (GHCziPrim.ZLzmzgZR c d)))
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN b)
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN c)
(GHCziBase.ZMZN d)))) =
\ @ a
@ b
@ c
@ d
(zz::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR b (GHCziPrim.ZLzmzgZR c d)))
(ds::GHCziBase.ZMZN a)
(ds1::GHCziBase.ZMZN b)
(ds2::GHCziBase.ZMZN c) ->
%case ds %of (wild::GHCziBase.ZMZN a)
{GHCziBase.ZMZN ->
GHCziBase.zdwZMZN @ d;
GHCziBase.ZC (a1::a) (as::GHCziBase.ZMZN a) ->
%case ds1 %of (wild1::GHCziBase.ZMZN b)
{GHCziBase.ZMZN ->
GHCziBase.zdwZMZN @ d;
GHCziBase.ZC (b1::b) (bs::GHCziBase.ZMZN b) ->
%case ds2 %of (wild2::GHCziBase.ZMZN c)
{GHCziBase.ZMZN ->
GHCziBase.zdwZMZN @ d;
GHCziBase.ZC (c1::c) (cs::GHCziBase.ZMZN c) ->
GHCziBase.zdwZC @ d (zz a1 b1 c1)
(Atom.zzipWith3 @ a @ b @ c @ d zz as bs cs)}}}};
Atom.unzzip :: %forall a b . GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN (DataziTuple.Z2T a b))
(DataziTuple.Z2T (GHCziBase.ZMZN a) (GHCziBase.ZMZN b)) =
\ @ a @ b ->
GHCziBase.foldr @ (DataziTuple.Z2T a b)
@ (DataziTuple.Z2T (GHCziBase.ZMZN a) (GHCziBase.ZMZN b))
(\ (ds::DataziTuple.Z2T a b)
(ds1::DataziTuple.Z2T (GHCziBase.ZMZN a) (GHCziBase.ZMZN b)) ->
%case ds %of (wild::DataziTuple.Z2T a b)
{DataziTuple.Z2T (a1::a) (b1::b) ->
DataziTuple.zdwZ2T @ (GHCziBase.ZMZN a) @ (GHCziBase.ZMZN b)
(GHCziBase.zdwZC @ a a1
(%case ds1
%of (wild1::DataziTuple.Z2T (GHCziBase.ZMZN a) (GHCziBase.ZMZN b))
{DataziTuple.Z2T (as::GHCziBase.ZMZN a) (bs::GHCziBase.ZMZN b) ->
as}))
(GHCziBase.zdwZC @ b b1
(%case ds1
%of (wild1::DataziTuple.Z2T (GHCziBase.ZMZN a) (GHCziBase.ZMZN b))
{DataziTuple.Z2T (as::GHCziBase.ZMZN a) (bs::GHCziBase.ZMZN b) ->
bs}))})
(DataziTuple.zdwZ2T @ (GHCziBase.ZMZN a) @ (GHCziBase.ZMZN b)
(GHCziBase.zdwZMZN @ a) (GHCziBase.zdwZMZN @ b));
Atom.unzzip3 :: %forall a b c . GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN (DataziTuple.Z3T a b c))
(DataziTuple.Z3T
(GHCziBase.ZMZN a)
(GHCziBase.ZMZN b)
(GHCziBase.ZMZN c)) =
\ @ a @ b @ c ->
GHCziBase.foldr @ (DataziTuple.Z3T a b c)
@ (DataziTuple.Z3T
(GHCziBase.ZMZN a)
(GHCziBase.ZMZN b)
(GHCziBase.ZMZN c))
(\ (ds::DataziTuple.Z3T a b c)
(ds1::DataziTuple.Z3T
(GHCziBase.ZMZN a)
(GHCziBase.ZMZN b)
(GHCziBase.ZMZN c)) ->
%case ds %of (wild::DataziTuple.Z3T a b c)
{DataziTuple.Z3T (a1::a) (b1::b) (c1::c) ->
DataziTuple.zdwZ3T @ (GHCziBase.ZMZN a) @ (GHCziBase.ZMZN b)
@ (GHCziBase.ZMZN c)
(GHCziBase.zdwZC @ a a1
(%case ds1
%of (wild1::DataziTuple.Z3T
(GHCziBase.ZMZN a)
(GHCziBase.ZMZN b)
(GHCziBase.ZMZN c))
{DataziTuple.Z3T
(as::GHCziBase.ZMZN a)
(bs::GHCziBase.ZMZN b)
(cs::GHCziBase.ZMZN c) ->
as}))
(GHCziBase.zdwZC @ b b1
(%case ds1
%of (wild1::DataziTuple.Z3T
(GHCziBase.ZMZN a)
(GHCziBase.ZMZN b)
(GHCziBase.ZMZN c))
{DataziTuple.Z3T
(as::GHCziBase.ZMZN a)
(bs::GHCziBase.ZMZN b)
(cs::GHCziBase.ZMZN c) ->
bs}))
(GHCziBase.zdwZC @ c c1
(%case ds1
%of (wild1::DataziTuple.Z3T
(GHCziBase.ZMZN a)
(GHCziBase.ZMZN b)
(GHCziBase.ZMZN c))
{DataziTuple.Z3T
(as::GHCziBase.ZMZN a)
(bs::GHCziBase.ZMZN b)
(cs::GHCziBase.ZMZN c) ->
cs}))})
(DataziTuple.zdwZ3T @ (GHCziBase.ZMZN a) @ (GHCziBase.ZMZN b)
@ (GHCziBase.ZMZN c) (GHCziBase.zdwZMZN @ a)
(GHCziBase.zdwZMZN @ b) (GHCziBase.zdwZMZN @ c));
Atom.append :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) (GHCziBase.ZMZN a)) =
\ @ a (xs::GHCziBase.ZMZN a) (ys::GHCziBase.ZMZN a) ->
GHCziBase.foldr @ a @ (GHCziBase.ZMZN a) (GHCziBase.zdwZC @ a) ys
xs;
Atom.zpzp :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) (GHCziBase.ZMZN a)) =
\ @ a -> Atom.append @ a;
Atom.concat :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN (GHCziBase.ZMZN a))
(GHCziBase.ZMZN a) =
\ @ a ->
GHCziBase.foldr @ (GHCziBase.ZMZN a) @ (GHCziBase.ZMZN a)
(Atom.append @ a) (GHCziBase.zdwZMZN @ a);
Atom.concatMap :: %forall a b . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN b))
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) (GHCziBase.ZMZN b)) =
\ @ a @ b (f::GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN b)) ->
GHCziBase.foldr @ a @ (GHCziBase.ZMZN b)
(GHCziBase.zi @ (GHCziBase.ZMZN b)
@ (GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN b) (GHCziBase.ZMZN b)) @ a
(Atom.append @ b) f)
(GHCziBase.zdwZMZN @ b);
Atom.cycle :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(GHCziBase.ZMZN a) =
\ @ a (ds::GHCziBase.ZMZN a) ->
%case ds %of (wild::GHCziBase.ZMZN a)
{GHCziBase.ZC (a1::a) (a2::GHCziBase.ZMZN a) ->
%let %rec
{xszq :: GHCziBase.ZMZN a = Atom.append @ a wild xszq}
%in xszq;
GHCziBase.ZMZN ->
GHCziErr.error @ (GHCziBase.ZMZN a)
(GHCziBase.unpackCStringzh
("Prelude.cycle: empty list"::GHCziPrim.Addrzh))};
Atom.mapList :: %forall a b . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR a b)
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) (GHCziBase.ZMZN b)) =
\ @ a @ b (f::GHCziPrim.ZLzmzgZR a b) (xs::GHCziBase.ZMZN a) ->
GHCziBase.foldr @ a @ (GHCziBase.ZMZN b)
(\ (x::a) (rest::GHCziBase.ZMZN b) ->
GHCziBase.zdwZC @ b (f x) rest)
(GHCziBase.zdwZMZN @ b) xs;
Atom.map :: %forall a b . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR a b)
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) (GHCziBase.ZMZN b)) =
\ @ a @ b -> Atom.mapList @ a @ b;
Atom.gozuupzucharzufb :: %forall t . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR GHCziBase.Char (GHCziPrim.ZLzmzgZR t t))
(GHCziPrim.ZLzmzgZR
t
(GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziPrim.ZLzmzgZR GHCziPrim.Intzh t)))) =
\ @ t
(c::GHCziPrim.ZLzmzgZR GHCziBase.Char (GHCziPrim.ZLzmzgZR t t))
(n::t)
(x::GHCziPrim.Intzh)
(delta::GHCziPrim.Intzh)
(lim::GHCziPrim.Intzh) ->
%let %rec
{gozuup :: GHCziPrim.ZLzmzgZR GHCziPrim.Intzh t =
\ (x1::GHCziPrim.Intzh) ->
%case (GHCziPrim.zgzh x1 lim) %of (wild::GHCziBase.Bool)
{GHCziBase.True ->
n;
GHCziBase.False ->
c (GHCziBase.zdwCzh (GHCziPrim.chrzh x1))
(gozuup (GHCziPrim.zpzh x1 delta))}}
%in gozuup x;
Atom.gozudnzucharzufb :: %forall t . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR GHCziBase.Char (GHCziPrim.ZLzmzgZR t t))
(GHCziPrim.ZLzmzgZR
t
(GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziPrim.ZLzmzgZR GHCziPrim.Intzh t)))) =
\ @ t
(c::GHCziPrim.ZLzmzgZR GHCziBase.Char (GHCziPrim.ZLzmzgZR t t))
(n::t)
(x::GHCziPrim.Intzh)
(delta::GHCziPrim.Intzh)
(lim::GHCziPrim.Intzh) ->
%let %rec
{gozudn :: GHCziPrim.ZLzmzgZR GHCziPrim.Intzh t =
\ (x1::GHCziPrim.Intzh) ->
%case (GHCziPrim.zlzh x1 lim) %of (wild::GHCziBase.Bool)
{GHCziBase.True ->
n;
GHCziBase.False ->
c (GHCziBase.zdwCzh (GHCziPrim.chrzh x1))
(gozudn (GHCziPrim.zpzh x1 delta))}}
%in gozudn x;
Atom.sum :: %forall b . GHCziPrim.ZLzmzgZR
(GHCziNum.ZCTNum b)
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN b) b) =
\ @ b (zddNum::GHCziNum.ZCTNum b) ->
%let zp :: GHCziPrim.ZLzmzgZR b (GHCziPrim.ZLzmzgZR b b) =
%case zddNum %of (tpl::GHCziNum.ZCTNum b)
{GHCziNum.ZCDNum
(tpl1::GHCziBase.ZCTEq b)
(tpl2::GHCziShow.ZCTShow b)
(tpl3::GHCziPrim.ZLzmzgZR b (GHCziPrim.ZLzmzgZR b b))
(tpl4::GHCziPrim.ZLzmzgZR b (GHCziPrim.ZLzmzgZR b b))
(tpl5::GHCziPrim.ZLzmzgZR b (GHCziPrim.ZLzmzgZR b b))
(tpl6::GHCziPrim.ZLzmzgZR b b)
(tpl7::GHCziPrim.ZLzmzgZR b b)
(tpl8::GHCziPrim.ZLzmzgZR b b)
(tpl9::GHCziPrim.ZLzmzgZR GHCziNum.Integer b) ->
tpl5}
%in %let lit :: b =
%case zddNum %of (tpl::GHCziNum.ZCTNum b)
{GHCziNum.ZCDNum
(tpl1::GHCziBase.ZCTEq b)
(tpl2::GHCziShow.ZCTShow b)
(tpl3::GHCziPrim.ZLzmzgZR b (GHCziPrim.ZLzmzgZR b b))
(tpl4::GHCziPrim.ZLzmzgZR b (GHCziPrim.ZLzmzgZR b b))
(tpl5::GHCziPrim.ZLzmzgZR b (GHCziPrim.ZLzmzgZR b b))
(tpl6::GHCziPrim.ZLzmzgZR b b)
(tpl7::GHCziPrim.ZLzmzgZR b b)
(tpl8::GHCziPrim.ZLzmzgZR b b)
(tpl9::GHCziPrim.ZLzmzgZR GHCziNum.Integer b) ->
tpl9 (GHCziNum.zdwSzh (0::GHCziPrim.Intzh))}
%in \ (l::GHCziBase.ZMZN b) -> GHCziBase.foldr @ b @ b zp lit l;
Atom.flip :: %forall a b c . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR b c))
(GHCziPrim.ZLzmzgZR b (GHCziPrim.ZLzmzgZR a c)) =
\ @ a
@ b
@ c
(f::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR b c))
(x::b)
(y::a) ->
f y x;
Atom.reverse :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(GHCziBase.ZMZN a) =
\ @ a ->
Atom.foldl @ (GHCziBase.ZMZN a) @ a
(Atom.flip @ a @ (GHCziBase.ZMZN a) @ (GHCziBase.ZMZN a)
(GHCziBase.zdwZC @ a))
(GHCziBase.zdwZMZN @ a);
%rec
{Atom.deleteBy :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a GHCziBase.Bool))
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) (GHCziBase.ZMZN a))) =
\ @ a
(eq::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a GHCziBase.Bool))
(x::a)
(ds::GHCziBase.ZMZN a) ->
%case ds %of (wild::GHCziBase.ZMZN a)
{GHCziBase.ZC (y::a) (ys::GHCziBase.ZMZN a) ->
%case (eq x y) %of (wild1::GHCziBase.Bool)
{GHCziBase.True ->
ys;
GHCziBase.False ->
GHCziBase.zdwZC @ a y (Atom.deleteBy @ a eq x ys)};
GHCziBase.ZMZN ->
GHCziBase.zdwZMZN @ a}};
Atom.delete :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziBase.ZCTEq a)
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) (GHCziBase.ZMZN a))) =
\ @ a
(zddEq::GHCziBase.ZCTEq a)
(eta::a)
(eta1::GHCziBase.ZMZN a) ->
Atom.deleteBy @ a
(%case zddEq %of (tpl::GHCziBase.ZCTEq a)
{GHCziBase.ZCDEq
(tpl1::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a GHCziBase.Bool))
(tpl2::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a GHCziBase.Bool)) ->
tpl2})
eta eta1;
Atom.zrzr :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziBase.ZCTEq a)
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) (GHCziBase.ZMZN a))) =
\ @ a
(zddEq::GHCziBase.ZCTEq a)
(eta::GHCziBase.ZMZN a)
(eta1::GHCziBase.ZMZN a) ->
Atom.foldl @ (GHCziBase.ZMZN a) @ a
(Atom.flip @ a @ (GHCziBase.ZMZN a) @ (GHCziBase.ZMZN a)
(Atom.delete @ a zddEq))
eta eta1;
lit :: GHCziFloat.Float =
GHCziFloat.zdwFzh (1.0::GHCziPrim.Floatzh);
lit1 :: GHCziBase.Int =
GHCziBase.zdwIzh (999999999::GHCziPrim.Intzh);
lit2 :: GHCziBase.Int = GHCziBase.zdwIzh (1::GHCziPrim.Intzh);
lit3 :: GHCziBase.Int = GHCziBase.zdwIzh (0::GHCziPrim.Intzh);
zizt1 :: GHCziPrim.ZLzmzgZR
GHCziFloat.Float
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziFloat.Float)
(GHCziBase.ZMZN GHCziFloat.Float)) =
Atom.zizt @ GHCziFloat.Float GHCziFloat.zdfNumFloat;
zddShow :: GHCziShow.ZCTShow GHCziFloat.Float =
%case GHCziFloat.zdfNumFloat
%of (tpl::GHCziNum.ZCTNum GHCziFloat.Float)
{GHCziNum.ZCDNum
(tpl1::GHCziBase.ZCTEq GHCziFloat.Float)
(tpl2::GHCziShow.ZCTShow GHCziFloat.Float)
(tpl3::GHCziPrim.ZLzmzgZR
GHCziFloat.Float
(GHCziPrim.ZLzmzgZR GHCziFloat.Float GHCziFloat.Float))
(tpl4::GHCziPrim.ZLzmzgZR
GHCziFloat.Float
(GHCziPrim.ZLzmzgZR GHCziFloat.Float GHCziFloat.Float))
(tpl5::GHCziPrim.ZLzmzgZR
GHCziFloat.Float
(GHCziPrim.ZLzmzgZR GHCziFloat.Float GHCziFloat.Float))
(tpl6::GHCziPrim.ZLzmzgZR GHCziFloat.Float GHCziFloat.Float)
(tpl7::GHCziPrim.ZLzmzgZR GHCziFloat.Float GHCziFloat.Float)
(tpl8::GHCziPrim.ZLzmzgZR GHCziFloat.Float GHCziFloat.Float)
(tpl9::GHCziPrim.ZLzmzgZR GHCziNum.Integer GHCziFloat.Float) ->
tpl2};
zddEq :: GHCziBase.ZCTEq GHCziBase.Int =
%case GHCziBase.zdfOrdInt %of (tpl::GHCziBase.ZCTOrd GHCziBase.Int)
{GHCziBase.ZCDOrd
(tpl1::GHCziBase.ZCTEq GHCziBase.Int)
(tpl2::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Ordering))
(tpl3::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Bool))
(tpl4::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Bool))
(tpl5::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Bool))
(tpl6::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Bool))
(tpl7::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int))
(tpl8::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int)) ->
tpl1};
zeze :: GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Bool) =
%case zddEq %of (tpl::GHCziBase.ZCTEq GHCziBase.Int)
{GHCziBase.ZCDEq
(tpl1::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Bool))
(tpl2::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Bool)) ->
tpl2};
zlze :: GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Bool) =
%case GHCziBase.zdfOrdInt %of (tpl::GHCziBase.ZCTOrd GHCziBase.Int)
{GHCziBase.ZCDOrd
(tpl1::GHCziBase.ZCTEq GHCziBase.Int)
(tpl2::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Ordering))
(tpl3::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Bool))
(tpl4::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Bool))
(tpl5::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Bool))
(tpl6::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Bool))
(tpl7::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int))
(tpl8::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int)) ->
tpl3};
enumFromTo1 :: GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int (GHCziBase.ZMZN GHCziBase.Int)) =
%case GHCziEnum.zdfEnumInt
%of (tpl::GHCziEnum.ZCTEnum GHCziBase.Int)
{GHCziEnum.ZCDEnum
(tpl1::GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int)
(tpl2::GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int)
(tpl3::GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int)
(tpl4::GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int)
(tpl5::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziBase.ZMZN GHCziBase.Int))
(tpl6::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int (GHCziBase.ZMZN GHCziBase.Int)))
(tpl7::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int (GHCziBase.ZMZN GHCziBase.Int)))
(tpl8::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziBase.ZMZN GHCziBase.Int)))) ->
tpl7};
Atom.zddmenumFromTo :: %forall a . GHCziPrim.ZLzmzgZR
(Atom.ZCTEnum a)
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a))) =
\ @ a (zddEnum::Atom.ZCTEnum a) (eta::a) (eta1::a) ->
%let fromEnum1 :: GHCziPrim.ZLzmzgZR a GHCziBase.Int =
%case zddEnum %of (tpl::Atom.ZCTEnum a)
{Atom.ZCDEnum
(tpl1::GHCziPrim.ZLzmzgZR a a)
(tpl2::GHCziPrim.ZLzmzgZR a a)
(tpl3::GHCziPrim.ZLzmzgZR GHCziBase.Int a)
(tpl4::GHCziPrim.ZLzmzgZR a GHCziBase.Int)
(tpl5::GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a))
(tpl6::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl7::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl8::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))) ->
tpl4}
%in Atom.mapList @ GHCziBase.Int @ a
(%case zddEnum %of (tpl::Atom.ZCTEnum a)
{Atom.ZCDEnum
(tpl1::GHCziPrim.ZLzmzgZR a a)
(tpl2::GHCziPrim.ZLzmzgZR a a)
(tpl3::GHCziPrim.ZLzmzgZR GHCziBase.Int a)
(tpl4::GHCziPrim.ZLzmzgZR a GHCziBase.Int)
(tpl5::GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a))
(tpl6::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl7::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl8::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))) ->
tpl3})
(enumFromTo1 (fromEnum1 eta) (fromEnum1 eta1));
Atom.boundedEnumFrom :: %forall a . GHCziPrim.ZLzmzgZR
(Atom.ZCTEnum a)
(GHCziPrim.ZLzmzgZR
(Atom.ZCTBounded a)
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a))) =
\ @ a
(zddEnum::Atom.ZCTEnum a)
(zddBounded::Atom.ZCTBounded a)
(eta::a) ->
%let fromEnum1 :: GHCziPrim.ZLzmzgZR a GHCziBase.Int =
%case zddEnum %of (tpl::Atom.ZCTEnum a)
{Atom.ZCDEnum
(tpl1::GHCziPrim.ZLzmzgZR a a)
(tpl2::GHCziPrim.ZLzmzgZR a a)
(tpl3::GHCziPrim.ZLzmzgZR GHCziBase.Int a)
(tpl4::GHCziPrim.ZLzmzgZR a GHCziBase.Int)
(tpl5::GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a))
(tpl6::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl7::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl8::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))) ->
tpl4}
%in Atom.mapList @ GHCziBase.Int @ a
(%case zddEnum %of (tpl::Atom.ZCTEnum a)
{Atom.ZCDEnum
(tpl1::GHCziPrim.ZLzmzgZR a a)
(tpl2::GHCziPrim.ZLzmzgZR a a)
(tpl3::GHCziPrim.ZLzmzgZR GHCziBase.Int a)
(tpl4::GHCziPrim.ZLzmzgZR a GHCziBase.Int)
(tpl5::GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a))
(tpl6::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl7::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl8::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))) ->
tpl3})
(enumFromTo1 (fromEnum1 eta)
(fromEnum1
(GHCziBase.asTypeOf @ a
(%case zddBounded %of (tpl::Atom.ZCTBounded a)
{Atom.ZCDBounded (tpl1::a) (tpl2::a) ->
tpl1})
eta)));
enumFrom1 :: GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziBase.ZMZN GHCziBase.Int) =
%case GHCziEnum.zdfEnumInt
%of (tpl::GHCziEnum.ZCTEnum GHCziBase.Int)
{GHCziEnum.ZCDEnum
(tpl1::GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int)
(tpl2::GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int)
(tpl3::GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int)
(tpl4::GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int)
(tpl5::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziBase.ZMZN GHCziBase.Int))
(tpl6::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int (GHCziBase.ZMZN GHCziBase.Int)))
(tpl7::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int (GHCziBase.ZMZN GHCziBase.Int)))
(tpl8::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziBase.ZMZN GHCziBase.Int)))) ->
tpl5};
Atom.zddmenumFrom :: %forall a . GHCziPrim.ZLzmzgZR
(Atom.ZCTEnum a)
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)) =
\ @ a (zddEnum::Atom.ZCTEnum a) (eta::a) ->
Atom.mapList @ GHCziBase.Int @ a
(%case zddEnum %of (tpl::Atom.ZCTEnum a)
{Atom.ZCDEnum
(tpl1::GHCziPrim.ZLzmzgZR a a)
(tpl2::GHCziPrim.ZLzmzgZR a a)
(tpl3::GHCziPrim.ZLzmzgZR GHCziBase.Int a)
(tpl4::GHCziPrim.ZLzmzgZR a GHCziBase.Int)
(tpl5::GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a))
(tpl6::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl7::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl8::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))) ->
tpl3})
(enumFrom1
(%case zddEnum %of (tpl::Atom.ZCTEnum a)
{Atom.ZCDEnum
(tpl1::GHCziPrim.ZLzmzgZR a a)
(tpl2::GHCziPrim.ZLzmzgZR a a)
(tpl3::GHCziPrim.ZLzmzgZR GHCziBase.Int a)
(tpl4::GHCziPrim.ZLzmzgZR a GHCziBase.Int)
(tpl5::GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a))
(tpl6::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl7::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl8::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))) ->
tpl4 eta}));
Atom.zddmenumFromThen :: %forall a . GHCziPrim.ZLzmzgZR
(Atom.ZCTEnum a)
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a))) =
\ @ a (zddEnum::Atom.ZCTEnum a) (eta::a) (eta1::a) ->
%let fromEnum1 :: GHCziPrim.ZLzmzgZR a GHCziBase.Int =
%case zddEnum %of (tpl::Atom.ZCTEnum a)
{Atom.ZCDEnum
(tpl1::GHCziPrim.ZLzmzgZR a a)
(tpl2::GHCziPrim.ZLzmzgZR a a)
(tpl3::GHCziPrim.ZLzmzgZR GHCziBase.Int a)
(tpl4::GHCziPrim.ZLzmzgZR a GHCziBase.Int)
(tpl5::GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a))
(tpl6::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl7::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl8::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))) ->
tpl4}
%in Atom.mapList @ GHCziBase.Int @ a
(%case zddEnum %of (tpl::Atom.ZCTEnum a)
{Atom.ZCDEnum
(tpl1::GHCziPrim.ZLzmzgZR a a)
(tpl2::GHCziPrim.ZLzmzgZR a a)
(tpl3::GHCziPrim.ZLzmzgZR GHCziBase.Int a)
(tpl4::GHCziPrim.ZLzmzgZR a GHCziBase.Int)
(tpl5::GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a))
(tpl6::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl7::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl8::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))) ->
tpl3})
(%case GHCziEnum.zdfEnumInt
%of (tpl::GHCziEnum.ZCTEnum GHCziBase.Int)
{GHCziEnum.ZCDEnum
(tpl1::GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int)
(tpl2::GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int)
(tpl3::GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int)
(tpl4::GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int)
(tpl5::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziBase.ZMZN GHCziBase.Int))
(tpl6::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int (GHCziBase.ZMZN GHCziBase.Int)))
(tpl7::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int (GHCziBase.ZMZN GHCziBase.Int)))
(tpl8::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziBase.ZMZN GHCziBase.Int)))) ->
tpl6 (fromEnum1 eta) (fromEnum1 eta1)});
enumFromThenTo1 :: GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziBase.ZMZN GHCziBase.Int))) =
%case GHCziEnum.zdfEnumInt
%of (tpl::GHCziEnum.ZCTEnum GHCziBase.Int)
{GHCziEnum.ZCDEnum
(tpl1::GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int)
(tpl2::GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int)
(tpl3::GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int)
(tpl4::GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int)
(tpl5::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziBase.ZMZN GHCziBase.Int))
(tpl6::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int (GHCziBase.ZMZN GHCziBase.Int)))
(tpl7::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int (GHCziBase.ZMZN GHCziBase.Int)))
(tpl8::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziBase.ZMZN GHCziBase.Int)))) ->
tpl8};
Atom.zddmenumFromThenTo :: %forall a . GHCziPrim.ZLzmzgZR
(Atom.ZCTEnum a)
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))) =
\ @ a (zddEnum::Atom.ZCTEnum a) (eta::a) (eta1::a) (eta2::a) ->
%let fromEnum1 :: GHCziPrim.ZLzmzgZR a GHCziBase.Int =
%case zddEnum %of (tpl::Atom.ZCTEnum a)
{Atom.ZCDEnum
(tpl1::GHCziPrim.ZLzmzgZR a a)
(tpl2::GHCziPrim.ZLzmzgZR a a)
(tpl3::GHCziPrim.ZLzmzgZR GHCziBase.Int a)
(tpl4::GHCziPrim.ZLzmzgZR a GHCziBase.Int)
(tpl5::GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a))
(tpl6::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl7::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl8::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))) ->
tpl4}
%in Atom.mapList @ GHCziBase.Int @ a
(%case zddEnum %of (tpl::Atom.ZCTEnum a)
{Atom.ZCDEnum
(tpl1::GHCziPrim.ZLzmzgZR a a)
(tpl2::GHCziPrim.ZLzmzgZR a a)
(tpl3::GHCziPrim.ZLzmzgZR GHCziBase.Int a)
(tpl4::GHCziPrim.ZLzmzgZR a GHCziBase.Int)
(tpl5::GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a))
(tpl6::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl7::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl8::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))) ->
tpl3})
(enumFromThenTo1 (fromEnum1 eta) (fromEnum1 eta1)
(fromEnum1 eta2));
Atom.boundedEnumFromThen :: %forall a . GHCziPrim.ZLzmzgZR
(Atom.ZCTEnum a)
(GHCziPrim.ZLzmzgZR
(Atom.ZCTBounded a)
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))) =
\ @ a
(zddEnum::Atom.ZCTEnum a)
(zddBounded::Atom.ZCTBounded a)
(eta::a)
(eta1::a) ->
%let fromEnum1 :: GHCziPrim.ZLzmzgZR a GHCziBase.Int =
%case zddEnum %of (tpl::Atom.ZCTEnum a)
{Atom.ZCDEnum
(tpl1::GHCziPrim.ZLzmzgZR a a)
(tpl2::GHCziPrim.ZLzmzgZR a a)
(tpl3::GHCziPrim.ZLzmzgZR GHCziBase.Int a)
(tpl4::GHCziPrim.ZLzmzgZR a GHCziBase.Int)
(tpl5::GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a))
(tpl6::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl7::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl8::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))) ->
tpl4}
%in %let toEnum1 :: GHCziPrim.ZLzmzgZR GHCziBase.Int a =
%case zddEnum %of (tpl::Atom.ZCTEnum a)
{Atom.ZCDEnum
(tpl1::GHCziPrim.ZLzmzgZR a a)
(tpl2::GHCziPrim.ZLzmzgZR a a)
(tpl3::GHCziPrim.ZLzmzgZR GHCziBase.Int a)
(tpl4::GHCziPrim.ZLzmzgZR a GHCziBase.Int)
(tpl5::GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a))
(tpl6::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl7::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl8::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))) ->
tpl3}
%in %let izun1 :: GHCziBase.Int = fromEnum1 eta
%in %let izun2 :: GHCziBase.Int = fromEnum1 eta1
%in %case GHCziBase.zdfOrdInt
%of (tpl::GHCziBase.ZCTOrd GHCziBase.Int)
{GHCziBase.ZCDOrd
(tpl1::GHCziBase.ZCTEq GHCziBase.Int)
(tpl2::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Ordering))
(tpl3::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Bool))
(tpl4::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Bool))
(tpl5::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Bool))
(tpl6::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Bool))
(tpl7::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int))
(tpl8::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int)) ->
%case (tpl5 izun2 izun1) %of (wild::GHCziBase.Bool)
{GHCziBase.True ->
Atom.mapList @ GHCziBase.Int @ a toEnum1
(enumFromThenTo1 izun1 izun2
(fromEnum1
(GHCziBase.asTypeOf @ a
(%case zddBounded %of (tpl9::Atom.ZCTBounded a)
{Atom.ZCDBounded (tpl10::a) (tpl11::a) ->
tpl10})
eta)));
GHCziBase.False ->
Atom.mapList @ GHCziBase.Int @ a toEnum1
(enumFromThenTo1 izun1 izun2
(fromEnum1
(GHCziBase.asTypeOf @ a
(%case zddBounded %of (tpl9::Atom.ZCTBounded a)
{Atom.ZCDBounded (tpl10::a) (tpl11::a) ->
tpl11})
eta)))}};
Atom.maxInt :: GHCziBase.Int =
%case GHCziNum.zdfNumInt %of (tpl::GHCziNum.ZCTNum GHCziBase.Int)
{GHCziNum.ZCDNum
(tpl1::GHCziBase.ZCTEq GHCziBase.Int)
(tpl2::GHCziShow.ZCTShow GHCziBase.Int)
(tpl3::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int))
(tpl4::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int))
(tpl5::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int))
(tpl6::GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int)
(tpl7::GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int)
(tpl8::GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int)
(tpl9::GHCziPrim.ZLzmzgZR GHCziNum.Integer GHCziBase.Int) ->
tpl9
(GHCziNum.plusInteger
(GHCziNum.zdwSzh (1410065411::GHCziPrim.Intzh))
(GHCziNum.timesInteger (GHCziNum.zdwSzh (4::GHCziPrim.Intzh))
(GHCziNum.zdwSzh (2147483647::GHCziPrim.Intzh))))};
zm :: GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int) =
%case GHCziNum.zdfNumInt %of (tpl::GHCziNum.ZCTNum GHCziBase.Int)
{GHCziNum.ZCDNum
(tpl1::GHCziBase.ZCTEq GHCziBase.Int)
(tpl2::GHCziShow.ZCTShow GHCziBase.Int)
(tpl3::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int))
(tpl4::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int))
(tpl5::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int))
(tpl6::GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int)
(tpl7::GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int)
(tpl8::GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int)
(tpl9::GHCziPrim.ZLzmzgZR GHCziNum.Integer GHCziBase.Int) ->
tpl3};
%rec
{Atom.take :: %forall a . GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) (GHCziBase.ZMZN a)) =
\ @ a (n::GHCziBase.Int) (ds::GHCziBase.ZMZN a) ->
%case (zlze n lit3) %of (wild::GHCziBase.Bool)
{GHCziBase.True ->
GHCziBase.zdwZMZN @ a;
GHCziBase.False ->
%case ds %of (wild1::GHCziBase.ZMZN a)
{GHCziBase.ZC (x::a) (xs::GHCziBase.ZMZN a) ->
GHCziBase.zdwZC @ a x (Atom.take @ a (zm n lit2) xs);
GHCziBase.ZMZN ->
GHCziBase.zdwZMZN @ a}}};
Atom.replicate :: %forall a . GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)) =
\ @ a (n::GHCziBase.Int) (x::a) ->
Atom.take @ a n
(GHCziBase.build @ a
(\ @ b
(c::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR b b))
(zun::b) ->
Atom.repeatFB @ b @ a c x));
%rec
{Atom.drop :: %forall a . GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) (GHCziBase.ZMZN a)) =
\ @ a (n::GHCziBase.Int) (xs::GHCziBase.ZMZN a) ->
%case (zlze n lit3) %of (wild::GHCziBase.Bool)
{GHCziBase.True ->
xs;
GHCziBase.False ->
%case xs %of (wild1::GHCziBase.ZMZN a)
{GHCziBase.ZC (ds::a) (xs1::GHCziBase.ZMZN a) ->
Atom.drop @ a (zm n lit2) xs1;
GHCziBase.ZMZN ->
GHCziBase.zdwZMZN @ a}}};
Atom.splitAt :: %forall a . GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(DataziTuple.Z2T (GHCziBase.ZMZN a) (GHCziBase.ZMZN a))) =
\ @ a (n::GHCziBase.Int) (xs::GHCziBase.ZMZN a) ->
DataziTuple.zdwZ2T @ (GHCziBase.ZMZN a) @ (GHCziBase.ZMZN a)
(Atom.take @ a n xs) (Atom.drop @ a n xs);
%rec
{Atom.znzn :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(GHCziPrim.ZLzmzgZR GHCziBase.Int a) =
\ @ a (xs::GHCziBase.ZMZN a) (n::GHCziBase.Int) ->
%case GHCziBase.zdfOrdInt %of (tpl::GHCziBase.ZCTOrd GHCziBase.Int)
{GHCziBase.ZCDOrd
(tpl1::GHCziBase.ZCTEq GHCziBase.Int)
(tpl2::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Ordering))
(tpl3::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Bool))
(tpl4::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Bool))
(tpl5::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Bool))
(tpl6::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Bool))
(tpl7::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int))
(tpl8::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int)) ->
%case (tpl6 n lit3) %of (wild::GHCziBase.Bool)
{GHCziBase.True ->
GHCziErr.error @ a
(GHCziBase.unpackCStringzh
("Prelude.!!: negative index"::GHCziPrim.Addrzh));
GHCziBase.False ->
%case xs %of (wild1::GHCziBase.ZMZN a)
{GHCziBase.ZC (x::a) (ds::GHCziBase.ZMZN a) ->
%case n %of (wild2::GHCziBase.Int)
{GHCziBase.Izh (ds1::GHCziPrim.Intzh) ->
%case ds1 %of (ds2::GHCziPrim.Intzh)
{%_ ->
Atom.znzn @ a ds (zm wild2 lit2);
(0::GHCziPrim.Intzh) ->
x}};
GHCziBase.ZMZN ->
GHCziErr.error @ a
(GHCziBase.unpackCStringzh
("Prelude.!!: index too large"::GHCziPrim.Addrzh))}}}};
show :: GHCziPrim.ZLzmzgZR
Atom.AtomState
(GHCziBase.ZMZN GHCziBase.Char) =
\ (ds::Atom.AtomState) ->
%case ds %of (wild::Atom.AtomState)
{Atom.State
(pos::GHCziBase.ZMZN GHCziFloat.Float)
(vel::GHCziBase.ZMZN GHCziFloat.Float) ->
%let %rec
{ds1 :: GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziFloat.Float)
(GHCziBase.ZMZN (GHCziBase.ZMZN GHCziBase.Char)) =
\ (ds2::GHCziBase.ZMZN GHCziFloat.Float) ->
%case ds2 %of (ds3::GHCziBase.ZMZN GHCziFloat.Float)
{GHCziBase.ZMZN ->
GHCziBase.zdwZMZN @ (GHCziBase.ZMZN GHCziBase.Char);
GHCziBase.ZC
(ds4::GHCziFloat.Float) (ds5::GHCziBase.ZMZN GHCziFloat.Float) ->
GHCziBase.zdwZC @ (GHCziBase.ZMZN GHCziBase.Char)
(Atom.append @ GHCziBase.Char
(%case zddShow %of (tpl::GHCziShow.ZCTShow GHCziFloat.Float)
{GHCziShow.ZCDShow
(tpl1::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR
GHCziFloat.Float
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziBase.Char)
(GHCziBase.ZMZN GHCziBase.Char))))
(tpl2::GHCziPrim.ZLzmzgZR
GHCziFloat.Float
(GHCziBase.ZMZN GHCziBase.Char))
(tpl3::GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziFloat.Float)
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziBase.Char)
(GHCziBase.ZMZN GHCziBase.Char))) ->
tpl2 ds4})
(GHCziBase.zdwZC @ GHCziBase.Char
(GHCziBase.zdwCzh ('\x09'::GHCziPrim.Charzh))
(GHCziBase.zdwZMZN @ GHCziBase.Char)))
(ds1 ds5)}}
%in Atom.concat @ GHCziBase.Char (ds1 pos)};
showList :: GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN Atom.AtomState)
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziBase.Char)
(GHCziBase.ZMZN GHCziBase.Char)) =
\ (states::GHCziBase.ZMZN Atom.AtomState) ->
%let %rec
{ds :: GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN Atom.AtomState)
(GHCziBase.ZMZN (GHCziBase.ZMZN GHCziBase.Char)) =
\ (ds1::GHCziBase.ZMZN Atom.AtomState) ->
%case ds1 %of (ds2::GHCziBase.ZMZN Atom.AtomState)
{GHCziBase.ZMZN ->
GHCziBase.zdwZMZN @ (GHCziBase.ZMZN GHCziBase.Char);
GHCziBase.ZC
(ds3::Atom.AtomState) (ds4::GHCziBase.ZMZN Atom.AtomState) ->
GHCziBase.zdwZC @ (GHCziBase.ZMZN GHCziBase.Char)
(Atom.append @ GHCziBase.Char (show ds3)
(GHCziBase.zdwZC @ GHCziBase.Char
(GHCziBase.zdwCzh ('\x0a'::GHCziPrim.Charzh))
(GHCziBase.zdwZMZN @ GHCziBase.Char)))
(ds ds4)}}
%in GHCziShow.showString
(Atom.concat @ GHCziBase.Char (ds states));
Atom.zdfBoundedZ0T :: Atom.ZCTBounded GHCziBase.Z0T =
Atom.zdwZCDBounded @ GHCziBase.Z0T GHCziBase.zdwZ0T
GHCziBase.zdwZ0T;
enumFromThenTo2 :: GHCziPrim.ZLzmzgZR
GHCziBase.Z0T
(GHCziPrim.ZLzmzgZR
GHCziBase.Z0T
(GHCziPrim.ZLzmzgZR
GHCziBase.Z0T
(GHCziBase.ZMZN GHCziBase.Z0T))) =
\ (ds::GHCziBase.Z0T) (ds1::GHCziBase.Z0T) (ds2::GHCziBase.Z0T) ->
%case ds %of (wild::GHCziBase.Z0T)
{GHCziBase.Z0T ->
%case ds1 %of (wild1::GHCziBase.Z0T)
{GHCziBase.Z0T ->
%case ds2 %of (wild2::GHCziBase.Z0T)
{GHCziBase.Z0T ->
GHCziBase.zdwZC @ GHCziBase.Z0T GHCziBase.zdwZ0T
(GHCziBase.zdwZMZN @ GHCziBase.Z0T)}}};
enumFromTo2 :: GHCziPrim.ZLzmzgZR
GHCziBase.Z0T
(GHCziPrim.ZLzmzgZR GHCziBase.Z0T (GHCziBase.ZMZN GHCziBase.Z0T)) =
\ (ds::GHCziBase.Z0T) (ds1::GHCziBase.Z0T) ->
%case ds %of (wild::GHCziBase.Z0T)
{GHCziBase.Z0T ->
%case ds1 %of (wild1::GHCziBase.Z0T)
{GHCziBase.Z0T ->
GHCziBase.zdwZC @ GHCziBase.Z0T GHCziBase.zdwZ0T
(GHCziBase.zdwZMZN @ GHCziBase.Z0T)}};
enumFromThen1 :: GHCziPrim.ZLzmzgZR
GHCziBase.Z0T
(GHCziPrim.ZLzmzgZR GHCziBase.Z0T (GHCziBase.ZMZN GHCziBase.Z0T)) =
\ (ds::GHCziBase.Z0T) (ds1::GHCziBase.Z0T) ->
%case ds %of (wild::GHCziBase.Z0T)
{GHCziBase.Z0T ->
%case ds1 %of (wild1::GHCziBase.Z0T)
{GHCziBase.Z0T ->
GHCziBase.zdwZC @ GHCziBase.Z0T GHCziBase.zdwZ0T
(GHCziBase.zdwZMZN @ GHCziBase.Z0T)}};
enumFrom2 :: GHCziPrim.ZLzmzgZR
GHCziBase.Z0T
(GHCziBase.ZMZN GHCziBase.Z0T) =
\ (ds::GHCziBase.Z0T) ->
%case ds %of (wild::GHCziBase.Z0T)
{GHCziBase.Z0T ->
GHCziBase.zdwZC @ GHCziBase.Z0T GHCziBase.zdwZ0T
(GHCziBase.zdwZMZN @ GHCziBase.Z0T)};
succ1 :: GHCziPrim.ZLzmzgZR GHCziBase.Z0T GHCziBase.Z0T =
\ (ds::GHCziBase.Z0T) ->
GHCziErr.error @ GHCziBase.Z0T
(GHCziBase.unpackCStringzh
("Prelude.Enum.().succ: bad argment"::GHCziPrim.Addrzh));
pred1 :: GHCziPrim.ZLzmzgZR GHCziBase.Z0T GHCziBase.Z0T =
\ (ds::GHCziBase.Z0T) ->
GHCziErr.error @ GHCziBase.Z0T
(GHCziBase.unpackCStringzh
("Prelude.Enum.().pred: bad argument"::GHCziPrim.Addrzh));
Atom.zdfBoundedBool :: Atom.ZCTBounded GHCziBase.Bool =
Atom.zdwZCDBounded @ GHCziBase.Bool GHCziBase.zdwTrue
GHCziBase.zdwFalse;
succ2 :: GHCziPrim.ZLzmzgZR GHCziBase.Bool GHCziBase.Bool =
\ (ds::GHCziBase.Bool) ->
%case ds %of (wild::GHCziBase.Bool)
{GHCziBase.False ->
GHCziBase.zdwTrue;
GHCziBase.True ->
GHCziErr.error @ GHCziBase.Bool
(GHCziBase.unpackCStringzh
("Prelude.Enum.Bool.succ: bad argment"::GHCziPrim.Addrzh))};
pred2 :: GHCziPrim.ZLzmzgZR GHCziBase.Bool GHCziBase.Bool =
\ (ds::GHCziBase.Bool) ->
%case ds %of (wild::GHCziBase.Bool)
{GHCziBase.False ->
GHCziErr.error @ GHCziBase.Bool
(GHCziBase.unpackCStringzh
("Prelude.Enum.Bool.pred: bad argment"::GHCziPrim.Addrzh));
GHCziBase.True ->
GHCziBase.zdwFalse};
Atom.zdfBoundedOrdering :: Atom.ZCTBounded GHCziBase.Ordering =
Atom.zdwZCDBounded @ GHCziBase.Ordering GHCziBase.zdwGT
GHCziBase.zdwLT;
succ3 :: GHCziPrim.ZLzmzgZR GHCziBase.Ordering GHCziBase.Ordering =
\ (ds::GHCziBase.Ordering) ->
%case ds %of (wild::GHCziBase.Ordering)
{GHCziBase.EQ ->
GHCziBase.zdwGT;
GHCziBase.GT ->
GHCziErr.error @ GHCziBase.Ordering
(GHCziBase.unpackCStringzh
("Prelude.Enum.Ordering.succ: bad argment"::GHCziPrim.Addrzh));
GHCziBase.LT ->
GHCziBase.zdwEQ};
pred3 :: GHCziPrim.ZLzmzgZR GHCziBase.Ordering GHCziBase.Ordering =
\ (ds::GHCziBase.Ordering) ->
%case ds %of (wild::GHCziBase.Ordering)
{GHCziBase.EQ ->
GHCziBase.zdwLT;
GHCziBase.GT ->
GHCziBase.zdwEQ;
GHCziBase.LT ->
GHCziErr.error @ GHCziBase.Ordering
(GHCziBase.unpackCStringzh
("Prelude.Enum.Ordering.pred: bad argment"::GHCziPrim.Addrzh))};
minBound1 :: GHCziBase.Char =
GHCziBase.zdwCzh ('\x00'::GHCziPrim.Charzh);
maxBound1 :: GHCziBase.Char =
GHCziBase.zdwCzh (1114111::GHCziPrim.Charzh);
Atom.zdfBoundedChar :: Atom.ZCTBounded GHCziBase.Char =
Atom.zdwZCDBounded @ GHCziBase.Char maxBound1 minBound1;
succ4 :: GHCziPrim.ZLzmzgZR GHCziBase.Char GHCziBase.Char =
\ (ds::GHCziBase.Char) ->
%case ds %of (wild::GHCziBase.Char)
{GHCziBase.Czh (czh::GHCziPrim.Charzh) ->
%case (GHCziBase.not
(%case (GHCziPrim.ordzh czh) %of (wild1::GHCziPrim.Intzh)
{%_ ->
GHCziBase.zdwFalse;
(1114111::GHCziPrim.Intzh) ->
GHCziBase.zdwTrue}))
%of (wild1::GHCziBase.Bool)
{GHCziBase.True ->
GHCziBase.zdwCzh
(GHCziPrim.chrzh
(GHCziPrim.zpzh (GHCziPrim.ordzh czh) (1::GHCziPrim.Intzh)));
GHCziBase.False ->
GHCziErr.error @ GHCziBase.Char
(GHCziBase.unpackCStringzh
("Prelude.Enum.Char.succ: bad argument"::GHCziPrim.Addrzh))}};
pred4 :: GHCziPrim.ZLzmzgZR GHCziBase.Char GHCziBase.Char =
\ (ds::GHCziBase.Char) ->
%case ds %of (wild::GHCziBase.Char)
{GHCziBase.Czh (czh::GHCziPrim.Charzh) ->
%case (GHCziBase.not
(%case (GHCziPrim.ordzh czh) %of (wild1::GHCziPrim.Intzh)
{%_ ->
GHCziBase.zdwFalse;
(0::GHCziPrim.Intzh) ->
GHCziBase.zdwTrue}))
%of (wild1::GHCziBase.Bool)
{GHCziBase.True ->
GHCziBase.zdwCzh
(GHCziPrim.chrzh
(GHCziPrim.zmzh (GHCziPrim.ordzh czh) (1::GHCziPrim.Intzh)));
GHCziBase.False ->
GHCziErr.error @ GHCziBase.Char
(GHCziBase.unpackCStringzh
("Prelude.Enum.Char.pred: bad argument"::GHCziPrim.Addrzh))}};
fromEnum1 :: GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int =
\ (x::GHCziBase.Int) -> x;
toEnum1 :: GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int =
\ (x::GHCziBase.Int) -> x;
enumFrom3 :: GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziBase.ZMZN GHCziBase.Int) =
\ (x::GHCziBase.Int) ->
Atom.mapList @ GHCziBase.Int @ GHCziBase.Int toEnum1 (enumFrom1 x);
enumFromTo3 :: GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int (GHCziBase.ZMZN GHCziBase.Int)) =
\ (x::GHCziBase.Int) (y::GHCziBase.Int) ->
Atom.mapList @ GHCziBase.Int @ GHCziBase.Int toEnum1
(enumFromTo1 x y);
enumFromThenTo3 :: GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziBase.ZMZN GHCziBase.Int))) =
\ (x::GHCziBase.Int) (y::GHCziBase.Int) (zz::GHCziBase.Int) ->
Atom.mapList @ GHCziBase.Int @ GHCziBase.Int toEnum1
(enumFromThenTo1 x y zz);
Atom.modIntzh :: GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziPrim.ZLzmzgZR GHCziPrim.Intzh GHCziPrim.Intzh) =
\ (xzh::GHCziPrim.Intzh) (yzh::GHCziPrim.Intzh) ->
%case (GHCziPrim.remIntzh xzh yzh) %of (rzh::GHCziPrim.Intzh)
{%_ ->
%case (GHCziBase.zbzb
(GHCziBase.zaza (GHCziPrim.zgzh xzh (0::GHCziPrim.Intzh))
(GHCziPrim.zlzh yzh (0::GHCziPrim.Intzh)))
(GHCziBase.zaza (GHCziPrim.zlzh xzh (0::GHCziPrim.Intzh))
(GHCziPrim.zgzh yzh (0::GHCziPrim.Intzh))))
%of (wild::GHCziBase.Bool)
{GHCziBase.True ->
%case rzh %of (wild1::GHCziPrim.Intzh)
{%_ ->
GHCziPrim.zpzh wild1 yzh;
(0::GHCziPrim.Intzh) ->
(0::GHCziPrim.Intzh)};
GHCziBase.False ->
rzh}};
Atom.modInt :: GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int) =
\ (ds::GHCziBase.Int) (ds1::GHCziBase.Int) ->
%case ds %of (wild::GHCziBase.Int)
{GHCziBase.Izh (x::GHCziPrim.Intzh) ->
%case ds1 %of (wild1::GHCziBase.Int)
{GHCziBase.Izh (y::GHCziPrim.Intzh) ->
GHCziBase.zdwIzh (Atom.modIntzh x y)}};
Atom.divIntzh :: GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziPrim.ZLzmzgZR GHCziPrim.Intzh GHCziPrim.Intzh) =
\ (xzh::GHCziPrim.Intzh) (yzh::GHCziPrim.Intzh) ->
%case (GHCziBase.zaza (GHCziPrim.zgzh xzh (0::GHCziPrim.Intzh))
(GHCziPrim.zlzh yzh (0::GHCziPrim.Intzh)))
%of (wild::GHCziBase.Bool)
{GHCziBase.True ->
GHCziPrim.quotIntzh
(GHCziPrim.zmzh (GHCziPrim.zmzh xzh yzh) (1::GHCziPrim.Intzh)) yzh;
GHCziBase.False ->
%case (GHCziBase.zaza (GHCziPrim.zlzh xzh (0::GHCziPrim.Intzh))
(GHCziPrim.zgzh yzh (0::GHCziPrim.Intzh)))
%of (wild1::GHCziBase.Bool)
{GHCziBase.True ->
GHCziPrim.quotIntzh
(GHCziPrim.zpzh (GHCziPrim.zmzh xzh yzh) (1::GHCziPrim.Intzh)) yzh;
GHCziBase.False ->
GHCziPrim.quotIntzh xzh yzh}};
Atom.divInt :: GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int) =
\ (ds::GHCziBase.Int) (ds1::GHCziBase.Int) ->
%case ds %of (wild::GHCziBase.Int)
{GHCziBase.Izh (x::GHCziPrim.Intzh) ->
%case ds1 %of (wild1::GHCziBase.Int)
{GHCziBase.Izh (y::GHCziPrim.Intzh) ->
GHCziBase.zdwIzh (Atom.divIntzh x y)}};
Atom.gcdInt :: GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int) =
\ (ds::GHCziBase.Int) (ds1::GHCziBase.Int) ->
%case ds %of (wild::GHCziBase.Int)
{GHCziBase.Izh (a::GHCziPrim.Intzh) ->
%case ds1 %of (wild1::GHCziBase.Int)
{GHCziBase.Izh (b::GHCziPrim.Intzh) ->
%let absInt :: GHCziPrim.ZLzmzgZR GHCziPrim.Intzh GHCziPrim.Intzh =
\ (x::GHCziPrim.Intzh) ->
%case (GHCziPrim.zlzh x (0::GHCziPrim.Intzh))
%of (wild2::GHCziBase.Bool)
{GHCziBase.True ->
GHCziPrim.negateIntzh x;
GHCziBase.False ->
x}
%in %case (absInt a) %of (absA::GHCziPrim.Intzh)
{%_ ->
%case (absInt b) %of (absB::GHCziPrim.Intzh)
{%_ ->
%case a %of (ds2::GHCziPrim.Intzh)
{%_ ->
%case b %of (ds3::GHCziPrim.Intzh)
{%_ ->
GHCziBase.zdwIzh (GHCziPrim.gcdIntzh absA absB);
(0::GHCziPrim.Intzh) ->
GHCziBase.zdwIzh absA};
(0::GHCziPrim.Intzh) ->
%case b %of (ds3::GHCziPrim.Intzh)
{%_ ->
GHCziBase.zdwIzh absB;
(0::GHCziPrim.Intzh) ->
GHCziErr.error @ GHCziBase.Int
(GHCziBase.unpackCStringzh
("PrelBase.gcdInt: gcd 0 0 is undefined"::GHCziPrim.Addrzh))}}}}}};
Atom.minInt :: GHCziBase.Int =
%case GHCziNum.zdfNumInt %of (tpl::GHCziNum.ZCTNum GHCziBase.Int)
{GHCziNum.ZCDNum
(tpl1::GHCziBase.ZCTEq GHCziBase.Int)
(tpl2::GHCziShow.ZCTShow GHCziBase.Int)
(tpl3::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int))
(tpl4::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int))
(tpl5::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int))
(tpl6::GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int)
(tpl7::GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int)
(tpl8::GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int)
(tpl9::GHCziPrim.ZLzmzgZR GHCziNum.Integer GHCziBase.Int) ->
tpl6 lit1};
Atom.zdfBoundedInt :: Atom.ZCTBounded GHCziBase.Int =
Atom.zdwZCDBounded @ GHCziBase.Int Atom.maxInt Atom.minInt;
Atom.twoInt :: GHCziBase.Int =
GHCziBase.zdwIzh (2::GHCziPrim.Intzh);
Atom.oneInt :: GHCziBase.Int =
GHCziBase.zdwIzh (1::GHCziPrim.Intzh);
Atom.zzeroInt :: GHCziBase.Int =
GHCziBase.zdwIzh (0::GHCziPrim.Intzh);
toEnum2 :: GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Ordering =
\ (n::GHCziBase.Int) ->
%case (zeze n Atom.zzeroInt) %of (wild::GHCziBase.Bool)
{GHCziBase.True ->
GHCziBase.zdwLT;
GHCziBase.False ->
%case (zeze n Atom.oneInt) %of (wild1::GHCziBase.Bool)
{GHCziBase.True ->
GHCziBase.zdwEQ;
GHCziBase.False ->
%case (zeze n Atom.twoInt) %of (wild2::GHCziBase.Bool)
{GHCziBase.True ->
GHCziBase.zdwGT;
GHCziBase.False ->
GHCziErr.error @ GHCziBase.Ordering
(GHCziBase.unpackCStringzh
("Prelude.Enum.Ordering.toEnum: bad argment"::GHCziPrim.Addrzh))}}};
fromEnum2 :: GHCziPrim.ZLzmzgZR GHCziBase.Ordering GHCziBase.Int =
\ (ds::GHCziBase.Ordering) ->
%case ds %of (wild::GHCziBase.Ordering)
{GHCziBase.EQ ->
Atom.oneInt;
GHCziBase.GT ->
Atom.twoInt;
GHCziBase.LT ->
Atom.zzeroInt};
toEnum3 :: GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Bool =
\ (n::GHCziBase.Int) ->
%case (zeze n Atom.zzeroInt) %of (wild::GHCziBase.Bool)
{GHCziBase.True ->
GHCziBase.zdwFalse;
GHCziBase.False ->
%case (zeze n Atom.oneInt) %of (wild1::GHCziBase.Bool)
{GHCziBase.True ->
GHCziBase.zdwTrue;
GHCziBase.False ->
GHCziErr.error @ GHCziBase.Bool
(GHCziBase.unpackCStringzh
("Prelude.Enum.Bool.toEnum: bad argment"::GHCziPrim.Addrzh))}};
fromEnum3 :: GHCziPrim.ZLzmzgZR GHCziBase.Bool GHCziBase.Int =
\ (ds::GHCziBase.Bool) ->
%case ds %of (wild::GHCziBase.Bool)
{GHCziBase.False ->
Atom.zzeroInt;
GHCziBase.True ->
Atom.oneInt};
toEnum4 :: GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Z0T =
\ (x::GHCziBase.Int) ->
%case (zeze x Atom.zzeroInt) %of (wild::GHCziBase.Bool)
{GHCziBase.True ->
GHCziBase.zdwZ0T;
GHCziBase.False ->
GHCziErr.error @ GHCziBase.Z0T
(GHCziBase.unpackCStringzh
("Prelude.Enum.().toEnum: bad argument"::GHCziPrim.Addrzh))};
fromEnum4 :: GHCziPrim.ZLzmzgZR GHCziBase.Z0T GHCziBase.Int =
\ (ds::GHCziBase.Z0T) ->
%case ds %of (wild::GHCziBase.Z0T)
{GHCziBase.Z0T ->
Atom.zzeroInt};
Atom.zdfEnumZ0T :: Atom.ZCTEnum GHCziBase.Z0T =
Atom.zdwZCDEnum @ GHCziBase.Z0T pred1 succ1 toEnum4 fromEnum4
enumFrom2 enumFromThen1 enumFromTo2 enumFromThenTo2;
Atom.remInt :: GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int) =
\ (ds::GHCziBase.Int) (ds1::GHCziBase.Int) ->
%case ds %of (wild::GHCziBase.Int)
{GHCziBase.Izh (x::GHCziPrim.Intzh) ->
%case ds1 %of (wild1::GHCziBase.Int)
{GHCziBase.Izh (y::GHCziPrim.Intzh) ->
GHCziBase.zdwIzh (GHCziPrim.remIntzh x y)}};
Atom.quotInt :: GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int) =
\ (ds::GHCziBase.Int) (ds1::GHCziBase.Int) ->
%case ds %of (wild::GHCziBase.Int)
{GHCziBase.Izh (x::GHCziPrim.Intzh) ->
%case ds1 %of (wild1::GHCziBase.Int)
{GHCziBase.Izh (y::GHCziPrim.Intzh) ->
GHCziBase.zdwIzh (GHCziPrim.quotIntzh x y)}};
Atom.timesInt :: GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int) =
\ (ds::GHCziBase.Int) (ds1::GHCziBase.Int) ->
%case ds %of (wild::GHCziBase.Int)
{GHCziBase.Izh (x::GHCziPrim.Intzh) ->
%case ds1 %of (wild1::GHCziBase.Int)
{GHCziBase.Izh (y::GHCziPrim.Intzh) ->
GHCziBase.zdwIzh (GHCziPrim.ztzh x y)}};
Atom.minusInt :: GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int) =
\ (ds::GHCziBase.Int) (ds1::GHCziBase.Int) ->
%case ds %of (wild::GHCziBase.Int)
{GHCziBase.Izh (x::GHCziPrim.Intzh) ->
%case ds1 %of (wild1::GHCziBase.Int)
{GHCziBase.Izh (y::GHCziPrim.Intzh) ->
GHCziBase.zdwIzh (GHCziPrim.zmzh x y)}};
Atom.zddmpred :: %forall a . GHCziPrim.ZLzmzgZR
(Atom.ZCTEnum a)
(GHCziPrim.ZLzmzgZR a a) =
\ @ a (zddEnum::Atom.ZCTEnum a) ->
GHCziBase.zi @ GHCziBase.Int @ a @ a
(%case zddEnum %of (tpl::Atom.ZCTEnum a)
{Atom.ZCDEnum
(tpl1::GHCziPrim.ZLzmzgZR a a)
(tpl2::GHCziPrim.ZLzmzgZR a a)
(tpl3::GHCziPrim.ZLzmzgZR GHCziBase.Int a)
(tpl4::GHCziPrim.ZLzmzgZR a GHCziBase.Int)
(tpl5::GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a))
(tpl6::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl7::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl8::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))) ->
tpl3})
(GHCziBase.zi @ GHCziBase.Int @ GHCziBase.Int @ a
(\ (ds::GHCziBase.Int) -> Atom.minusInt ds Atom.oneInt)
(%case zddEnum %of (tpl::Atom.ZCTEnum a)
{Atom.ZCDEnum
(tpl1::GHCziPrim.ZLzmzgZR a a)
(tpl2::GHCziPrim.ZLzmzgZR a a)
(tpl3::GHCziPrim.ZLzmzgZR GHCziBase.Int a)
(tpl4::GHCziPrim.ZLzmzgZR a GHCziBase.Int)
(tpl5::GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a))
(tpl6::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl7::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl8::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))) ->
tpl4}));
Atom.plusInt :: GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int) =
\ (ds::GHCziBase.Int) (ds1::GHCziBase.Int) ->
%case ds %of (wild::GHCziBase.Int)
{GHCziBase.Izh (x::GHCziPrim.Intzh) ->
%case ds1 %of (wild1::GHCziBase.Int)
{GHCziBase.Izh (y::GHCziPrim.Intzh) ->
GHCziBase.zdwIzh (GHCziPrim.zpzh x y)}};
Atom.zddmsucc :: %forall a . GHCziPrim.ZLzmzgZR
(Atom.ZCTEnum a)
(GHCziPrim.ZLzmzgZR a a) =
\ @ a (zddEnum::Atom.ZCTEnum a) ->
GHCziBase.zi @ GHCziBase.Int @ a @ a
(%case zddEnum %of (tpl::Atom.ZCTEnum a)
{Atom.ZCDEnum
(tpl1::GHCziPrim.ZLzmzgZR a a)
(tpl2::GHCziPrim.ZLzmzgZR a a)
(tpl3::GHCziPrim.ZLzmzgZR GHCziBase.Int a)
(tpl4::GHCziPrim.ZLzmzgZR a GHCziBase.Int)
(tpl5::GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a))
(tpl6::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl7::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl8::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))) ->
tpl3})
(GHCziBase.zi @ GHCziBase.Int @ GHCziBase.Int @ a
(\ (ds::GHCziBase.Int) -> Atom.plusInt ds Atom.oneInt)
(%case zddEnum %of (tpl::Atom.ZCTEnum a)
{Atom.ZCDEnum
(tpl1::GHCziPrim.ZLzmzgZR a a)
(tpl2::GHCziPrim.ZLzmzgZR a a)
(tpl3::GHCziPrim.ZLzmzgZR GHCziBase.Int a)
(tpl4::GHCziPrim.ZLzmzgZR a GHCziBase.Int)
(tpl5::GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a))
(tpl6::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl7::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))
(tpl8::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a (GHCziBase.ZMZN a)))) ->
tpl4}));
Atom.gozudnzucharzulist :: GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziBase.ZMZN GHCziBase.Char))) =
\ (x::GHCziPrim.Intzh)
(delta::GHCziPrim.Intzh)
(lim::GHCziPrim.Intzh) ->
%let %rec
{gozudn :: GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziBase.ZMZN GHCziBase.Char) =
\ (x1::GHCziPrim.Intzh) ->
%case (GHCziPrim.zlzh x1 lim) %of (wild::GHCziBase.Bool)
{GHCziBase.True ->
GHCziBase.zdwZMZN @ GHCziBase.Char;
GHCziBase.False ->
GHCziBase.zdwZC @ GHCziBase.Char
(GHCziBase.zdwCzh (GHCziPrim.chrzh x1))
(gozudn (GHCziPrim.zpzh x1 delta))}}
%in gozudn x;
Atom.gozuupzucharzulist :: GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziBase.ZMZN GHCziBase.Char))) =
\ (x::GHCziPrim.Intzh)
(delta::GHCziPrim.Intzh)
(lim::GHCziPrim.Intzh) ->
%let %rec
{gozuup :: GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziBase.ZMZN GHCziBase.Char) =
\ (x1::GHCziPrim.Intzh) ->
%case (GHCziPrim.zgzh x1 lim) %of (wild::GHCziBase.Bool)
{GHCziBase.True ->
GHCziBase.zdwZMZN @ GHCziBase.Char;
GHCziBase.False ->
GHCziBase.zdwZC @ GHCziBase.Char
(GHCziBase.zdwCzh (GHCziPrim.chrzh x1))
(gozuup (GHCziPrim.zpzh x1 delta))}}
%in gozuup x;
Atom.efdtChar :: GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziBase.ZMZN GHCziBase.Char))) =
\ (x1::GHCziPrim.Intzh)
(x2::GHCziPrim.Intzh)
(lim::GHCziPrim.Intzh) ->
%let delta :: GHCziPrim.Intzh = GHCziPrim.zmzh x2 x1
%in %case (GHCziPrim.zgzezh delta (0::GHCziPrim.Intzh))
%of (wild::GHCziBase.Bool)
{GHCziBase.True ->
Atom.gozuupzucharzulist x1 delta lim;
GHCziBase.False ->
Atom.gozudnzucharzulist x1 delta lim};
Atom.efdtCharList :: GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziBase.ZMZN GHCziBase.Char))) =
Atom.efdtChar;
Atom.efdtCharFB :: %forall t . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR GHCziBase.Char (GHCziPrim.ZLzmzgZR t t))
(GHCziPrim.ZLzmzgZR
t
(GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziPrim.ZLzmzgZR GHCziPrim.Intzh t)))) =
\ @ t
(c::GHCziPrim.ZLzmzgZR GHCziBase.Char (GHCziPrim.ZLzmzgZR t t))
(n::t)
(x1::GHCziPrim.Intzh)
(x2::GHCziPrim.Intzh)
(lim::GHCziPrim.Intzh) ->
%let delta :: GHCziPrim.Intzh = GHCziPrim.zmzh x2 x1
%in %case (GHCziPrim.zgzezh delta (0::GHCziPrim.Intzh))
%of (wild::GHCziBase.Bool)
{GHCziBase.True ->
Atom.gozuupzucharzufb @ t c n x1 delta lim;
GHCziBase.False ->
Atom.gozudnzucharzufb @ t c n x1 delta lim};
enumFromThenTo4 :: GHCziPrim.ZLzmzgZR
GHCziBase.Char
(GHCziPrim.ZLzmzgZR
GHCziBase.Char
(GHCziPrim.ZLzmzgZR
GHCziBase.Char
(GHCziBase.ZMZN GHCziBase.Char))) =
\ (ds::GHCziBase.Char)
(ds1::GHCziBase.Char)
(ds2::GHCziBase.Char) ->
%case ds %of (wild::GHCziBase.Char)
{GHCziBase.Czh (x1::GHCziPrim.Charzh) ->
%case ds1 %of (wild1::GHCziBase.Char)
{GHCziBase.Czh (x2::GHCziPrim.Charzh) ->
%case ds2 %of (wild2::GHCziBase.Char)
{GHCziBase.Czh (y::GHCziPrim.Charzh) ->
GHCziBase.build @ GHCziBase.Char
(\ @ b
(c::GHCziPrim.ZLzmzgZR GHCziBase.Char (GHCziPrim.ZLzmzgZR b b))
(n::b) ->
Atom.efdtCharFB @ b c n (GHCziPrim.ordzh x1) (GHCziPrim.ordzh x2)
(GHCziPrim.ordzh y))}}};
Atom.efdChar :: GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziBase.ZMZN GHCziBase.Char)) =
\ (x1::GHCziPrim.Intzh) (x2::GHCziPrim.Intzh) ->
%let delta :: GHCziPrim.Intzh = GHCziPrim.zmzh x2 x1
%in %case (GHCziPrim.zgzezh delta (0::GHCziPrim.Intzh))
%of (wild::GHCziBase.Bool)
{GHCziBase.True ->
Atom.gozuupzucharzulist x1 delta (1114111::GHCziPrim.Intzh);
GHCziBase.False ->
Atom.gozudnzucharzulist x1 delta (0::GHCziPrim.Intzh)};
Atom.efdCharList :: GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziBase.ZMZN GHCziBase.Char)) =
Atom.efdChar;
Atom.efdCharFB :: %forall t . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR GHCziBase.Char (GHCziPrim.ZLzmzgZR t t))
(GHCziPrim.ZLzmzgZR
t
(GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziPrim.ZLzmzgZR GHCziPrim.Intzh t))) =
\ @ t
(c::GHCziPrim.ZLzmzgZR GHCziBase.Char (GHCziPrim.ZLzmzgZR t t))
(n::t)
(x1::GHCziPrim.Intzh)
(x2::GHCziPrim.Intzh) ->
%let delta :: GHCziPrim.Intzh = GHCziPrim.zmzh x2 x1
%in %case (GHCziPrim.zgzezh delta (0::GHCziPrim.Intzh))
%of (wild::GHCziBase.Bool)
{GHCziBase.True ->
Atom.gozuupzucharzufb @ t c n x1 delta (1114111::GHCziPrim.Intzh);
GHCziBase.False ->
Atom.gozudnzucharzufb @ t c n x1 delta (0::GHCziPrim.Intzh)};
enumFromThen2 :: GHCziPrim.ZLzmzgZR
GHCziBase.Char
(GHCziPrim.ZLzmzgZR
GHCziBase.Char
(GHCziBase.ZMZN GHCziBase.Char)) =
\ (ds::GHCziBase.Char) (ds1::GHCziBase.Char) ->
%case ds %of (wild::GHCziBase.Char)
{GHCziBase.Czh (x1::GHCziPrim.Charzh) ->
%case ds1 %of (wild1::GHCziBase.Char)
{GHCziBase.Czh (x2::GHCziPrim.Charzh) ->
GHCziBase.build @ GHCziBase.Char
(\ @ b
(c::GHCziPrim.ZLzmzgZR GHCziBase.Char (GHCziPrim.ZLzmzgZR b b))
(n::b) ->
Atom.efdCharFB @ b c n (GHCziPrim.ordzh x1)
(GHCziPrim.ordzh x2))}};
Atom.eftChar :: GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziBase.ZMZN GHCziBase.Char)) =
\ (x::GHCziPrim.Intzh) (y::GHCziPrim.Intzh) ->
%case (GHCziPrim.zgzh x y) %of (wild::GHCziBase.Bool)
{GHCziBase.True ->
GHCziBase.zdwZMZN @ GHCziBase.Char;
GHCziBase.False ->
GHCziBase.zdwZC @ GHCziBase.Char
(GHCziBase.zdwCzh (GHCziPrim.chrzh x))
(GHCziBase.build @ GHCziBase.Char
(\ @ b
(c::GHCziPrim.ZLzmzgZR GHCziBase.Char (GHCziPrim.ZLzmzgZR b b))
(n::b) ->
Atom.eftCharFB @ b c n (GHCziPrim.zpzh x (1::GHCziPrim.Intzh))
y))};
Atom.eftCharList :: GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziBase.ZMZN GHCziBase.Char)) =
Atom.eftChar;
Atom.eftCharFB :: %forall t . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR GHCziBase.Char (GHCziPrim.ZLzmzgZR t t))
(GHCziPrim.ZLzmzgZR
t
(GHCziPrim.ZLzmzgZR
GHCziPrim.Intzh
(GHCziPrim.ZLzmzgZR GHCziPrim.Intzh t))) =
%note "InlineMe"
\ @ t
(c::GHCziPrim.ZLzmzgZR GHCziBase.Char (GHCziPrim.ZLzmzgZR t t))
(n::t)
(x::GHCziPrim.Intzh)
(y::GHCziPrim.Intzh) ->
%let %rec
{go :: GHCziPrim.ZLzmzgZR GHCziPrim.Intzh t =
\ (x1::GHCziPrim.Intzh) ->
%case (GHCziPrim.zgzh x1 y) %of (wild::GHCziBase.Bool)
{GHCziBase.True ->
n;
GHCziBase.False ->
c (GHCziBase.zdwCzh (GHCziPrim.chrzh x1))
(go (GHCziPrim.zpzh x1 (1::GHCziPrim.Intzh)))}}
%in go x;
enumFrom4 :: GHCziPrim.ZLzmzgZR
GHCziBase.Char
(GHCziBase.ZMZN GHCziBase.Char) =
\ (ds::GHCziBase.Char) ->
%case ds %of (wild::GHCziBase.Char)
{GHCziBase.Czh (x::GHCziPrim.Charzh) ->
GHCziBase.build @ GHCziBase.Char
(\ @ b
(c::GHCziPrim.ZLzmzgZR GHCziBase.Char (GHCziPrim.ZLzmzgZR b b))
(n::b) ->
Atom.eftCharFB @ b c n (GHCziPrim.ordzh x)
(1114111::GHCziPrim.Intzh))};
enumFromTo4 :: GHCziPrim.ZLzmzgZR
GHCziBase.Char
(GHCziPrim.ZLzmzgZR
GHCziBase.Char
(GHCziBase.ZMZN GHCziBase.Char)) =
\ (ds::GHCziBase.Char) (ds1::GHCziBase.Char) ->
%case ds %of (wild::GHCziBase.Char)
{GHCziBase.Czh (x::GHCziPrim.Charzh) ->
%case ds1 %of (wild1::GHCziBase.Char)
{GHCziBase.Czh (y::GHCziPrim.Charzh) ->
GHCziBase.build @ GHCziBase.Char
(\ @ b
(c::GHCziPrim.ZLzmzgZR GHCziBase.Char (GHCziPrim.ZLzmzgZR b b))
(n::b) ->
Atom.eftCharFB @ b c n (GHCziPrim.ordzh x) (GHCziPrim.ordzh y))}};
Atom.zdfEnumChar :: Atom.ZCTEnum GHCziBase.Char =
Atom.zdwZCDEnum @ GHCziBase.Char pred4 succ4 GHCziBase.chr
GHCziBase.ord enumFrom4 enumFromThen2 enumFromTo4 enumFromThenTo4;
Atom.prelzulistzustr :: GHCziBase.ZMZN GHCziBase.Char =
GHCziBase.unpackCStringzh ("Prelude."::GHCziPrim.Addrzh);
Atom.errorEmptyList :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziBase.Char)
a =
\ @ a (fun::GHCziBase.ZMZN GHCziBase.Char) ->
GHCziErr.error @ a
(Atom.append @ GHCziBase.Char
(Atom.append @ GHCziBase.Char Atom.prelzulistzustr fun)
(GHCziBase.unpackCStringzh (": empty list"::GHCziPrim.Addrzh)));
%rec
{Atom.foldr1 :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a a))
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) a) =
\ @ a
(ds::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a a))
(ds1::GHCziBase.ZMZN a) ->
%case ds1 %of (wild::GHCziBase.ZMZN a)
{GHCziBase.ZC (x::a) (ds2::GHCziBase.ZMZN a) ->
%case ds2 %of (wild1::GHCziBase.ZMZN a)
{GHCziBase.ZC (a1::a) (a2::GHCziBase.ZMZN a) ->
ds x (Atom.foldr1 @ a ds wild1);
GHCziBase.ZMZN ->
x};
GHCziBase.ZMZN ->
Atom.errorEmptyList @ a
(GHCziBase.unpackCStringzh ("foldr1"::GHCziPrim.Addrzh))}};
Atom.foldl1 :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a a))
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) a) =
\ @ a
(f::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a a))
(ds::GHCziBase.ZMZN a) ->
%case ds %of (wild::GHCziBase.ZMZN a)
{GHCziBase.ZC (x::a) (xs::GHCziBase.ZMZN a) ->
Atom.foldl @ a @ a f x xs;
GHCziBase.ZMZN ->
Atom.errorEmptyList @ a
(GHCziBase.unpackCStringzh ("foldl1"::GHCziPrim.Addrzh))};
Atom.minimum :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziBase.ZCTOrd a)
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) a) =
\ @ a (zddOrd::GHCziBase.ZCTOrd a) (eta::GHCziBase.ZMZN a) ->
%case eta %of (wild::GHCziBase.ZMZN a)
{GHCziBase.ZC (a1::a) (a2::GHCziBase.ZMZN a) ->
Atom.foldl1 @ a
(%case zddOrd %of (tpl::GHCziBase.ZCTOrd a)
{GHCziBase.ZCDOrd
(tpl1::GHCziBase.ZCTEq a)
(tpl2::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a GHCziBase.Ordering))
(tpl3::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a GHCziBase.Bool))
(tpl4::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a GHCziBase.Bool))
(tpl5::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a GHCziBase.Bool))
(tpl6::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a GHCziBase.Bool))
(tpl7::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a a))
(tpl8::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a a)) ->
tpl7})
wild;
GHCziBase.ZMZN ->
Atom.errorEmptyList @ a
(GHCziBase.unpackCStringzh ("minimum"::GHCziPrim.Addrzh))};
Atom.minimum1 :: GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziBase.Int)
GHCziBase.Int =
%note "InlineMe"
Atom.minimum @ GHCziBase.Int GHCziBase.zdfOrdInt;
Atom.maximum :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziBase.ZCTOrd a)
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) a) =
\ @ a (zddOrd::GHCziBase.ZCTOrd a) (eta::GHCziBase.ZMZN a) ->
%case eta %of (wild::GHCziBase.ZMZN a)
{GHCziBase.ZC (a1::a) (a2::GHCziBase.ZMZN a) ->
Atom.foldl1 @ a
(%case zddOrd %of (tpl::GHCziBase.ZCTOrd a)
{GHCziBase.ZCDOrd
(tpl1::GHCziBase.ZCTEq a)
(tpl2::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a GHCziBase.Ordering))
(tpl3::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a GHCziBase.Bool))
(tpl4::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a GHCziBase.Bool))
(tpl5::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a GHCziBase.Bool))
(tpl6::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a GHCziBase.Bool))
(tpl7::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a a))
(tpl8::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a a)) ->
tpl8})
wild;
GHCziBase.ZMZN ->
Atom.errorEmptyList @ a
(GHCziBase.unpackCStringzh ("maximum"::GHCziPrim.Addrzh))};
Atom.maximum1 :: GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziBase.Int)
GHCziBase.Int =
%note "InlineMe"
Atom.maximum @ GHCziBase.Int GHCziBase.zdfOrdInt;
%rec
{Atom.init :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(GHCziBase.ZMZN a) =
\ @ a (ds::GHCziBase.ZMZN a) ->
%case ds %of (wild::GHCziBase.ZMZN a)
{GHCziBase.ZC (x::a) (ds1::GHCziBase.ZMZN a) ->
%case ds1 %of (wild1::GHCziBase.ZMZN a)
{GHCziBase.ZC (a1::a) (a2::GHCziBase.ZMZN a) ->
GHCziBase.zdwZC @ a x (Atom.init @ a wild1);
GHCziBase.ZMZN ->
GHCziBase.zdwZMZN @ a};
GHCziBase.ZMZN ->
Atom.errorEmptyList @ (GHCziBase.ZMZN a)
(GHCziBase.unpackCStringzh ("init"::GHCziPrim.Addrzh))}};
%rec
{Atom.last :: %forall a . GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) a =
\ @ a (ds::GHCziBase.ZMZN a) ->
%case ds %of (wild::GHCziBase.ZMZN a)
{GHCziBase.ZC (x::a) (ds1::GHCziBase.ZMZN a) ->
%case ds1 %of (wild1::GHCziBase.ZMZN a)
{GHCziBase.ZC (a1::a) (a2::GHCziBase.ZMZN a) ->
Atom.last @ a wild1;
GHCziBase.ZMZN ->
x};
GHCziBase.ZMZN ->
Atom.errorEmptyList @ a
(GHCziBase.unpackCStringzh ("last"::GHCziPrim.Addrzh))}};
Atom.tail :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(GHCziBase.ZMZN a) =
\ @ a (ds::GHCziBase.ZMZN a) ->
%case ds %of (wild::GHCziBase.ZMZN a)
{GHCziBase.ZC (ds1::a) (xs::GHCziBase.ZMZN a) ->
xs;
GHCziBase.ZMZN ->
Atom.errorEmptyList @ (GHCziBase.ZMZN a)
(GHCziBase.unpackCStringzh ("tail"::GHCziPrim.Addrzh))};
Atom.badHead :: %forall a . a =
\ @ a ->
Atom.errorEmptyList @ a
(GHCziBase.unpackCStringzh ("head"::GHCziPrim.Addrzh));
Atom.head :: %forall a . GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) a =
\ @ a (ds::GHCziBase.ZMZN a) ->
%case ds %of (wild::GHCziBase.ZMZN a)
{GHCziBase.ZC (x::a) (ds1::GHCziBase.ZMZN a) ->
x;
GHCziBase.ZMZN ->
Atom.badHead @ a};
Atom.or :: GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziBase.Bool)
GHCziBase.Bool =
GHCziBase.foldr @ GHCziBase.Bool @ GHCziBase.Bool GHCziBase.zbzb
GHCziBase.zdwFalse;
Atom.any :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR a GHCziBase.Bool)
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) GHCziBase.Bool) =
\ @ a (p::GHCziPrim.ZLzmzgZR a GHCziBase.Bool) ->
GHCziBase.zi @ (GHCziBase.ZMZN GHCziBase.Bool) @ GHCziBase.Bool
@ (GHCziBase.ZMZN a) Atom.or (Atom.mapList @ a @ GHCziBase.Bool p);
Atom.elem :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziBase.ZCTEq a)
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) GHCziBase.Bool)) =
\ @ a (zddEq1::GHCziBase.ZCTEq a) (eta::a) ->
Atom.any @ a
(\ (ds::a) ->
%case zddEq1 %of (tpl::GHCziBase.ZCTEq a)
{GHCziBase.ZCDEq
(tpl1::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a GHCziBase.Bool))
(tpl2::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a GHCziBase.Bool)) ->
tpl2 ds eta});
Atom.and :: GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziBase.Bool)
GHCziBase.Bool =
GHCziBase.foldr @ GHCziBase.Bool @ GHCziBase.Bool GHCziBase.zaza
GHCziBase.zdwTrue;
Atom.all :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR a GHCziBase.Bool)
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) GHCziBase.Bool) =
\ @ a (p::GHCziPrim.ZLzmzgZR a GHCziBase.Bool) ->
GHCziBase.zi @ (GHCziBase.ZMZN GHCziBase.Bool) @ GHCziBase.Bool
@ (GHCziBase.ZMZN a) Atom.and
(Atom.mapList @ a @ GHCziBase.Bool p);
Atom.notElem :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziBase.ZCTEq a)
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) GHCziBase.Bool)) =
\ @ a (zddEq1::GHCziBase.ZCTEq a) (eta::a) ->
Atom.all @ a
(\ (ds::a) ->
%case zddEq1 %of (tpl::GHCziBase.ZCTEq a)
{GHCziBase.ZCDEq
(tpl1::GHCziPrim.ZLzmzgZR a (GHCziPrim.ZLzmzgZR a GHCziBase.Bool))
(tpl2::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR a GHCziBase.Bool)) ->
tpl1 ds eta});
%rec
{Atom.lines :: GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziBase.Char)
(GHCziBase.ZMZN (GHCziBase.ZMZN GHCziBase.Char)) =
\ (ds::GHCziBase.ZMZN GHCziBase.Char) ->
%case ds %of (wild::GHCziBase.ZMZN GHCziBase.Char)
{GHCziBase.ZC
(a::GHCziBase.Char) (a1::GHCziBase.ZMZN GHCziBase.Char) ->
%let ds1 :: DataziTuple.Z2T
(GHCziBase.ZMZN GHCziBase.Char)
(GHCziBase.ZMZN GHCziBase.Char) =
%let ds2 :: GHCziBase.Char =
GHCziBase.zdwCzh ('\x0a'::GHCziPrim.Charzh)
%in Atom.break @ GHCziBase.Char
(\ (ds3::GHCziBase.Char) ->
%case GHCziBase.zdfEqChar %of (tpl::GHCziBase.ZCTEq GHCziBase.Char)
{GHCziBase.ZCDEq
(tpl1::GHCziPrim.ZLzmzgZR
GHCziBase.Char
(GHCziPrim.ZLzmzgZR GHCziBase.Char GHCziBase.Bool))
(tpl2::GHCziPrim.ZLzmzgZR
GHCziBase.Char
(GHCziPrim.ZLzmzgZR GHCziBase.Char GHCziBase.Bool)) ->
tpl2 ds3 ds2})
wild
%in GHCziBase.zdwZC @ (GHCziBase.ZMZN GHCziBase.Char)
(%case ds1
%of (wild1::DataziTuple.Z2T
(GHCziBase.ZMZN GHCziBase.Char)
(GHCziBase.ZMZN GHCziBase.Char))
{DataziTuple.Z2T
(l::GHCziBase.ZMZN GHCziBase.Char)
(szq::GHCziBase.ZMZN GHCziBase.Char) ->
l})
(%case ds1
%of (wild1::DataziTuple.Z2T
(GHCziBase.ZMZN GHCziBase.Char)
(GHCziBase.ZMZN GHCziBase.Char))
{DataziTuple.Z2T
(l::GHCziBase.ZMZN GHCziBase.Char)
(szq::GHCziBase.ZMZN GHCziBase.Char) ->
%case szq %of (wild2::GHCziBase.ZMZN GHCziBase.Char)
{GHCziBase.ZC
(ds2::GHCziBase.Char) (szqzq::GHCziBase.ZMZN GHCziBase.Char) ->
Atom.lines szqzq;
GHCziBase.ZMZN ->
GHCziBase.zdwZMZN @ (GHCziBase.ZMZN GHCziBase.Char)}});
GHCziBase.ZMZN ->
GHCziBase.zdwZMZN @ (GHCziBase.ZMZN GHCziBase.Char)}};
%rec
{Atom.zdfShowAtomState :: GHCziShow.ZCTShow Atom.AtomState =
GHCziShow.zdwZCDShow @ Atom.AtomState zddmshowsPrec show showList;
zddmshowsPrec :: GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR
Atom.AtomState
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziBase.Char)
(GHCziBase.ZMZN GHCziBase.Char))) =
GHCziShow.zddmshowsPrec @ Atom.AtomState Atom.zdfShowAtomState};
zddShow1 :: GHCziShow.ZCTShow (GHCziBase.ZMZN Atom.AtomState) =
GHCziShow.zdfShowZMZN @ Atom.AtomState Atom.zdfShowAtomState;
Atom.zdfNumZMZN :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziNum.ZCTNum a)
(GHCziNum.ZCTNum (GHCziBase.ZMZN a)) =
%note "InlineMe"
\ @ a (zddNum::GHCziNum.ZCTNum a) ->
%let fromInteger :: GHCziPrim.ZLzmzgZR GHCziNum.Integer a =
GHCziNum.fromInteger @ a zddNum
%in %let lit4 :: a =
fromInteger (GHCziNum.zdwSzh (0::GHCziPrim.Intzh))
%in %let %rec
{negate :: GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(GHCziBase.ZMZN a) =
\ (ds::GHCziBase.ZMZN a) ->
%case ds %of (wild::GHCziBase.ZMZN a)
{GHCziBase.ZMZN ->
GHCziErr.patError @ (GHCziBase.ZMZN a)
("AtomwithPrelude.hs:186|function negate"::GHCziPrim.Addrzh);
GHCziBase.ZC (f::a) (fs::GHCziBase.ZMZN a) ->
GHCziBase.zdwZC @ a (GHCziNum.negate @ a zddNum f) (negate fs)}}
%in %let %rec
{zp :: GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) (GHCziBase.ZMZN a)) =
\ (l::GHCziBase.ZMZN a) (ds::GHCziBase.ZMZN a) ->
%case ds %of (wild::GHCziBase.ZMZN a)
{GHCziBase.ZC (a1::a) (a2::GHCziBase.ZMZN a) ->
%case l %of (wild1::GHCziBase.ZMZN a)
{GHCziBase.ZC (f::a) (fs::GHCziBase.ZMZN a) ->
GHCziBase.zdwZC @ a (GHCziNum.zp @ a zddNum f a1)
(zp fs a2);
GHCziBase.ZMZN ->
wild};
GHCziBase.ZMZN ->
l}}
%in %let %rec
{zt :: GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) (GHCziBase.ZMZN a)) =
\ (ds::GHCziBase.ZMZN a) (ds1::GHCziBase.ZMZN a) ->
%case ds1 %of (wild::GHCziBase.ZMZN a)
{GHCziBase.ZC (a1::a) (a2::GHCziBase.ZMZN a) ->
%case ds %of (wild1::GHCziBase.ZMZN a)
{GHCziBase.ZC (f::a) (fs::GHCziBase.ZMZN a) ->
GHCziBase.zdwZC @ a (GHCziNum.zt @ a zddNum f a1)
(zt a2 a2);
GHCziBase.ZMZN ->
GHCziBase.zdwZMZN @ a};
GHCziBase.ZMZN ->
GHCziBase.zdwZMZN @ a}}
%in %let a1 :: GHCziPrim.ZLzmzgZR
GHCziNum.Integer
(GHCziBase.ZMZN a) =
\ (c::GHCziNum.Integer) ->
GHCziBase.zdwZC @ a (fromInteger c)
(GHCziBase.zdwZC @ a lit4 (GHCziBase.zdwZMZN @ a))
%in %let a2 :: GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(GHCziBase.ZMZN a) =
\ (ds::GHCziBase.ZMZN a) ->
GHCziErr.noMethodBindingError @ (GHCziBase.ZMZN a)
("AtomwithPrelude.hs:185|GHC.Num.abs"::GHCziPrim.Addrzh)
%in %let a3 :: GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(GHCziBase.ZMZN a) =
\ (ds::GHCziBase.ZMZN a) ->
GHCziErr.noMethodBindingError @ (GHCziBase.ZMZN a)
("AtomwithPrelude.hs:185|GHC.Num.signum"::GHCziPrim.Addrzh)
%in %let a4 :: GHCziShow.ZCTShow (GHCziBase.ZMZN a) =
GHCziShow.zdfShowZMZN @ a
(GHCziNum.zdp2Num @ a zddNum)
%in %let a5 :: GHCziBase.ZCTEq (GHCziBase.ZMZN a) =
GHCziBase.zdfEqZMZN @ a
(GHCziNum.zdp1Num @ a zddNum)
%in %let %rec
{zddNum1 :: GHCziNum.ZCTNum
(GHCziBase.ZMZN a) =
GHCziNum.zdwZCDNum @ (GHCziBase.ZMZN a) a5
a4 zddmzm zt zp negate a3 a2 a1;
zddmzm :: GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(GHCziBase.ZMZN a)) =
GHCziNum.zddmzm @ (GHCziBase.ZMZN a)
zddNum1}
%in zddNum1;
zddNum :: GHCziNum.ZCTNum (GHCziBase.ZMZN GHCziFloat.Float) =
Atom.zdfNumZMZN @ GHCziFloat.Float GHCziFloat.zdfNumFloat;
zp :: GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziFloat.Float)
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziFloat.Float)
(GHCziBase.ZMZN GHCziFloat.Float)) =
%case zddNum
%of (tpl::GHCziNum.ZCTNum (GHCziBase.ZMZN GHCziFloat.Float))
{GHCziNum.ZCDNum
(tpl1::GHCziBase.ZCTEq (GHCziBase.ZMZN GHCziFloat.Float))
(tpl2::GHCziShow.ZCTShow (GHCziBase.ZMZN GHCziFloat.Float))
(tpl3::GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziFloat.Float)
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziFloat.Float)
(GHCziBase.ZMZN GHCziFloat.Float)))
(tpl4::GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziFloat.Float)
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziFloat.Float)
(GHCziBase.ZMZN GHCziFloat.Float)))
(tpl5::GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziFloat.Float)
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziFloat.Float)
(GHCziBase.ZMZN GHCziFloat.Float)))
(tpl6::GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziFloat.Float)
(GHCziBase.ZMZN GHCziFloat.Float))
(tpl7::GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziFloat.Float)
(GHCziBase.ZMZN GHCziFloat.Float))
(tpl8::GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziFloat.Float)
(GHCziBase.ZMZN GHCziFloat.Float))
(tpl9::GHCziPrim.ZLzmzgZR
GHCziNum.Integer
(GHCziBase.ZMZN GHCziFloat.Float)) ->
tpl5};
Atom.propagate :: GHCziPrim.ZLzmzgZR
GHCziFloat.Float
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziFloat.Float)
(GHCziPrim.ZLzmzgZR Atom.AtomState Atom.AtomState)) =
\ (dt::GHCziFloat.Float)
(aforce::GHCziBase.ZMZN GHCziFloat.Float)
(ds::Atom.AtomState) ->
%case ds %of (wild::Atom.AtomState)
{Atom.State
(pos::GHCziBase.ZMZN GHCziFloat.Float)
(vel::GHCziBase.ZMZN GHCziFloat.Float) ->
Atom.zdwState (zp pos (zizt1 dt vel)) (zp vel (zizt1 dt aforce))};
%rec
{Atom.runExperiment :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN Atom.AtomState)
(GHCziBase.ZMZN (GHCziBase.ZMZN GHCziFloat.Float))))
(GHCziPrim.ZLzmzgZR
GHCziFloat.Float
(GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR
Atom.AtomState
(GHCziBase.ZMZN Atom.AtomState)))) =
\ @ a
(law::GHCziPrim.ZLzmzgZR
a
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN Atom.AtomState)
(GHCziBase.ZMZN (GHCziBase.ZMZN GHCziFloat.Float))))
(dt::GHCziFloat.Float)
(param::a)
(init1::Atom.AtomState) ->
%let stream :: GHCziBase.ZMZN Atom.AtomState =
Atom.runExperiment @ a law dt param init1
%in GHCziBase.zdwZC @ Atom.AtomState init1
(Atom.zzipWithList @ (GHCziBase.ZMZN GHCziFloat.Float)
@ Atom.AtomState @ Atom.AtomState (Atom.propagate dt)
(law param stream) stream)};
%rec
{Atom.testforce :: GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziFloat.Float)
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN Atom.AtomState)
(GHCziBase.ZMZN (GHCziBase.ZMZN GHCziFloat.Float))) =
\ (k::GHCziBase.ZMZN GHCziFloat.Float)
(ds::GHCziBase.ZMZN Atom.AtomState) ->
%case ds %of (wild::GHCziBase.ZMZN Atom.AtomState)
{GHCziBase.ZC
(ds1::Atom.AtomState) (atoms::GHCziBase.ZMZN Atom.AtomState) ->
%case ds1 %of (wild1::Atom.AtomState)
{Atom.State
(pos::GHCziBase.ZMZN GHCziFloat.Float)
(vel::GHCziBase.ZMZN GHCziFloat.Float) ->
GHCziBase.zdwZC @ (GHCziBase.ZMZN GHCziFloat.Float)
(%case zddNum
%of (tpl::GHCziNum.ZCTNum (GHCziBase.ZMZN GHCziFloat.Float))
{GHCziNum.ZCDNum
(tpl1::GHCziBase.ZCTEq (GHCziBase.ZMZN GHCziFloat.Float))
(tpl2::GHCziShow.ZCTShow (GHCziBase.ZMZN GHCziFloat.Float))
(tpl3::GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziFloat.Float)
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziFloat.Float)
(GHCziBase.ZMZN GHCziFloat.Float)))
(tpl4::GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziFloat.Float)
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziFloat.Float)
(GHCziBase.ZMZN GHCziFloat.Float)))
(tpl5::GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziFloat.Float)
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziFloat.Float)
(GHCziBase.ZMZN GHCziFloat.Float)))
(tpl6::GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziFloat.Float)
(GHCziBase.ZMZN GHCziFloat.Float))
(tpl7::GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziFloat.Float)
(GHCziBase.ZMZN GHCziFloat.Float))
(tpl8::GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziFloat.Float)
(GHCziBase.ZMZN GHCziFloat.Float))
(tpl9::GHCziPrim.ZLzmzgZR
GHCziNum.Integer
(GHCziBase.ZMZN GHCziFloat.Float)) ->
tpl4
(zizt1
(%case GHCziFloat.zdfNumFloat
%of (tpl10::GHCziNum.ZCTNum GHCziFloat.Float)
{GHCziNum.ZCDNum
(tpl11::GHCziBase.ZCTEq GHCziFloat.Float)
(tpl12::GHCziShow.ZCTShow GHCziFloat.Float)
(tpl13::GHCziPrim.ZLzmzgZR
GHCziFloat.Float
(GHCziPrim.ZLzmzgZR GHCziFloat.Float GHCziFloat.Float))
(tpl14::GHCziPrim.ZLzmzgZR
GHCziFloat.Float
(GHCziPrim.ZLzmzgZR GHCziFloat.Float GHCziFloat.Float))
(tpl15::GHCziPrim.ZLzmzgZR
GHCziFloat.Float
(GHCziPrim.ZLzmzgZR GHCziFloat.Float GHCziFloat.Float))
(tpl16::GHCziPrim.ZLzmzgZR GHCziFloat.Float GHCziFloat.Float)
(tpl17::GHCziPrim.ZLzmzgZR GHCziFloat.Float GHCziFloat.Float)
(tpl18::GHCziPrim.ZLzmzgZR GHCziFloat.Float GHCziFloat.Float)
(tpl19::GHCziPrim.ZLzmzgZR GHCziNum.Integer GHCziFloat.Float) ->
tpl16 lit})
k)
pos})
(Atom.testforce k atoms)};
GHCziBase.ZMZN ->
GHCziBase.zdwZMZN @ (GHCziBase.ZMZN GHCziFloat.Float)}};
Atom.test :: GHCziBase.ZMZN Atom.AtomState =
Atom.runExperiment @ (GHCziBase.ZMZN GHCziFloat.Float)
Atom.testforce (GHCziFloat.zdwFzh (2.0e-2::GHCziPrim.Floatzh))
(GHCziBase.zdwZC @ GHCziFloat.Float
(GHCziFloat.zdwFzh (1.0::GHCziPrim.Floatzh))
(GHCziBase.zdwZMZN @ GHCziFloat.Float))
(Atom.zdwState
(GHCziBase.zdwZC @ GHCziFloat.Float
(GHCziFloat.zdwFzh (1.0::GHCziPrim.Floatzh))
(GHCziBase.zdwZMZN @ GHCziFloat.Float))
(GHCziBase.zdwZC @ GHCziFloat.Float
(GHCziFloat.zdwFzh (0.0::GHCziPrim.Floatzh))
(GHCziBase.zdwZMZN @ GHCziFloat.Float)));
Atom.main :: GHCziPrim.ZLzmzgZR
(GHCziPrim.Statezh GHCziPrim.RealWorld)
(GHCziPrim.Z2H
(GHCziPrim.Statezh GHCziPrim.RealWorld)
GHCziBase.Z0T) =
SystemziIO.putStr
(%case zddShow1
%of (tpl::GHCziShow.ZCTShow (GHCziBase.ZMZN Atom.AtomState))
{GHCziShow.ZCDShow
(tpl1::GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN Atom.AtomState)
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziBase.Char)
(GHCziBase.ZMZN GHCziBase.Char))))
(tpl2::GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN Atom.AtomState)
(GHCziBase.ZMZN GHCziBase.Char))
(tpl3::GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN (GHCziBase.ZMZN Atom.AtomState))
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN GHCziBase.Char)
(GHCziBase.ZMZN GHCziBase.Char))) ->
tpl2
(Atom.take @ Atom.AtomState
(GHCziBase.zdwIzh (1000::GHCziPrim.Intzh)) Atom.test)});
Atom.zlztzg :: %forall a . GHCziPrim.ZLzmzgZR
(GHCziNum.ZCTNum a)
(GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) a)) =
\ @ a (zddNum1::GHCziNum.ZCTNum a) ->
%let zt :: GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) (GHCziBase.ZMZN a)) =
%case (Atom.zdfNumZMZN @ a zddNum1)
%of (tpl::GHCziNum.ZCTNum (GHCziBase.ZMZN a))
{GHCziNum.ZCDNum
(tpl1::GHCziBase.ZCTEq (GHCziBase.ZMZN a))
(tpl2::GHCziShow.ZCTShow (GHCziBase.ZMZN a))
(tpl3::GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) (GHCziBase.ZMZN a)))
(tpl4::GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) (GHCziBase.ZMZN a)))
(tpl5::GHCziPrim.ZLzmzgZR
(GHCziBase.ZMZN a)
(GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) (GHCziBase.ZMZN a)))
(tpl6::GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) (GHCziBase.ZMZN a))
(tpl7::GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) (GHCziBase.ZMZN a))
(tpl8::GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) (GHCziBase.ZMZN a))
(tpl9::GHCziPrim.ZLzmzgZR GHCziNum.Integer (GHCziBase.ZMZN a)) ->
tpl4}
%in %let sum1 :: GHCziPrim.ZLzmzgZR (GHCziBase.ZMZN a) a =
Atom.sum @ a zddNum1
%in \ (f::GHCziBase.ZMZN a) (g::GHCziBase.ZMZN a) -> sum1 (zt f g);
Atom.zdfBoundedZ2T :: %forall a b . GHCziPrim.ZLzmzgZR
(Atom.ZCTBounded a)
(GHCziPrim.ZLzmzgZR
(Atom.ZCTBounded b)
(Atom.ZCTBounded (DataziTuple.Z2T a b))) =
%note "InlineMe"
\ @ a
@ b
(zddBounded::Atom.ZCTBounded a)
(zddBounded1::Atom.ZCTBounded b) ->
Atom.zdwZCDBounded @ (DataziTuple.Z2T a b)
(DataziTuple.zdwZ2T @ a @ b (Atom.maxBound @ a zddBounded)
(Atom.maxBound @ b zddBounded1))
(DataziTuple.zdwZ2T @ a @ b (Atom.minBound @ a zddBounded)
(Atom.minBound @ b zddBounded1));
Atom.zdfBoundedZ3T :: %forall a b c . GHCziPrim.ZLzmzgZR
(Atom.ZCTBounded a)
(GHCziPrim.ZLzmzgZR
(Atom.ZCTBounded b)
(GHCziPrim.ZLzmzgZR
(Atom.ZCTBounded c)
(Atom.ZCTBounded (DataziTuple.Z3T a b c)))) =
%note "InlineMe"
\ @ a
@ b
@ c
(zddBounded::Atom.ZCTBounded a)
(zddBounded1::Atom.ZCTBounded b)
(zddBounded2::Atom.ZCTBounded c) ->
Atom.zdwZCDBounded @ (DataziTuple.Z3T a b c)
(DataziTuple.zdwZ3T @ a @ b @ c (Atom.maxBound @ a zddBounded)
(Atom.maxBound @ b zddBounded1) (Atom.maxBound @ c zddBounded2))
(DataziTuple.zdwZ3T @ a @ b @ c (Atom.minBound @ a zddBounded)
(Atom.minBound @ b zddBounded1) (Atom.minBound @ c zddBounded2));
Atom.zdfBoundedZ4T :: %forall a b c d . GHCziPrim.ZLzmzgZR
(Atom.ZCTBounded a)
(GHCziPrim.ZLzmzgZR
(Atom.ZCTBounded b)
(GHCziPrim.ZLzmzgZR
(Atom.ZCTBounded c)
(GHCziPrim.ZLzmzgZR
(Atom.ZCTBounded d)
(Atom.ZCTBounded (DataziTuple.Z4T a b c d))))) =
%note "InlineMe"
\ @ a
@ b
@ c
@ d
(zddBounded::Atom.ZCTBounded a)
(zddBounded1::Atom.ZCTBounded b)
(zddBounded2::Atom.ZCTBounded c)
(zddBounded3::Atom.ZCTBounded d) ->
Atom.zdwZCDBounded @ (DataziTuple.Z4T a b c d)
(DataziTuple.zdwZ4T @ a @ b @ c @ d (Atom.maxBound @ a zddBounded)
(Atom.maxBound @ b zddBounded1) (Atom.maxBound @ c zddBounded2)
(Atom.maxBound @ d zddBounded3))
(DataziTuple.zdwZ4T @ a @ b @ c @ d (Atom.minBound @ a zddBounded)
(Atom.minBound @ b zddBounded1) (Atom.minBound @ c zddBounded2)
(Atom.minBound @ d zddBounded3));
%rec
{Atom.zdfEnumBool :: Atom.ZCTEnum GHCziBase.Bool =
Atom.zdwZCDEnum @ GHCziBase.Bool pred2 succ2 toEnum3 fromEnum3
boundedEnumFrom1 boundedEnumFromThen1 zddmenumFromTo1
zddmenumFromThenTo1;
zddmenumFromThenTo1 :: GHCziPrim.ZLzmzgZR
GHCziBase.Bool
(GHCziPrim.ZLzmzgZR
GHCziBase.Bool
(GHCziPrim.ZLzmzgZR
GHCziBase.Bool
(GHCziBase.ZMZN GHCziBase.Bool))) =
Atom.zddmenumFromThenTo @ GHCziBase.Bool Atom.zdfEnumBool;
zddmenumFromTo1 :: GHCziPrim.ZLzmzgZR
GHCziBase.Bool
(GHCziPrim.ZLzmzgZR
GHCziBase.Bool
(GHCziBase.ZMZN GHCziBase.Bool)) =
Atom.zddmenumFromTo @ GHCziBase.Bool Atom.zdfEnumBool;
boundedEnumFromThen1 :: GHCziPrim.ZLzmzgZR
GHCziBase.Bool
(GHCziPrim.ZLzmzgZR
GHCziBase.Bool
(GHCziBase.ZMZN GHCziBase.Bool)) =
Atom.boundedEnumFromThen @ GHCziBase.Bool Atom.zdfEnumBool
Atom.zdfBoundedBool;
boundedEnumFrom1 :: GHCziPrim.ZLzmzgZR
GHCziBase.Bool
(GHCziBase.ZMZN GHCziBase.Bool) =
Atom.boundedEnumFrom @ GHCziBase.Bool Atom.zdfEnumBool
Atom.zdfBoundedBool};
%rec
{Atom.zdfEnumOrdering :: Atom.ZCTEnum GHCziBase.Ordering =
Atom.zdwZCDEnum @ GHCziBase.Ordering pred3 succ3 toEnum2 fromEnum2
boundedEnumFrom2 boundedEnumFromThen2 zddmenumFromTo2
zddmenumFromThenTo2;
zddmenumFromThenTo2 :: GHCziPrim.ZLzmzgZR
GHCziBase.Ordering
(GHCziPrim.ZLzmzgZR
GHCziBase.Ordering
(GHCziPrim.ZLzmzgZR
GHCziBase.Ordering
(GHCziBase.ZMZN GHCziBase.Ordering))) =
Atom.zddmenumFromThenTo @ GHCziBase.Ordering Atom.zdfEnumOrdering;
zddmenumFromTo2 :: GHCziPrim.ZLzmzgZR
GHCziBase.Ordering
(GHCziPrim.ZLzmzgZR
GHCziBase.Ordering
(GHCziBase.ZMZN GHCziBase.Ordering)) =
Atom.zddmenumFromTo @ GHCziBase.Ordering Atom.zdfEnumOrdering;
boundedEnumFromThen2 :: GHCziPrim.ZLzmzgZR
GHCziBase.Ordering
(GHCziPrim.ZLzmzgZR
GHCziBase.Ordering
(GHCziBase.ZMZN GHCziBase.Ordering)) =
Atom.boundedEnumFromThen @ GHCziBase.Ordering Atom.zdfEnumOrdering
Atom.zdfBoundedOrdering;
boundedEnumFrom2 :: GHCziPrim.ZLzmzgZR
GHCziBase.Ordering
(GHCziBase.ZMZN GHCziBase.Ordering) =
Atom.boundedEnumFrom @ GHCziBase.Ordering Atom.zdfEnumOrdering
Atom.zdfBoundedOrdering};
succ5 :: GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int =
\ (x::GHCziBase.Int) ->
%case (zeze x Atom.maxInt) %of (wild::GHCziBase.Bool)
{GHCziBase.True ->
GHCziErr.error @ GHCziBase.Int
(GHCziBase.unpackCStringzh
("Prelude.Enum.succ{Int}: tried to take `succ\x27 of maxBound"::GHCziPrim.Addrzh));
GHCziBase.False ->
Atom.plusInt x Atom.oneInt};
pred5 :: GHCziPrim.ZLzmzgZR GHCziBase.Int GHCziBase.Int =
\ (x::GHCziBase.Int) ->
%case (zeze x Atom.minInt) %of (wild::GHCziBase.Bool)
{GHCziBase.True ->
GHCziErr.error @ GHCziBase.Int
(GHCziBase.unpackCStringzh
("Prelude.Enum.pred{Int}: tried to take `pred\x27 of minBound"::GHCziPrim.Addrzh));
GHCziBase.False ->
Atom.minusInt x Atom.oneInt};
%rec
{Atom.zdfEnumInt :: Atom.ZCTEnum GHCziBase.Int =
Atom.zdwZCDEnum @ GHCziBase.Int pred5 succ5 toEnum1 fromEnum1
enumFrom3 zddmenumFromThen1 enumFromTo3 enumFromThenTo3;
zddmenumFromThen1 :: GHCziPrim.ZLzmzgZR
GHCziBase.Int
(GHCziPrim.ZLzmzgZR GHCziBase.Int (GHCziBase.ZMZN GHCziBase.Int)) =
Atom.zddmenumFromThen @ GHCziBase.Int Atom.zdfEnumInt};
More information about the Glasgow-haskell-bugs
mailing list