Homework 7
SNU 4190.210 Fall 2015
Chung-Kil Hur
due: 12/03 (Thu) 23:59
s
ņ
q]
j_
3
q&
l
h
r
É
• Racket\
"
f Object x
6
l
.
• {
Ü
9
¼
Ðá
Ô
ÐÕ
ªÏ
`
þ
¦&
o
ñ
H(typeful programming)
_
v
þ
l
.
• 1
xÜ
l
¼
Ð
{
9
7
x`
£
¦K
Å
Ò
H 8̈
\
â
"
fá
Ô
ÐÕ
ªA
b
ç
_
v
þ
l
.
•
¸Ñ
t(module) á
ý
Ô
ÐÕ
ª
Ab
l
ç
r
:
_
v
þ
l
.
Exercise 1 “Ó
t|
ü
×
æd
s
Ò
o
Á
º”
Racket\
"
f
6
§_
£
l
S
`
\
¦ t
HÓ
t|
ü
×
æd
s
Ò
oà
Ôo
\
¦ë
ß
H
.
bstree-make : unit → bstree
bstree-add-elmt : bstree ∗ int ∗ τ → bool
bstree-del-elmt : bstree ∗ int → bool
bstree-find-elmt : bstree ∗ int → (τ + unit)
• bstree-make
Hq
#
Qe
Hs
Ò
o
Á
º\
¦ë
ß
H
.
• bstree-add-elmt(t, k, v)
H k
H v
°
\כ
ú
v
H °
`כ
ú
¦ Á
º\
Æ
Òô
Ç
.
ß
ë
k
Hv
°
`כ
ú
¦
°
כs
ú
Á
º t\
s
p
e
%
3
l
r\
>
e
H°
`כ
ú
¦
h
D
Ðî
r°
כv
ú
ÐW
#
=
Q
HÊ
ê #t\
¦ì
Í8̈
ø
ô
Ç
. Õ
ªX
t
O
·
§
ú
¤
D
h
Ðî
r°
כv\
ú
¦
Ò
Æ
¦ #f\
¦ì
Í8̈
ø
ô
Ç
.
• bstree-del-elmt(t, k)
H k
Hv
°
`כ
ú
¦
°
`כ
ú
¦
Á
º t\
"
f
]
jô
Ç
.
k
Hv
°
`כ
ú
¦
°
כs
ú
Á
º t\
s
p
e
%
3
Õ
ª°
`כ
ú
¦
]
j
¦ #t\
¦
Í8̈
ø
ì
ô
Ç
. Õ
ªX
t
O
·
§
ú
¤
Á
º
HÕ
ª@
/
п
º
¦ #f\
¦ì
Í8̈
ø
ô
Ç
.
1
• bstree-find-elmt(t, k)
H k
Hv
°
`כ
ú
¦
°
`כ
ú
¦
Á
º t\
"
f¹
Ô
1
"
fì
Í
ø
ô
8̈
Ç
. ë
{
ß
¹
9
Ô
1
r
É
Ä
â
ºî
ß
ô
ǽ
Ë(sum)`
+
¦
6
x
#
¢
aA
,
¤½
á
ËÜ
+
¼
ÐÕ
ª°
כ
ú
¦ì
`
Í8̈
ø
¦, Õ
ªX
t
O
ú
§
·
r
É
Ä
â
º
¸
rA
É
¤½
á
ËÜ
+
¼
Ð
Á
º°
כs
ú
ì
Í8̈
ø
ô
Ç
. î
ß
ô
ǽ
Ë_
+
l
S
õ
\
½
¨
³
&
r
É
¸
§ ]
j/
Nô
B
Ç
`
כ
¦
6
xô
Ç
.
2
Exercise 2 “SKI 6
xÓ
oì
Í£
ø
x
6l
ml ”
HW4_
“SKI” 6
xÓ
oì
Í6
ø
xl
£
\
¦ Ocaml
н
¨
³K
&
^
vr
. &
#
h
Q
¸
6
§_
£
¸
t
ý
Ñ
{
SKIë
9
ß
u
p
r&
É
_
ñ
a¸
)
Ñ
t SkiLiquid`
ý
¦]
j
K
"
f]
jØ
¦½
Ëm
+
.
module type SKI =
sig
type liquid = S
| K
| I
| V of string
(* variable *)
| M of liquid * liquid (* mix of two liquids *)
val react: liquid -> liquid
val pprint: liquid -> unit
end
2
2
© Copyright 2026 ExpyDoc