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 2024 ExpyDoc