[
Size: a a a
[
[
YS
YS
YS
IL
[
DS
KV
KV
IO
foo :: () -> [Int]скомпилируется в
foo () = [1..1000]
foo1 :: [Int]Можно навесить на функцию
foo1 = eftInt 1# 1000#
foo :: () -> [Int]
foo = \ (ds_d19K :: ()) -> case ds_d19K of { () -> foo1 }
GHC.Exts.oneShot
, тогда такоеfoo :: () -> [Int]скомпилируется в
foo = oneShot \() -> [1..1000]
foo :: () -> [Int]Можно еще в принципе сделать
foo = \ (v_B2 :: ()) -> case v_B2 of { () -> eftInt 1# 1000# }
-fno-full-laziness
, но это действует как минимум на весь модуль, так что не советую.KV
KV
IO
foo :: a -> [Int]
foo _ = [1..1000]
foo1 :: [Int]
foo1 = eftInt 1# 1000#
foo :: forall a. a -> [Int]
foo = \ (@ a_aPR) _ -> foo1
KV