Skip to content

Instantly share code, notes, and snippets.

@bgamari
Last active August 29, 2015 14:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bgamari/9e31d7a5f40d99751b0d to your computer and use it in GitHub Desktop.
Save bgamari/9e31d7a5f40d99751b0d to your computer and use it in GitHub Desktop.
a_s2DW :: State# RealWorld -> (# State# RealWorld, () #)
a_s2DW =
\ (s_X2me :: State# RealWorld) ->
letrec {
a_s2Eq
:: [StateT Int (StateT Int IO) Int]
-> forall r_XqB.
Int -> StateT Int IO (([Int] -> Int -> r_XqB) -> r_XqB)
a_s2Eq =
\ (ds_X2jv :: [StateT Int (StateT Int IO) Int])
(@ r_XqB)
(eta_X2r :: Int) ->
case ds_X2jv of _ {
[] ->
(\ (@ r_Xod) (eta_B2 :: Int) (eta_X4 :: State# RealWorld) ->
let {
x_aKA :: ([Int] -> Int -> r_XqB) -> r_XqB
x_aKA =
\ (f_aKC :: [Int] -> Int -> r_XqB) -> f_aKC ([] @ Int) eta_X2r } in
(# eta_X4,
\ (f_aKC :: (([Int] -> Int -> r_XqB) -> r_XqB) -> Int -> r_Xod) ->
f_aKC x_aKA eta_B2 #))
`cast` ((forall r_Xod.
<Int>_R
-> Sym
(NTCo:IO[0]
<((([Int] -> Int -> r_XqB) -> r_XqB) -> Int -> r_Xod) -> r_Xod>_R))
; Sym
(Cont8.NTCo:StateT[0]
<Int>_N <IO>_R <([Int] -> Int -> r_XqB) -> r_XqB>_N)
:: (forall r_Xod.
Int
-> State# RealWorld
-> (# State# RealWorld,
((([Int] -> Int -> r_XqB) -> r_XqB) -> Int -> r_Xod) -> r_Xod #))
~R# StateT Int IO (([Int] -> Int -> r_XqB) -> r_XqB));
: y_a2hX ys_a2hY ->
a_s2jz
@ Int
@ (StateT Int IO)
($s$fMonadStateT_s2hq @ Int)
@ [Int]
@ [Int]
((\ (@ r_XqI) (eta_X2y :: Int) ->
let {
a_s2Eo
:: forall r_a13g.
Int
-> Int
-> forall r_XqO.
Int
-> State# RealWorld
-> (# State# RealWorld,
(((([Int] -> [Int]) -> Int -> r_a13g) -> r_a13g)
-> Int -> r_XqO)
-> r_XqO #)
a_s2Eo =
\ (@ r_a13g)
(x_aKH :: Int)
(s'_aKI :: Int)
(@ r_XqO)
(eta_B2 :: Int)
(eta_X2F :: State# RealWorld) ->
let {
x_XNz :: [Int] -> [Int]
x_XNz = : @ Int x_aKH } in
let {
x_aKA :: (([Int] -> [Int]) -> Int -> r_a13g) -> r_a13g
x_aKA =
\ (f_aKC :: ([Int] -> [Int]) -> Int -> r_a13g) ->
f_aKC x_XNz s'_aKI } in
(# eta_X2F,
\ (f_aKC
:: ((([Int] -> [Int]) -> Int -> r_a13g) -> r_a13g)
-> Int -> r_XqO) ->
f_aKC x_aKA eta_B2 #) } in
let {
ds_X29C
:: StateT
Int
IO
((Int
-> Int
-> StateT Int IO ((([Int] -> [Int]) -> Int -> r_XqI) -> r_XqI))
-> StateT Int IO ((([Int] -> [Int]) -> Int -> r_XqI) -> r_XqI))
ds_X29C =
(y_a2hX
`cast` (Cont8.NTCo:StateT[0] <Int>_N <StateT Int IO>_R <Int>_N
:: StateT Int (StateT Int IO) Int
~R# (forall r_aoc.
Int -> StateT Int IO ((Int -> Int -> r_aoc) -> r_aoc))))
@ (StateT Int IO ((([Int] -> [Int]) -> Int -> r_XqI) -> r_XqI))
eta_X2y } in
(\ (@ r_XqO) (eta_B2 :: Int) (eta_X2F :: State# RealWorld) ->
case (((ds_X29C
`cast` (Cont8.NTCo:StateT[0]
<Int>_N
<IO>_R
<(Int
-> Int
-> StateT
Int
IO
((([Int] -> [Int]) -> Int -> r_XqI) -> r_XqI))
-> StateT
Int
IO
((([Int] -> [Int]) -> Int -> r_XqI) -> r_XqI)>_N
:: StateT
Int
IO
((Int
-> Int
-> StateT
Int
IO
((([Int] -> [Int]) -> Int -> r_XqI) -> r_XqI))
-> StateT
Int
IO
((([Int] -> [Int]) -> Int -> r_XqI) -> r_XqI))
~R# (forall r_aoc.
Int
-> IO
((((Int
-> Int
-> StateT
Int
IO
((([Int] -> [Int]) -> Int -> r_XqI)
-> r_XqI))
-> StateT
Int
IO
((([Int] -> [Int]) -> Int -> r_XqI)
-> r_XqI))
-> Int -> r_aoc)
-> r_aoc))))
@ (IO
((((([Int] -> [Int]) -> Int -> r_XqI) -> r_XqI)
-> Int -> r_XqO)
-> r_XqO))
eta_B2)
`cast` (NTCo:IO[0]
<(((Int
-> Int
-> StateT
Int
IO
((([Int] -> [Int]) -> Int -> r_XqI) -> r_XqI))
-> StateT
Int IO ((([Int] -> [Int]) -> Int -> r_XqI) -> r_XqI))
-> Int
-> IO
((((([Int] -> [Int]) -> Int -> r_XqI) -> r_XqI)
-> Int -> r_XqO)
-> r_XqO))
-> IO
((((([Int] -> [Int]) -> Int -> r_XqI) -> r_XqI)
-> Int -> r_XqO)
-> r_XqO)>_R
:: IO
((((Int
-> Int
-> StateT
Int
IO
((([Int] -> [Int]) -> Int -> r_XqI) -> r_XqI))
-> StateT
Int
IO
((([Int] -> [Int]) -> Int -> r_XqI) -> r_XqI))
-> Int
-> IO
((((([Int] -> [Int]) -> Int -> r_XqI) -> r_XqI)
-> Int -> r_XqO)
-> r_XqO))
-> IO
((((([Int] -> [Int]) -> Int -> r_XqI) -> r_XqI)
-> Int -> r_XqO)
-> r_XqO))
~R# (State# RealWorld
-> (# State# RealWorld,
(((Int
-> Int
-> StateT
Int
IO
((([Int] -> [Int]) -> Int -> r_XqI)
-> r_XqI))
-> StateT
Int
IO
((([Int] -> [Int]) -> Int -> r_XqI)
-> r_XqI))
-> Int
-> IO
((((([Int] -> [Int]) -> Int -> r_XqI)
-> r_XqI)
-> Int -> r_XqO)
-> r_XqO))
-> IO
((((([Int] -> [Int]) -> Int -> r_XqI)
-> r_XqI)
-> Int -> r_XqO)
-> r_XqO) #))))
eta_X2F
of _ { (# ipv_a2j9, ipv1_a2ja #) ->
((ipv1_a2ja
(\ (x_XNv
:: (Int
-> Int
-> StateT Int IO ((([Int] -> [Int]) -> Int -> r_XqI) -> r_XqI))
-> StateT Int IO ((([Int] -> [Int]) -> Int -> r_XqI) -> r_XqI))
(s'_XNx :: Int) ->
((x_XNv
((a_s2Eo @ r_XqI)
`cast` (<Int>_R
-> <Int>_R
-> (forall r_XtF.
<Int>_R
-> Sym
(NTCo:IO[0]
<(((([Int] -> [Int]) -> Int -> r_XqI)
-> r_XqI)
-> Int -> r_XtF)
-> r_XtF>_R))
; Sym
(Cont8.NTCo:StateT[0]
<Int>_N
<IO>_R
<(([Int] -> [Int]) -> Int -> r_XqI)
-> r_XqI>_N)
:: (Int
-> Int
-> forall r_XtF.
Int
-> State# RealWorld
-> (# State# RealWorld,
(((([Int] -> [Int]) -> Int -> r_XqI)
-> r_XqI)
-> Int -> r_XtF)
-> r_XtF #))
~R# (Int
-> Int
-> StateT
Int
IO
((([Int] -> [Int]) -> Int -> r_XqI)
-> r_XqI)))))
`cast` (Cont8.NTCo:StateT[0]
<Int>_N
<IO>_R
<(([Int] -> [Int]) -> Int -> r_XqI) -> r_XqI>_N
:: StateT
Int IO ((([Int] -> [Int]) -> Int -> r_XqI) -> r_XqI)
~R# (forall r_aoc.
Int
-> IO
((((([Int] -> [Int]) -> Int -> r_XqI) -> r_XqI)
-> Int -> r_aoc)
-> r_aoc))))
@ r_XqO s'_XNx))
`cast` (NTCo:IO[0]
<(((([Int] -> [Int]) -> Int -> r_XqI) -> r_XqI) -> Int -> r_XqO)
-> r_XqO>_R
:: IO
((((([Int] -> [Int]) -> Int -> r_XqI) -> r_XqI)
-> Int -> r_XqO)
-> r_XqO)
~R# (State# RealWorld
-> (# State# RealWorld,
(((([Int] -> [Int]) -> Int -> r_XqI) -> r_XqI)
-> Int -> r_XqO)
-> r_XqO #))))
ipv_a2j9
})
`cast` ((forall r_XsE.
<Int>_R
-> Sym
(NTCo:IO[0]
<(((([Int] -> [Int]) -> Int -> r_XqI) -> r_XqI)
-> Int -> r_XsE)
-> r_XsE>_R))
; Sym
(Cont8.NTCo:StateT[0]
<Int>_N <IO>_R <(([Int] -> [Int]) -> Int -> r_XqI) -> r_XqI>_N)
:: (forall r_XsE.
Int
-> State# RealWorld
-> (# State# RealWorld,
(((([Int] -> [Int]) -> Int -> r_XqI) -> r_XqI)
-> Int -> r_XsE)
-> r_XsE #))
~R# StateT Int IO ((([Int] -> [Int]) -> Int -> r_XqI) -> r_XqI)))
`cast` (Sym
(Cont8.NTCo:StateT[0] <Int>_N <StateT Int IO>_R <[Int] -> [Int]>_N)
:: (forall r_aoc.
Int -> StateT Int IO ((([Int] -> [Int]) -> Int -> r_aoc) -> r_aoc))
~R# StateT Int (StateT Int IO) ([Int] -> [Int])))
((a_s2Eq ys_a2hY)
`cast` (Sym
(Cont8.NTCo:StateT[0] <Int>_N <StateT Int IO>_R <[Int]>_N)
:: (forall r_aoc.
Int -> StateT Int IO (([Int] -> Int -> r_aoc) -> r_aoc))
~R# StateT Int (StateT Int IO) [Int]))
@ r_XqB
eta_X2r
}; } in
case ((((a_s2Eq
(build
@ (StateT Int (StateT Int IO) Int)
(\ (@ b_a27s)
(c_a27t :: StateT Int (StateT Int IO) Int -> b_a27s -> b_a27s)
(nil_a27u :: b_a27s) ->
repeatFB
@ (StateT Int (StateT Int IO) Int)
@ (Int -> b_a27s)
(takeFB
@ (StateT Int (StateT Int IO) Int) @ b_a27s c_a27t nil_a27u)
((\ (@ r_XrK)
(eta_X3A :: Int)
(@ r_XqI)
(eta_B2 :: Int)
(eta_X2z :: State# RealWorld) ->
case eta_X3A of _ { I# x_a294 ->
let {
ipv_s2h1 :: Int#
ipv_s2h1 = +# x_a294 1# } in
let {
s_Xxr :: Int
s_Xxr = I# ipv_s2h1 } in
let {
x_XNM :: (Int -> Int -> r_XrK) -> r_XrK
x_XNM = \ (f_axl :: Int -> Int -> r_XrK) -> f_axl s_Xxr s_Xxr } in
(# eta_X2z,
\ (f_aKC :: ((Int -> Int -> r_XrK) -> r_XrK) -> Int -> r_XqI) ->
f_aKC x_XNM eta_B2 #)
})
`cast` ((forall r_XrK.
<Int>_R
-> (forall r_XqI.
<Int>_R
-> Sym
(NTCo:IO[0]
<(((Int -> Int -> r_XrK) -> r_XrK) -> Int -> r_XqI)
-> r_XqI>_R))
; Sym
(Cont8.NTCo:StateT[0]
<Int>_N <IO>_R <(Int -> Int -> r_XrK) -> r_XrK>_N))
; Sym (Cont8.NTCo:StateT[0] <Int>_N <StateT Int IO>_R <Int>_N)
:: (forall r_XrK.
Int
-> forall r_XqI.
Int
-> State# RealWorld
-> (# State# RealWorld,
(((Int -> Int -> r_XrK) -> r_XrK) -> Int -> r_XqI)
-> r_XqI #))
~R# StateT Int (StateT Int IO) Int))
(I# 1000#)))
@ ([Int], Int)
(I# 0#))
`cast` (Cont8.NTCo:StateT[0]
<Int>_N <IO>_R <([Int] -> Int -> ([Int], Int)) -> ([Int], Int)>_N
:: StateT Int IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
~R# (forall r_aoc.
Int
-> IO
(((([Int] -> Int -> ([Int], Int)) -> ([Int], Int)) -> Int -> r_aoc)
-> r_aoc))))
@ (IO
((([Int], Int)
-> Int -> IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))
(I# 0#))
`cast` (NTCo:IO[0]
<((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int
-> IO
((([Int], Int)
-> Int -> IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))
-> IO
((([Int], Int)
-> Int -> IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))>_R
:: IO
(((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int
-> IO
((([Int], Int)
-> Int -> IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))
-> IO
((([Int], Int)
-> Int -> IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))
~R# (State# RealWorld
-> (# State# RealWorld,
((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int
-> IO
((([Int], Int)
-> Int
-> IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))
-> IO
((([Int], Int)
-> Int
-> IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int))) #))))
s_X2me
of _ { (# ipv_a2j9, ipv1_a2ja #) ->
case ((ipv1_a2ja
((\ (x_aKH :: ([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
(s'_aKI :: Int)
(eta_X2w :: State# RealWorld) ->
let {
x_aKA :: ([Int], Int)
x_aKA = x_aKH ((,) @ [Int] @ Int) } in
(# eta_X2w,
\ (f_aKC
:: ([Int], Int)
-> Int -> IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int))) ->
f_aKC x_aKA s'_aKI #))
`cast` (<([Int] -> Int -> ([Int], Int)) -> ([Int], Int)>_R
-> <Int>_R
-> Sym
(NTCo:IO[0]
<(([Int], Int)
-> Int -> IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int))>_R)
:: ((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int
-> State# RealWorld
-> (# State# RealWorld,
(([Int], Int)
-> Int -> IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)) #))
~R# ((([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
-> Int
-> IO
((([Int], Int)
-> Int -> IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))))))
`cast` (NTCo:IO[0]
<(([Int], Int)
-> Int -> IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int))>_R
:: IO
((([Int], Int)
-> Int -> IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
~R# (State# RealWorld
-> (# State# RealWorld,
(([Int], Int)
-> Int -> IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)))
-> IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int)) #))))
ipv_a2j9
of _ { (# ipv_X2kQ, ipv1_X2kS #) ->
case ((ipv1_X2kS
((\ (x_aKH :: ([Int], Int))
(s'_aKI :: Int)
(eta_B1 :: State# RealWorld) ->
let {
x_aKA :: [Int]
x_aKA = case x_aKH of _ { (x_a28r, ds1_a28s) -> x_a28r } } in
(# eta_B1,
\ (f_aKC :: [Int] -> Int -> ([Int], Int)) -> f_aKC x_aKA s'_aKI #))
`cast` (<([Int], Int)>_R
-> <Int>_R
-> Sym
(NTCo:IO[0] <([Int] -> Int -> ([Int], Int)) -> ([Int], Int)>_R)
:: (([Int], Int)
-> Int
-> State# RealWorld
-> (# State# RealWorld,
([Int] -> Int -> ([Int], Int)) -> ([Int], Int) #))
~R# (([Int], Int)
-> Int -> IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int))))))
`cast` (NTCo:IO[0]
<([Int] -> Int -> ([Int], Int)) -> ([Int], Int)>_R
:: IO (([Int] -> Int -> ([Int], Int)) -> ([Int], Int))
~R# (State# RealWorld
-> (# State# RealWorld,
([Int] -> Int -> ([Int], Int)) -> ([Int], Int) #))))
ipv_X2kQ
of _ { (# ipv_X2kU, ipv1_X2kW #) ->
hPutStr2
stdout
(case ipv1_X2kW ((,) @ [Int] @ Int) of _ { (x_a28r, ds1_a28s) ->
showList__ @ Int shows7 x_a28r ([] @ Char)
})
True
ipv_X2kU
}
}
}
main :: IO ()
main =
a_s2DW
`cast` (Sym (NTCo:IO[0] <()>_R)
:: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ())
==================== Simplifier ====================
Max iterations = 4
SimplMode {Phase = 2 [main],
inline,
rules,
eta-expand,
case-of-case}
Result size of Simplifier
= {terms: 649, types: 2,542, coercions: 1,302}
...
a_s2E7
:: forall s_X152 a_X14X b_X14Z.
StateT s_X152 (StateT Int IO) a_X14X
-> (a_X14X -> StateT s_X152 (StateT Int IO) b_X14Z)
-> forall r_aoc.
s_X152 -> StateT Int IO ((b_X14Z -> s_X152 -> r_aoc) -> r_aoc)
a_s2E7 =
\ (@ s_X152)
(@ a_X14X)
(@ b_X14Z)
(ds_X28W :: StateT s_X152 (StateT Int IO) a_X14X)
(g_XMx :: a_X14X -> StateT s_X152 (StateT Int IO) b_X14Z)
(@ r_aoc)
(eta_B1 :: s_X152) ->
let {
lvl_s2ij
:: forall r_a13g.
a_X14X
-> s_X152 -> StateT Int IO ((b_X14Z -> s_X152 -> r_a13g) -> r_a13g)
lvl_s2ij =
\ (@ r_a13g) (x_aKH :: a_X14X) (s'_aKI :: s_X152) ->
((g_XMx x_aKH)
`cast` (Cont8.NTCo:StateT[0]
<s_X152>_N <StateT Int IO>_R <b_X14Z>_N
:: StateT s_X152 (StateT Int IO) b_X14Z
~R# (forall r_aoc.
s_X152 -> StateT Int IO ((b_X14Z -> s_X152 -> r_aoc) -> r_aoc))))
@ r_a13g s'_aKI } in
let {
ds_X292
:: StateT
Int
IO
((a_X14X
-> s_X152 -> StateT Int IO ((b_X14Z -> s_X152 -> r_aoc) -> r_aoc))
-> StateT Int IO ((b_X14Z -> s_X152 -> r_aoc) -> r_aoc))
ds_X292 =
(ds_X28W
`cast` (Cont8.NTCo:StateT[0]
<s_X152>_N <StateT Int IO>_R <a_X14X>_N
:: StateT s_X152 (StateT Int IO) a_X14X
~R# (forall r_aoc.
s_X152 -> StateT Int IO ((a_X14X -> s_X152 -> r_aoc) -> r_aoc))))
@ (StateT Int IO ((b_X14Z -> s_X152 -> r_aoc) -> r_aoc))
eta_B1 } in
(\ (@ r_Xqe) (eta_B2 :: Int) (eta_X25 :: State# RealWorld) ->
case (((ds_X292
`cast` (Cont8.NTCo:StateT[0]
<Int>_N
<IO>_R
<(a_X14X
-> s_X152 -> StateT Int IO ((b_X14Z -> s_X152 -> r_aoc) -> r_aoc))
-> StateT Int IO ((b_X14Z -> s_X152 -> r_aoc) -> r_aoc)>_N
:: StateT
Int
IO
((a_X14X
-> s_X152 -> StateT Int IO ((b_X14Z -> s_X152 -> r_aoc) -> r_aoc))
-> StateT Int IO ((b_X14Z -> s_X152 -> r_aoc) -> r_aoc))
~R# (forall r_Xod.
Int
-> IO
((((a_X14X
-> s_X152
-> StateT Int IO ((b_X14Z -> s_X152 -> r_aoc) -> r_aoc))
-> StateT Int IO ((b_X14Z -> s_X152 -> r_aoc) -> r_aoc))
-> Int -> r_Xod)
-> r_Xod))))
@ (IO
((((b_X14Z -> s_X152 -> r_aoc) -> r_aoc) -> Int -> r_Xqe)
-> r_Xqe))
eta_B2)
`cast` (NTCo:IO[0]
<(((a_X14X
-> s_X152 -> StateT Int IO ((b_X14Z -> s_X152 -> r_aoc) -> r_aoc))
-> StateT Int IO ((b_X14Z -> s_X152 -> r_aoc) -> r_aoc))
-> Int
-> IO
((((b_X14Z -> s_X152 -> r_aoc) -> r_aoc) -> Int -> r_Xqe)
-> r_Xqe))
-> IO
((((b_X14Z -> s_X152 -> r_aoc) -> r_aoc) -> Int -> r_Xqe)
-> r_Xqe)>_R
:: IO
((((a_X14X
-> s_X152 -> StateT Int IO ((b_X14Z -> s_X152 -> r_aoc) -> r_aoc))
-> StateT Int IO ((b_X14Z -> s_X152 -> r_aoc) -> r_aoc))
-> Int
-> IO
((((b_X14Z -> s_X152 -> r_aoc) -> r_aoc) -> Int -> r_Xqe)
-> r_Xqe))
-> IO
((((b_X14Z -> s_X152 -> r_aoc) -> r_aoc) -> Int -> r_Xqe)
-> r_Xqe))
~R# (State# RealWorld
-> (# State# RealWorld,
(((a_X14X
-> s_X152
-> StateT Int IO ((b_X14Z -> s_X152 -> r_aoc) -> r_aoc))
-> StateT Int IO ((b_X14Z -> s_X152 -> r_aoc) -> r_aoc))
-> Int
-> IO
((((b_X14Z -> s_X152 -> r_aoc) -> r_aoc) -> Int -> r_Xqe)
-> r_Xqe))
-> IO
((((b_X14Z -> s_X152 -> r_aoc) -> r_aoc) -> Int -> r_Xqe)
-> r_Xqe) #))))
eta_X25
of _ { (# ipv_a2j9, ipv1_a2ja #) ->
((ipv1_a2ja
(\ (x_aKH
:: (a_X14X
-> s_X152 -> StateT Int IO ((b_X14Z -> s_X152 -> r_aoc) -> r_aoc))
-> StateT Int IO ((b_X14Z -> s_X152 -> r_aoc) -> r_aoc))
(s'_aKI :: Int) ->
((x_aKH (lvl_s2ij @ r_aoc))
`cast` (Cont8.NTCo:StateT[0]
<Int>_N <IO>_R <(b_X14Z -> s_X152 -> r_aoc) -> r_aoc>_N
:: StateT Int IO ((b_X14Z -> s_X152 -> r_aoc) -> r_aoc)
~R# (forall r_Xod.
Int
-> IO
((((b_X14Z -> s_X152 -> r_aoc) -> r_aoc) -> Int -> r_Xod)
-> r_Xod))))
@ r_Xqe s'_aKI))
`cast` (NTCo:IO[0]
<(((b_X14Z -> s_X152 -> r_aoc) -> r_aoc) -> Int -> r_Xqe)
-> r_Xqe>_R
:: IO
((((b_X14Z -> s_X152 -> r_aoc) -> r_aoc) -> Int -> r_Xqe) -> r_Xqe)
~R# (State# RealWorld
-> (# State# RealWorld,
(((b_X14Z -> s_X152 -> r_aoc) -> r_aoc) -> Int -> r_Xqe)
-> r_Xqe #))))
ipv_a2j9
})
`cast` ((forall r_Xqd.
<Int>_R
-> Sym
(NTCo:IO[0]
<(((b_X14Z -> s_X152 -> r_aoc) -> r_aoc) -> Int -> r_Xqd)
-> r_Xqd>_R))
; Sym
(Cont8.NTCo:StateT[0]
<Int>_N <IO>_R <(b_X14Z -> s_X152 -> r_aoc) -> r_aoc>_N)
:: (forall r_Xqd.
Int
-> State# RealWorld
-> (# State# RealWorld,
(((b_X14Z -> s_X152 -> r_aoc) -> r_aoc) -> Int -> r_Xqd)
-> r_Xqd #))
~R# StateT Int IO ((b_X14Z -> s_X152 -> r_aoc) -> r_aoc))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment