mirror of
https://github.com/idris-lang/Idris2.git
synced 2024-12-19 09:12:34 +03:00
80 lines
1.6 KiB
Plaintext
80 lines
1.6 KiB
Plaintext
1/1: Building Inlining (Inlining.idr)
|
|
Main> Main.leaveAlone
|
|
Arguments [{arg:0}]
|
|
Compile time tree: {arg:0} ++ "!"
|
|
Compiled: \ {arg:0} => {arg:0} ++ "!"
|
|
Refers to: Prelude.Types.String.(++)
|
|
Flags: covering
|
|
Size change:
|
|
Prelude.Types.String.(++):
|
|
l 0
|
|
r +--
|
|
0 | =
|
|
Main> Main.forceInline
|
|
Arguments [{arg:0}]
|
|
Compile time tree: {arg:0} + 10
|
|
Compiled: \ {arg:0} => {arg:0} + 10
|
|
Refers to: Prelude.Types.Num implementation at Prelude.Types:66:1--71:33, Prelude.Types.Z, Prelude.Types.S, Prelude.Types.Nat, Prelude.Num.(+)
|
|
Flags: covering, inline
|
|
Size change:
|
|
Prelude.Num.(+):
|
|
l 0
|
|
r +--
|
|
2 | =
|
|
Prelude.Types.Num implementation at Prelude.Types:66:1--71:33:
|
|
l
|
|
r +
|
|
Main> Main.forceNoInline
|
|
Arguments []
|
|
Compile time tree: 10
|
|
Compiled: 10
|
|
Refers to: Prelude.Types.Z, Prelude.Types.S
|
|
Flags: allguarded, covering, noinline
|
|
Size change:
|
|
Prelude.Types.S:
|
|
l
|
|
r +
|
|
Prelude.Types.Z:
|
|
l
|
|
r +
|
|
Main> Main.heuristicPublicInline
|
|
Arguments []
|
|
Compile time tree: 2
|
|
Compiled: 2
|
|
Refers to: Prelude.Types.Z, Prelude.Types.S
|
|
Flags: inline, allguarded, covering
|
|
Size change:
|
|
Prelude.Types.S:
|
|
l
|
|
r +
|
|
Prelude.Types.Z:
|
|
l
|
|
r +
|
|
Main> Main.exportedForced
|
|
Arguments []
|
|
Compile time tree: 33
|
|
Compiled: 33
|
|
Refers to: Prelude.Types.Z, Prelude.Types.S
|
|
Flags: allguarded, covering, inline
|
|
Size change:
|
|
Prelude.Types.S:
|
|
l
|
|
r +
|
|
Prelude.Types.Z:
|
|
l
|
|
r +
|
|
Main> Main.exportedUnforced
|
|
Arguments []
|
|
Compile time tree: 66
|
|
Compiled: 66
|
|
Refers to: Prelude.Types.Z, Prelude.Types.S
|
|
Flags: allguarded, covering
|
|
Size change:
|
|
Prelude.Types.S:
|
|
l
|
|
r +
|
|
Prelude.Types.Z:
|
|
l
|
|
r +
|
|
Main> Bye for now!
|