Skip to content

Instantly share code, notes, and snippets.

@wecing
Last active August 29, 2015 13:57
Show Gist options
  • Save wecing/9628374 to your computer and use it in GitHub Desktop.
Save wecing/9628374 to your computer and use it in GitHub Desktop.
raw ir of minimal
$-1 "x"
$-2 "y"
$-3 "f"
$-4 "display"
$-5 "+"
$-6 "foldl"
$-7 "acc"
$-8 "v"
$-9 "eqv?"
$-10 "car"
$-11 "cdr"
$-12 "get√"
$-13 "*"
$0 <- lambda 0 0 {
$2 <- lambda 3 0 $-1 $-2 $-3 {
$4 <- funcall 2 $-3 $-1 $-2
$3 <- funcall 1 $-4 $4
$6 <- value #\newline
$5 <- funcall 1 $-4 $6
}
$7 <- value 5
$8 <- value 8
$9 <- lambda 2 0 $-1 $-2 {
$10 <- funcall 2 $-5 $-1 $-2
}
$1 <- funcall 3 $2 $7 $8 $9
$12 <- lambda 1 0 $-6 {
$14 <- lambda 3 0 $-3 $-7 $-8 {
$16 <- value ()
$15 <- funcall 2 $-9 $-8 $16
$17 <- if $15 {
$-7
} else {
$20 <- funcall 1 $-10 $-8
$19 <- funcall 2 $-3 $-7 $20
$21 <- funcall 1 $-11 $-8
$18 <- funcall 3 $-6 $-3 $19 $21
}
}
$13 <- set $-6 $14
$24 <- value 0
$25 <- value (1 2 3 4 5)
$23 <- funcall 3 $-6 $-5 $24 $25
$22 <- funcall 1 $-4 $23
$27 <- value #\newline
$26 <- funcall 1 $-4 $27
}
$28 <- value ()
$11 <- funcall 1 $12 $28
$30 <- lambda 1 0 $-12 {
$33 <- value 42
$32 <- funcall 1 $-12 $33
$31 <- funcall 1 $-4 $32
$35 <- value #\newline
$34 <- funcall 1 $-4 $35
}
$36 <- lambda 1 0 $-1 {
$37 <- if $-1 {
$38 <- value "get√"
} else {
$39 <- value "get×"
}
}
$29 <- funcall 1 $30 $36
$42 <- value 3.500000
$43 <- value 2.100000
$41 <- funcall 2 $-13 $42 $43
$40 <- funcall 1 $-4 $41
$45 <- value #\newline
$44 <- funcall 1 $-4 $45
$47 <- value "==> 13/15/get√/7.35"
$46 <- funcall 1 $-4 $47
$49 <- value #\newline
$48 <- funcall 1 $-4 $49
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment