ʢશͳʣܕਪ [Milner, 1978] w શ͘ܕΛॻ͔ͳͯ͘ྑ͍ ʢܕਪͷશੑCompletenessʣ w ϓϩάϥϛϯάݴޠͷ੍͕େ͖͍ʢMLʣ # let has_even_leaf tree = exists_leaf (fun n -> n mod 2 = 0) tree;; val has_even_leaf : tree -> bool =
require w require͕࣮ߦ͞ΕΔॠؒ·ͰͲͷϓϩάϥϜ͕ಡ· ΕΔ͔Θ͔Βͳ͍ w requireϝιουͳͷͰɺ࠶ఆٛͰ͖Δ͠ɺͲ͜ ʹͰॻ͚Δ͠ɺҾʹ͕ࣜॻ͚Δ w $LOAD_PATH͋ΔΑʂ w requireΛߏจʹͯ͠จࣈྻ͔͠ड͚औΕͳ͍ˍτο ϓϨϕϧʹ͔͠ॻ͚ͳ͍Α͏ʹ͢Εྑ͍ͷͰ
͝ఏҊ w ߏతͳ෦ܕଟ૬ϩʔΧϧܕਪGradual Typing w ʢΘΓͱʣDuck TypingͰ͖ΔͷͰخ͍͠ w ॻ͔ͳͯ͘ྑ͍ܕॻ͔ͳ͍ w ܕ͕ॻ͍ͯͳ͍ͱ͖ࠓͷRubyͱಉ͡ w ܕͷͨΊͷݴޠRubyͱผ requireͱ͔ΦʔϓϯΫϥεͱ͔ϝλϓϩάϥϛϯάͱ ͔ߟ͑ͳ͍ɻ
w Group.create!ͷܕ͕GroupʹͳΔͷΘ͔Βͳ͍ͷʁ Groupͷܕ͕Θ͔ΔͱࢥͬͯΔͷʁʁ w ܕΛҰͭॻ͍͍ͯͳ͍ͱͳʹΘ͔Βͳ͍ͷʁʁ ϦςϥϧͳΜ͔Θ͔Δͣɻҙ֎ͱ͍Ζ͍Ζݟ͔ͭΔͷͰɻ w ΫϥεఆٛʹܕΛॻ͚ͳ͍ͷʁΦʔϓϯΫϥεͲ͏ͳΔͷʁ ࠓޙͷ՝ɻΦʔϓϯΫϥεͱ0CKFDUJWF$ͷ$BUFHPSZͳΜ͔ ͍ۙؾ͕͢Δɻ w ࣮ͳ͍ͷʁ Α͘ݟΔͱɺʢܕऍΛίϝϯτͱ͔Ͱॻ͘͜ͱʹ͢Εʣ͙͢ ʹ࣮Ͱ͖Δͳ͜Εʜʜ