mirror of
https://github.com/idris-lang/Idris2.git
synced 2024-12-25 20:51:43 +03:00
55 lines
2.1 KiB
Plaintext
55 lines
2.1 KiB
Plaintext
1/1: Building Dot (Dot.idr)
|
|
Main> Main.f
|
|
Arguments [{arg:0}, {arg:1}, {arg:2}, {arg:3}]
|
|
Compile time tree: case {arg:0} of
|
|
Nil {e:4} => case {arg:3} of
|
|
Nothing {e:8} => ()
|
|
_ => case {arg:3} of
|
|
Just {e:0} {e:1} => case {e:1} of
|
|
Refl {e:2} {e:3} => f {arg:2} {arg:1} {arg:2} Nothing
|
|
(::) {e:5} {e:6} {e:7} => case {arg:3} of
|
|
Nothing {e:9} => f {e:7} {arg:1} {arg:2} Nothing
|
|
_ => case {arg:3} of
|
|
Just {e:0} {e:1} => case {e:1} of
|
|
Refl {e:2} {e:3} => f {arg:2} {arg:1} {arg:2} Nothing
|
|
_ => case {arg:3} of
|
|
Just {e:0} {e:1} => case {e:1} of
|
|
Refl {e:2} {e:3} => f {arg:2} {arg:1} {arg:2} Nothing
|
|
Compiled: \ {arg:0}, {arg:1}, {arg:2}, {arg:3} => case {arg:0} of
|
|
{ Prelude.Basics.Nil {tag = 0} [nil] => case {arg:3} of { Prelude.Types.Nothing {tag = 0} [nothing] => Builtin.MkUnit {tag = 0} [unit]; _ => case {arg:3} of { Prelude.Types.Just {tag = 1} [just] {e:1} => Main.f {arg:2} {arg:1} {arg:2} (Prelude.Types.Nothing {tag = 0} [nothing])}}
|
|
; Prelude.Basics.(::) {tag = 1} [cons] {e:6} {e:7} => case {arg:3} of { Prelude.Types.Nothing {tag = 0} [nothing] => Main.f {e:7} {arg:1} {arg:2} (Prelude.Types.Nothing {tag = 0} [nothing]); _ => case {arg:3} of { Prelude.Types.Just {tag = 1} [just] {e:1} => Main.f {arg:2} {arg:1} {arg:2} (Prelude.Types.Nothing {tag = 0} [nothing])}}
|
|
; _ => case {arg:3} of
|
|
{ Prelude.Types.Just {tag = 1} [just] {e:1} => Main.f {arg:2} {arg:1} {arg:2} (Prelude.Types.Nothing {tag = 0} [nothing])
|
|
}
|
|
}
|
|
Refers to: Main.f, Prelude.Basics.List, Prelude.Basics.(::), Builtin.MkUnit, Builtin.(===), Prelude.Types.Nothing
|
|
Refers to (runtime): Main.f, Prelude.Basics.Nil, Prelude.Basics.(::), Builtin.MkUnit, Prelude.Types.Nothing, Prelude.Types.Just
|
|
Flags: total
|
|
Size change:
|
|
Builtin.MkUnit:
|
|
l
|
|
r +
|
|
Main.f:
|
|
l 0 1 2
|
|
r +------
|
|
0 | <
|
|
1 | =
|
|
2 | =
|
|
Builtin.(===):
|
|
l 0
|
|
r +--
|
|
1 | <
|
|
Main.f:
|
|
l 0 1 2 3
|
|
r +--------
|
|
0 | < = <
|
|
1 | < = <
|
|
2 | < = <
|
|
Builtin.(===):
|
|
l 0 1 2 3
|
|
r +--------
|
|
0 | <
|
|
1 | < = <
|
|
2 | = <
|
|
Main> Bye for now!
|