Diff
checker
文本
文本
图像
文档
Excel
文件夹
Legal
Enterprise
桌面版
定价
登录
下载 Diffchecker 桌面版
比较文本
查找两个文本文件之间的差异
工具
历史
实时编辑器
折叠未更改行
关闭换行
视图
拆分
统一
比对精度
智能
单词
字符
语法高亮
选择语法
忽略
文本转换
转到第一个差异
编辑输入
Diffchecker Desktop
运行Diffchecker最安全的方式。获取Diffchecker桌面应用:您的差异永远不会离开您的电脑!
获取桌面版
Untitled diff
创建于
10年前
差异永不过期
清除
导出
分享
解释
71 删除
行
总计
删除
字符
总计
删除
要继续使用此功能,请升级到
Diff
checker
Pro
查看价格
246 行
全部复制
85 添加
行
总计
添加
字符
总计
添加
要继续使用此功能,请升级到
Diff
checker
Pro
查看价格
258 行
全部复制
==================== Tidy Core ====================
==================== Tidy Core ====================
复制
已复制
复制
已复制
2016-07-13 02:20:57.
288844358
UTC
2016-07-13 02:20:57.
281410206
UTC
复制
已复制
复制
已复制
Result size of Tidy Core = {terms:
120
, types:
664
, coercions:
458
}
Result size of Tidy Core = {terms:
119
, types:
727
, coercions:
529
}
-- RHS size: {terms: 2, types: 0, coercions: 0}
-- RHS size: {terms: 2, types: 0, coercions: 0}
$trModule2 :: TrName
$trModule2 :: TrName
[GblId,
[GblId,
Caf=NoCafRefs,
Caf=NoCafRefs,
Str=DmdType m1,
Str=DmdType m1,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 20}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 20}]
$trModule2 = TrNameS "main"#
$trModule2 = TrNameS "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
-- RHS size: {terms: 2, types: 0, coercions: 0}
$trModule1 :: TrName
$trModule1 :: TrName
[GblId,
[GblId,
Caf=NoCafRefs,
Caf=NoCafRefs,
Str=DmdType m1,
Str=DmdType m1,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 40 20}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 40 20}]
复制
已复制
复制
已复制
$trModule1 = TrNameS "
FooBench
"#
$trModule1 = TrNameS "
BarBench
"#
-- RHS size: {terms: 3, types: 0, coercions: 0}
-- RHS size: {terms: 3, types: 0, coercions: 0}
$trModule :: Module
$trModule :: Module
[GblId,
[GblId,
Caf=NoCafRefs,
Caf=NoCafRefs,
Str=DmdType m,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$trModule = Module $trModule2 $trModule1
$trModule = Module $trModule2 $trModule1
-- RHS size: {terms: 2, types: 0, coercions: 0}
-- RHS size: {terms: 2, types: 0, coercions: 0}
复制
已复制
复制
已复制
benches
2
:: [Char]
benches
15
:: [Char]
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
复制
已复制
复制
已复制
benches
2
= unpackCString# "
Foo
"#
benches
15
= unpackCString# "
Bar
"#
-- RHS size: {terms: 3, types: 4, coercions: 7}
-- RHS size: {terms: 3, types: 4, coercions: 7}
复制
已复制
复制
已复制
$sfoo14
:: R:SingBinz ('D0 'B1)
benches14
:: R:SingBinz ('D0 'B1)
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
复制
已复制
复制
已复制
$sfoo14
= SD0 ($fSingIBinD0_$d~~ `cast` ...) $fSingIBinB1_$s$WSB1
benches14
= SD0 ($fSingIBinD0_$d~~ `cast` ...) $fSingIBinB1_$s$WSB1
-- RHS size: {terms: 3, types: 7, coercions: 13}
-- RHS size: {terms: 3, types: 7, coercions: 13}
复制
已复制
复制
已复制
$sfoo13
:: R:SingPrimeBinz ('P ('D0 'B1))
benches13
:: R:SingPrimeBinz ('P ('D0 'B1))
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
复制
已复制
复制
已复制
$sfoo13
=
benches13
=
SP ($fSingIPrimeBinP_$d~~ `cast` ...) (
$sfoo14
`cast` ...)
SP ($fSingIPrimeBinP_$d~~ `cast` ...) (
benches14
`cast` ...)
-- RHS size: {terms: 3, types: 4, coercions: 7}
-- RHS size: {terms: 3, types: 4, coercions: 7}
复制
已复制
复制
已复制
$sfoo12
:: R:SingPosz ('S 'O)
benches12
:: R:SingPosz ('S 'O)
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
复制
已复制
复制
已复制
$sfoo12
= SS ($fSingIPosS_$d~~ `cast` ...) $fSingIPosO_$s$WSO
benches12
= SS ($fSingIPosS_$d~~ `cast` ...) $fSingIPosO_$s$WSO
-- RHS size: {terms: 3, types: 7, coercions: 13}
-- RHS size: {terms: 3, types: 7, coercions: 13}
复制
已复制
复制
已复制
$sfoo11
:: R:SingPosz ('S ('S 'O))
benches11
:: R:SingPosz ('S ('S 'O))
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
复制
已复制
复制
已复制
$sfoo11
= SS ($fSingIPosS_$d~~ `cast` ...) (
$sfoo12
`cast` ...)
benches11
= SS ($fSingIPosS_$d~~ `cast` ...) (
benches12
`cast` ...)
-- RHS size: {terms: 3, types: 10, coercions: 16}
-- RHS size: {terms: 3, types: 10, coercions: 16}
复制
已复制
复制
已复制
$sfoo10
:: R:SingPosz ('S ('S ('S 'O)))
benches10
:: R:SingPosz ('S ('S ('S 'O)))
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
复制
已复制
复制
已复制
$sfoo10
= SS ($fSingIPosS_$d~~ `cast` ...) (
$sfoo11
`cast` ...)
benches10
= SS ($fSingIPosS_$d~~ `cast` ...) (
benches11
`cast` ...)
-- RHS size: {terms: 3, types: 13, coercions: 19}
-- RHS size: {terms: 3, types: 13, coercions: 19}
复制
已复制
复制
已复制
$sfoo9
:: R:SingPosz ('S ('S ('S ('S 'O))))
benches9
:: R:SingPosz ('S ('S ('S ('S 'O))))
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
复制
已复制
复制
已复制
$sfoo9
= SS ($fSingIPosS_$d~~ `cast` ...) (
$sfoo10
`cast` ...)
benches9
= SS ($fSingIPosS_$d~~ `cast` ...) (
benches10
`cast` ...)
-- RHS size: {terms: 3, types: 16, coercions: 22}
-- RHS size: {terms: 3, types: 16, coercions: 22}
复制
已复制
复制
已复制
$sfoo8
:: R:SingPosz ('S ('S ('S ('S ('S 'O)))))
benches8
:: R:SingPosz ('S ('S ('S ('S ('S 'O)))))
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
复制
已复制
复制
已复制
$sfoo8
= SS ($fSingIPosS_$d~~ `cast` ...) (
$sfoo9
`cast` ...)
benches8
= SS ($fSingIPosS_$d~~ `cast` ...) (
benches9
`cast` ...)
-- RHS size: {terms: 3, types: 19, coercions: 25}
-- RHS size: {terms: 3, types: 19, coercions: 25}
复制
已复制
复制
已复制
$sfoo7
:: R:SingPosz ('S ('S ('S ('S ('S ('S 'O))))))
benches7
:: R:SingPosz ('S ('S ('S ('S ('S ('S 'O))))))
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
复制
已复制
复制
已复制
$sfoo7
= SS ($fSingIPosS_$d~~ `cast` ...) (
$sfoo8
`cast` ...)
benches7
= SS ($fSingIPosS_$d~~ `cast` ...) (
benches8
`cast` ...)
-- RHS size: {terms: 4, types: 37, coercions: 45}
-- RHS size: {terms: 4, types: 37, coercions: 45}
复制
已复制
复制
已复制
$sfoo6
benches6
:: R:Sing(,)z
:: R:Sing(,)z
PrimeBin Pos '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))
PrimeBin Pos '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}]
复制
已复制
复制
已复制
$sfoo6
=
benches6
=
STuple2
STuple2
($fSingI(,)(,)_$d~~ `cast` ...)
($fSingI(,)(,)_$d~~ `cast` ...)
复制
已复制
复制
已复制
(
$sfoo13
`cast` ...)
(
benches13
`cast` ...)
(
$sfoo7
`cast` ...)
(
benches7
`cast` ...)
-- RHS size: {terms: 3, types: 40, coercions: 48}
-- RHS size: {terms: 3, types: 40, coercions: 48}
复制
已复制
复制
已复制
$sfoo5
benches5
:: R:SingPrimePowerz
:: R:SingPrimePowerz
('PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O)))))))
('PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O)))))))
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
复制
已复制
复制
已复制
$sfoo5
=
benches5
=
SPP ($fSingIPrimePowerPP_$d~~ `cast` ...) (
$sfoo6
`cast` ...)
SPP ($fSingIPrimePowerPP_$d~~ `cast` ...) (
benches6
`cast` ...)
-- RHS size: {terms: 4, types: 53, coercions: 61}
-- RHS size: {terms: 4, types: 53, coercions: 61}
复制
已复制
复制
已复制
$sfoo4
benches4
:: R:Sing[]z
:: R:Sing[]z
PrimePower '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]
PrimePower '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}]
复制
已复制
复制
已复制
$sfoo4
=
benches4
=
SCons
SCons
($fSingI[]:_$d~~ `cast` ...)
($fSingI[]:_$d~~ `cast` ...)
复制
已复制
复制
已复制
(
$sfoo5
`cast` ...)
(
benches5
`cast` ...)
($fSingI[][]1 `cast` ...)
($fSingI[][]1 `cast` ...)
-- RHS size: {terms: 3, types: 55, coercions: 62}
-- RHS size: {terms: 3, types: 55, coercions: 62}
复制
已复制
复制
已复制
$sfoo3
benches3
:: R:SingFactoredz
:: R:SingFactoredz
('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])
('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
复制
已复制
复制
已复制
$sfoo3
= SF ($fSingIFactoredF_$d~~ `cast` ...) (
$sfoo4
`cast` ...)
benches3
= SF ($fSingIFactoredF_$d~~ `cast` ...) (
benches4
`cast` ...)
-- RHS size: {terms: 2, types: 19, coercions: 25}
-- RHS size: {terms: 2, types: 19, coercions: 25}
复制
已复制
复制
已复制
$sfoo2
benches2
:: Tagged
:: Tagged
复制
已复制
复制
已复制
(FSym1
'[
'PP
'
('P ('D0 'B1)
,
'S ('S ('S ('S ('S ('S 'O))))))
]
) [PP]
(FSym1
(
'PP
(Tuple2Sym2
('P ('D0 'B1)
) (
'S ('S ('S ('S ('S ('S 'O))))))
) :$$$ '[])
) [PP]
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 20 0}]
WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 20 0}]
复制
已复制
复制
已复制
$sfoo2
= ppsFact (
$sfoo3
`cast` ...)
benches2
= ppsFact (
benches3
`cast` ...)
-- RHS size: {terms: 7, types: 1, coercions: 23}
-- RHS size: {terms: 7, types: 1, coercions: 23}
复制
已复制
复制
已复制
$sfoo_totm
:: Int64
benches_n
:: Int64
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 20}]
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 20}]
复制
已复制
复制
已复制
$sfoo_totm
=
benches_n
=
case $wgo (
$sfoo2
`cast` ...) 1# of ww { __DEFAULT -> I64# ww }
case $wgo (
benches2
`cast` ...) 1# of ww { __DEFAULT -> I64# ww }
复制
已复制
复制
已复制
-- RHS size: {terms: 9, types: 5, coercions:
63
}
-- RHS size: {terms: 9, types: 5, coercions:
88
}
benches1 [InlPrag=INLINE[0]]
benches1 [InlPrag=INLINE[0]]
:: Int64 -> State# RealWorld -> (# State# RealWorld, () #)
:: Int64 -> State# RealWorld -> (# State# RealWorld, () #)
[GblId,
[GblId,
Arity=2,
Arity=2,
Str=DmdType <S(S),1*U(U)><S,U>,
Str=DmdType <S(S),1*U(U)><S,U>,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=False)
Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=False)
Tmpl= \ (w [Occ=Once!] :: Int64)
Tmpl= \ (w [Occ=Once!] :: Int64)
(w1 [Occ=Once, OS=OneShot] :: State# RealWorld) ->
(w1 [Occ=Once, OS=OneShot] :: State# RealWorld) ->
case w of _ [Occ=Dead] { I64# ww1 [Occ=Once] ->
case w of _ [Occ=Dead] { I64# ww1 [Occ=Once] ->
复制
已复制
复制
已复制
benches_$s$wgo12 w1 ww1 (
$sfoo_totm
`cast` ...) @~ ...
benches_$s$wgo12 w1 ww1 (
benches_n
`cast` ...) @~ ...
}}]
}}]
benches1 =
benches1 =
\ (w :: Int64) (w1 [OS=OneShot] :: State# RealWorld) ->
\ (w :: Int64) (w1 [OS=OneShot] :: State# RealWorld) ->
case w of _ [Occ=Dead] { I64# ww1 ->
case w of _ [Occ=Dead] { I64# ww1 ->
复制
已复制
复制
已复制
benches_$s$wgo12 w1 ww1 (
$sfoo_totm
`cast` ...) @~ ...
benches_$s$wgo12 w1 ww1 (
benches_n
`cast` ...) @~ ...
}
}
-- RHS size: {terms: 3, types: 0, coercions: 8}
-- RHS size: {terms: 3, types: 0, coercions: 8}
benches :: Benchmark
benches :: Benchmark
[GblId,
[GblId,
Str=DmdType m2,
Str=DmdType m2,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
复制
已复制
复制
已复制
benches = Benchmark benches
2
(benches1 `cast` ...)
benches = Benchmark benches
15
(benches1 `cast` ...)
Rec {
Rec {
复制
已复制
复制
已复制
-- RHS size: {terms:
31
, types: 1
2
9, coercions:
1
}
-- RHS size: {terms:
30
, types: 1
6
9, coercions:
47
}
benches_$s$wgo12 [Occ=LoopBreaker]
benches_$s$wgo12 [Occ=LoopBreaker]
:: State# RealWorld
:: State# RealWorld
-> Int#
-> Int#
复制
已复制
复制
已复制
->
Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])
->
Bar
-> ((
Foo
Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])
('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])
-> ((
Bar
-> Int64) :: *)
Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])
~R#
((
Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])
-> Foo
-> Foo
复制
已复制
复制
已复制
('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])) :: *)
~R#
((Bar
Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])
-> Bar
Foo
('F
('F
'['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])) :: *) =>
'['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])) :: *) =>
(# State# RealWorld, () #)
(# State# RealWorld, () #)
[GblId, Arity=4, Str=DmdType <S,U><S,U><L,U><L,U>]
[GblId, Arity=4, Str=DmdType <S,U><S,U><L,U><L,U>]
benches_$s$wgo12 =
benches_$s$wgo12 =
\ (sc [OS=OneShot] :: State# RealWorld)
\ (sc [OS=OneShot] :: State# RealWorld)
(sc1 :: Int#)
(sc1 :: Int#)
(sc2
(sc2
复制
已复制
复制
已复制
::
Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]))
::
Bar
Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]))
(sg0
(sg0
复制
已复制
复制
已复制
:: ((
Foo
:: ((
Bar
('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])
Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])
-> Int64) :: *)
~R#
((
Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])
-> Foo
-> Foo
复制
已复制
复制
已复制
('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])) :: *)
~R#
((Bar
Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])
-> Bar
Foo
('F
('F
'['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])) :: *)) ->
'['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])) :: *)) ->
case tagToEnum# (<=# sc1 0#) of _ [Occ=Dead] {
case tagToEnum# (<=# sc1 0#) of _ [Occ=Dead] {
False ->
False ->
case seq#
case seq#
复制
已复制
复制
已复制
(case
sc2
of _ [Occ=Dead] { __DEFAULT ->
(case
foo (benches3 `cast` ...) (
sc2
`cast` ...)
case $sfoo_totm of _ [Occ=Dead] { I64# y# -> () }
of _ [Occ=Dead] { __DEFAULT ->
()
})
})
sc
sc
of _ [Occ=Dead] { (# ipv, ipv1 #) ->
of _ [Occ=Dead] { (# ipv, ipv1 #) ->
benches_$s$wgo12 ipv (-# sc1 1#) sc2 @~ ...
benches_$s$wgo12 ipv (-# sc1 1#) sc2 @~ ...
};
};
True -> (# sc, () #)
True -> (# sc, () #)
}
}
end Rec }
end Rec }
复制
已复制
复制
已复制
已保存差异
原始文本
打开文件
==================== Tidy Core ==================== 2016-07-13 02:20:57.288844358 UTC Result size of Tidy Core = {terms: 120, types: 664, coercions: 458} -- RHS size: {terms: 2, types: 0, coercions: 0} $trModule2 :: TrName [GblId, Caf=NoCafRefs, Str=DmdType m1, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 20}] $trModule2 = TrNameS "main"# -- RHS size: {terms: 2, types: 0, coercions: 0} $trModule1 :: TrName [GblId, Caf=NoCafRefs, Str=DmdType m1, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 40 20}] $trModule1 = TrNameS "FooBench"# -- RHS size: {terms: 3, types: 0, coercions: 0} $trModule :: Module [GblId, Caf=NoCafRefs, Str=DmdType m, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] $trModule = Module $trModule2 $trModule1 -- RHS size: {terms: 2, types: 0, coercions: 0} benches2 :: [Char] [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}] benches2 = unpackCString# "Foo"# -- RHS size: {terms: 3, types: 4, coercions: 7} $sfoo14 :: R:SingBinz ('D0 'B1) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] $sfoo14 = SD0 ($fSingIBinD0_$d~~ `cast` ...) $fSingIBinB1_$s$WSB1 -- RHS size: {terms: 3, types: 7, coercions: 13} $sfoo13 :: R:SingPrimeBinz ('P ('D0 'B1)) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] $sfoo13 = SP ($fSingIPrimeBinP_$d~~ `cast` ...) ($sfoo14 `cast` ...) -- RHS size: {terms: 3, types: 4, coercions: 7} $sfoo12 :: R:SingPosz ('S 'O) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] $sfoo12 = SS ($fSingIPosS_$d~~ `cast` ...) $fSingIPosO_$s$WSO -- RHS size: {terms: 3, types: 7, coercions: 13} $sfoo11 :: R:SingPosz ('S ('S 'O)) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] $sfoo11 = SS ($fSingIPosS_$d~~ `cast` ...) ($sfoo12 `cast` ...) -- RHS size: {terms: 3, types: 10, coercions: 16} $sfoo10 :: R:SingPosz ('S ('S ('S 'O))) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] $sfoo10 = SS ($fSingIPosS_$d~~ `cast` ...) ($sfoo11 `cast` ...) -- RHS size: {terms: 3, types: 13, coercions: 19} $sfoo9 :: R:SingPosz ('S ('S ('S ('S 'O)))) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] $sfoo9 = SS ($fSingIPosS_$d~~ `cast` ...) ($sfoo10 `cast` ...) -- RHS size: {terms: 3, types: 16, coercions: 22} $sfoo8 :: R:SingPosz ('S ('S ('S ('S ('S 'O))))) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] $sfoo8 = SS ($fSingIPosS_$d~~ `cast` ...) ($sfoo9 `cast` ...) -- RHS size: {terms: 3, types: 19, coercions: 25} $sfoo7 :: R:SingPosz ('S ('S ('S ('S ('S ('S 'O)))))) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] $sfoo7 = SS ($fSingIPosS_$d~~ `cast` ...) ($sfoo8 `cast` ...) -- RHS size: {terms: 4, types: 37, coercions: 45} $sfoo6 :: R:Sing(,)z PrimeBin Pos '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O)))))) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] $sfoo6 = STuple2 ($fSingI(,)(,)_$d~~ `cast` ...) ($sfoo13 `cast` ...) ($sfoo7 `cast` ...) -- RHS size: {terms: 3, types: 40, coercions: 48} $sfoo5 :: R:SingPrimePowerz ('PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] $sfoo5 = SPP ($fSingIPrimePowerPP_$d~~ `cast` ...) ($sfoo6 `cast` ...) -- RHS size: {terms: 4, types: 53, coercions: 61} $sfoo4 :: R:Sing[]z PrimePower '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))] [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] $sfoo4 = SCons ($fSingI[]:_$d~~ `cast` ...) ($sfoo5 `cast` ...) ($fSingI[][]1 `cast` ...) -- RHS size: {terms: 3, types: 55, coercions: 62} $sfoo3 :: R:SingFactoredz ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] $sfoo3 = SF ($fSingIFactoredF_$d~~ `cast` ...) ($sfoo4 `cast` ...) -- RHS size: {terms: 2, types: 19, coercions: 25} $sfoo2 :: Tagged (FSym1 '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]) [PP] [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 20 0}] $sfoo2 = ppsFact ($sfoo3 `cast` ...) -- RHS size: {terms: 7, types: 1, coercions: 23} $sfoo_totm :: Int64 [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 20}] $sfoo_totm = case $wgo ($sfoo2 `cast` ...) 1# of ww { __DEFAULT -> I64# ww } -- RHS size: {terms: 9, types: 5, coercions: 63} benches1 [InlPrag=INLINE[0]] :: Int64 -> State# RealWorld -> (# State# RealWorld, () #) [GblId, Arity=2, Str=DmdType <S(S),1*U(U)><S,U>, Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=False) Tmpl= \ (w [Occ=Once!] :: Int64) (w1 [Occ=Once, OS=OneShot] :: State# RealWorld) -> case w of _ [Occ=Dead] { I64# ww1 [Occ=Once] -> benches_$s$wgo12 w1 ww1 ($sfoo_totm `cast` ...) @~ ... }}] benches1 = \ (w :: Int64) (w1 [OS=OneShot] :: State# RealWorld) -> case w of _ [Occ=Dead] { I64# ww1 -> benches_$s$wgo12 w1 ww1 ($sfoo_totm `cast` ...) @~ ... } -- RHS size: {terms: 3, types: 0, coercions: 8} benches :: Benchmark [GblId, Str=DmdType m2, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] benches = Benchmark benches2 (benches1 `cast` ...) Rec { -- RHS size: {terms: 31, types: 129, coercions: 1} benches_$s$wgo12 [Occ=LoopBreaker] :: State# RealWorld -> Int# -> Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]) -> ((Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]) -> Int64) :: *) ~R# ((Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]) -> Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])) :: *) => (# State# RealWorld, () #) [GblId, Arity=4, Str=DmdType <S,U><S,U><L,U><L,U>] benches_$s$wgo12 = \ (sc [OS=OneShot] :: State# RealWorld) (sc1 :: Int#) (sc2 :: Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])) (sg0 :: ((Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]) -> Int64) :: *) ~R# ((Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]) -> Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])) :: *)) -> case tagToEnum# (<=# sc1 0#) of _ [Occ=Dead] { False -> case seq# (case sc2 of _ [Occ=Dead] { __DEFAULT -> case $sfoo_totm of _ [Occ=Dead] { I64# y# -> () } }) sc of _ [Occ=Dead] { (# ipv, ipv1 #) -> benches_$s$wgo12 ipv (-# sc1 1#) sc2 @~ ... }; True -> (# sc, () #) } end Rec }
更改后文本
打开文件
==================== Tidy Core ==================== 2016-07-13 02:20:57.281410206 UTC Result size of Tidy Core = {terms: 119, types: 727, coercions: 529} -- RHS size: {terms: 2, types: 0, coercions: 0} $trModule2 :: TrName [GblId, Caf=NoCafRefs, Str=DmdType m1, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 20}] $trModule2 = TrNameS "main"# -- RHS size: {terms: 2, types: 0, coercions: 0} $trModule1 :: TrName [GblId, Caf=NoCafRefs, Str=DmdType m1, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 40 20}] $trModule1 = TrNameS "BarBench"# -- RHS size: {terms: 3, types: 0, coercions: 0} $trModule :: Module [GblId, Caf=NoCafRefs, Str=DmdType m, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] $trModule = Module $trModule2 $trModule1 -- RHS size: {terms: 2, types: 0, coercions: 0} benches15 :: [Char] [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}] benches15 = unpackCString# "Bar"# -- RHS size: {terms: 3, types: 4, coercions: 7} benches14 :: R:SingBinz ('D0 'B1) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] benches14 = SD0 ($fSingIBinD0_$d~~ `cast` ...) $fSingIBinB1_$s$WSB1 -- RHS size: {terms: 3, types: 7, coercions: 13} benches13 :: R:SingPrimeBinz ('P ('D0 'B1)) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] benches13 = SP ($fSingIPrimeBinP_$d~~ `cast` ...) (benches14 `cast` ...) -- RHS size: {terms: 3, types: 4, coercions: 7} benches12 :: R:SingPosz ('S 'O) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] benches12 = SS ($fSingIPosS_$d~~ `cast` ...) $fSingIPosO_$s$WSO -- RHS size: {terms: 3, types: 7, coercions: 13} benches11 :: R:SingPosz ('S ('S 'O)) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] benches11 = SS ($fSingIPosS_$d~~ `cast` ...) (benches12 `cast` ...) -- RHS size: {terms: 3, types: 10, coercions: 16} benches10 :: R:SingPosz ('S ('S ('S 'O))) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] benches10 = SS ($fSingIPosS_$d~~ `cast` ...) (benches11 `cast` ...) -- RHS size: {terms: 3, types: 13, coercions: 19} benches9 :: R:SingPosz ('S ('S ('S ('S 'O)))) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] benches9 = SS ($fSingIPosS_$d~~ `cast` ...) (benches10 `cast` ...) -- RHS size: {terms: 3, types: 16, coercions: 22} benches8 :: R:SingPosz ('S ('S ('S ('S ('S 'O))))) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] benches8 = SS ($fSingIPosS_$d~~ `cast` ...) (benches9 `cast` ...) -- RHS size: {terms: 3, types: 19, coercions: 25} benches7 :: R:SingPosz ('S ('S ('S ('S ('S ('S 'O)))))) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] benches7 = SS ($fSingIPosS_$d~~ `cast` ...) (benches8 `cast` ...) -- RHS size: {terms: 4, types: 37, coercions: 45} benches6 :: R:Sing(,)z PrimeBin Pos '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O)))))) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] benches6 = STuple2 ($fSingI(,)(,)_$d~~ `cast` ...) (benches13 `cast` ...) (benches7 `cast` ...) -- RHS size: {terms: 3, types: 40, coercions: 48} benches5 :: R:SingPrimePowerz ('PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] benches5 = SPP ($fSingIPrimePowerPP_$d~~ `cast` ...) (benches6 `cast` ...) -- RHS size: {terms: 4, types: 53, coercions: 61} benches4 :: R:Sing[]z PrimePower '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))] [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] benches4 = SCons ($fSingI[]:_$d~~ `cast` ...) (benches5 `cast` ...) ($fSingI[][]1 `cast` ...) -- RHS size: {terms: 3, types: 55, coercions: 62} benches3 :: R:SingFactoredz ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] benches3 = SF ($fSingIFactoredF_$d~~ `cast` ...) (benches4 `cast` ...) -- RHS size: {terms: 2, types: 19, coercions: 25} benches2 :: Tagged (FSym1 ('PP (Tuple2Sym2 ('P ('D0 'B1)) ('S ('S ('S ('S ('S ('S 'O))))))) :$$$ '[])) [PP] [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 20 0}] benches2 = ppsFact (benches3 `cast` ...) -- RHS size: {terms: 7, types: 1, coercions: 23} benches_n :: Int64 [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 20}] benches_n = case $wgo (benches2 `cast` ...) 1# of ww { __DEFAULT -> I64# ww } -- RHS size: {terms: 9, types: 5, coercions: 88} benches1 [InlPrag=INLINE[0]] :: Int64 -> State# RealWorld -> (# State# RealWorld, () #) [GblId, Arity=2, Str=DmdType <S(S),1*U(U)><S,U>, Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=False) Tmpl= \ (w [Occ=Once!] :: Int64) (w1 [Occ=Once, OS=OneShot] :: State# RealWorld) -> case w of _ [Occ=Dead] { I64# ww1 [Occ=Once] -> benches_$s$wgo12 w1 ww1 (benches_n `cast` ...) @~ ... }}] benches1 = \ (w :: Int64) (w1 [OS=OneShot] :: State# RealWorld) -> case w of _ [Occ=Dead] { I64# ww1 -> benches_$s$wgo12 w1 ww1 (benches_n `cast` ...) @~ ... } -- RHS size: {terms: 3, types: 0, coercions: 8} benches :: Benchmark [GblId, Str=DmdType m2, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] benches = Benchmark benches15 (benches1 `cast` ...) Rec { -- RHS size: {terms: 30, types: 169, coercions: 47} benches_$s$wgo12 [Occ=LoopBreaker] :: State# RealWorld -> Int# -> Bar Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]) -> ((Bar Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]) -> Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])) :: *) ~R# ((Bar Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]) -> Bar Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])) :: *) => (# State# RealWorld, () #) [GblId, Arity=4, Str=DmdType <S,U><S,U><L,U><L,U>] benches_$s$wgo12 = \ (sc [OS=OneShot] :: State# RealWorld) (sc1 :: Int#) (sc2 :: Bar Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])) (sg0 :: ((Bar Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]) -> Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])) :: *) ~R# ((Bar Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]) -> Bar Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])) :: *)) -> case tagToEnum# (<=# sc1 0#) of _ [Occ=Dead] { False -> case seq# (case foo (benches3 `cast` ...) (sc2 `cast` ...) of _ [Occ=Dead] { __DEFAULT -> () }) sc of _ [Occ=Dead] { (# ipv, ipv1 #) -> benches_$s$wgo12 ipv (-# sc1 1#) sc2 @~ ... }; True -> (# sc, () #) } end Rec }
查找差异