Skip to content

Instantly share code, notes, and snippets.

@maoe
Created July 23, 2017 21:16
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 maoe/67fd98a93a0dbaf4333f282e7a416c3e to your computer and use it in GitHub Desktop.
Save maoe/67fd98a93a0dbaf4333f282e7a416c3e to your computer and use it in GitHub Desktop.
Core for foldr on list
-- RHS size: {terms: 30, types: 29, coercions: 0, joins: 1/1}
Data.Foldable.$fFoldable[]_$cfoldr'
:: forall a b. (a -> b -> b) -> b -> [a] -> b
[GblId,
Arity=3,
Caf=NoCafRefs,
Str=<L,C(C1(U))><L,U><S,1*U>,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0 0] 126 0}]
Data.Foldable.$fFoldable[]_$cfoldr'
= \ (@ a_a62l)
(@ b_a62m)
(f_a3oY :: a_a62l -> b_a62m -> b_a62m)
(z0_a3oZ :: b_a62m)
(xs_a3p0 :: [a_a62l]) ->
src<libraries/base/Data/Foldable.hs:(155,5)-(156,33)>
src<libraries/base/Data/Foldable.hs:284:5-24>
joinrec {
go_a6kJ [Occ=LoopBreaker]
:: [a_a62l] -> (b_a62m -> b_a62m) -> b_a62m -> b_a62m
[LclId[JoinId(3)],
Arity=3,
Str=<S,1*U><C(S),1*C1(U)><L,U>,
Unf=OtherCon []]
go_a6kJ (ds_a6kK :: [a_a62l])
(eta_B1 :: b_a62m -> b_a62m)
(eta1_X2 :: b_a62m)
= case ds_a6kK of {
[] -> eta_B1 eta1_X2;
: y_a6kP ys_a6kQ ->
jump go_a6kJ
ys_a6kQ
(\ (z_a3p4 [OS=OneShot] :: b_a62m) ->
src<libraries/base/Data/Foldable.hs:155:28-29>
src<libraries/base/Data/Foldable.hs:156:13-33>
src<libraries/base/Data/Foldable.hs:156:24-33>
case f_a3oY
(src<libraries/base/Data/Foldable.hs:156:31> y_a6kP)
(src<libraries/base/Data/Foldable.hs:156:33> z_a3p4)
of vx_a6ik
{ __DEFAULT ->
src<libraries/base/Data/Foldable.hs:156:24> eta_B1 vx_a6ik
})
eta1_X2
}; } in
jump go_a6kJ
xs_a3p0
(id @ b_a62m)
(src<libraries/base/Data/Foldable.hs:155:37-38> z0_a3oZ)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment