Slide 1

Slide 1 text

$MPKVSF֓ཁ঺հ -JTQNFFUVQPO !BUIPT

Slide 2

Slide 2 text

֓ཁ ‣ ͷϦϦʔε͕ؒۙ CFUB͕ઌिΑ͏΍͘ϦϦʔε DGϦϦʔε೥݄ BMQIBϦϦʔε೥݄ དྷ݄ͷ$POKʹ߹ΘͤͯϦϦʔεͷՄೳੑ΋ ‣ pOBMϦϦʔεʹ޲͚ͯͷओཁͳมߋΛ͓͞Β͍

Slide 3

Slide 3 text

$MPKVSFͷओཁͳมߋ ‣ DMPKVSFTQFD ‣ ໊લۭ͖ؒͭϚοϓ OBNFTQBDFENBQT ‣ /B/*OG*OGͷ৽͍͠֎෦දݱ

Slide 4

Slide 4 text

DMPKVSFTQFD ‣ ड़ޠΛϕʔεʹͨ͠σʔλ࢓༷ͷهड़"1* ৄࡉ͸ʮDMPKVSFTQFDʯͰݕࡧ ‣ ҎԼͷ༻్ʹ࢖͑Δ υΩϡϝϯςʔγϣϯ όϦσʔγϣϯ ౷ҰతͳΤϥʔϨϙʔτ ϓϩύςΟϕʔεςετ 4ࣜͷߏจղੳ ‣ ·ͩΞϧϑΝѻ͍ TQFDBMQIBͱͯ͠$MPKVSFຊମͱ͸ಠཱʹ։ൃ͞Ε͍ͯ͘༧ఆ

Slide 5

Slide 5 text

$MPKVSF͔Βͷߏ੒ ‣ $MPKVSF͕TQFDBMQIBͱDPSFTQFDTBMQIBʹґଘ͢Δߏ੒ʹ ‣ TQFDBMQIB TQFDͷػೳఆٛ ‣ DPSFTQFDTBMQIB $MPKVSFͷίΞϥΠϒϥϦͷεϖοΫఆٛ $MPKVSF TQFDBMQIB DPSFTQFDT BMQIB

Slide 6

Slide 6 text

DMKίϚϯυ ‣ ͜Ε·Ͱͷ$MPKVSF͸KBSͭΛμ΢ϯϩʔυͯ͘͠Ε͹࢖͑ ͕ͨɺ͔Β͸TQFDBMQIBͱDPSFTQFDBMQIBʹґଘ ‣ ґଘϥΠϒϥϦΛղܾͯ͠$MPKVSFΛ࢖͑Δঢ়ଶʹ͢Δख ஈͱͯ͠DMKίϚϯυ͕༻ҙ͞Εͨ ‣ “brew install clojure”Ͱ$MPKVSF͕࢖͑ΔΑ͏ʹ ଞͷύοέʔδϚωʔδϟʹ΋ਵ࣌௥Ճ͞ΕΔ༧ఆ

Slide 7

Slide 7 text

TQFDϕʔεͷϚΫϩߏจνΣοΫ ‣ ϚΫϩʹରͯ͠εϖοΫΛఆ͓ٛͯ͘͠ͱɺίϯύΠϥ͕ ࣗಈతʹߏจ͕εϖοΫʹ߹͍ͬͯΔ͔ΛνΣοΫ ‣ ౷Ұతͳํ๏ͰΤϥʔΛฦͯ͘͠ΕΔ

Slide 8

Slide 8 text

ʲએ఻ʳ1JOQPJOUFS ‣ ੿࡞ͷεϖοΫΤϥʔϨϙʔλ1JOQPJOUFSͰ͸ɺεϖοΫ ΤϥʔΛ෼͔Γ΍͘͢දࣔͯ͘͠ΕΔʂ ϋΠϥΠτ͖ͭ

Slide 9

Slide 9 text

EPDͷTQFDαϙʔτ

Slide 10

Slide 10 text

ड़ޠؔ਺ͷ֦ॆ ‣ boolean? ‣ int? pos-int? neg-int? nat-int? ‣ double? bigdec? ‣ ident? simple-ident? qualified-ident? ‣ simple-symbol? qualified-symbol? ‣ simple-keyword? qualified-keyword? ‣ bytes? ‣ indexed? ‣ uuid? uri? ‣ seqable? ‣ any?

Slide 11

Slide 11 text

໊લۭ͖ؒͭϚοϓ ‣ TQFD͸໊લۭ͖ؒͭͷΩʔϫʔυΛଟ༻ ϚοϓͷΩʔͱͯ͠࢖͏ࡍʹɺҰҙͷҙຯΛ࣋ͨͤΔͨΊ ‣ ͢΂ͯͷΩʔ͕ಉ໊͡લۭؒͰम০͞Ε͍ͯΔ৔߹ͷলུه๏ #:foo{:a 1, :b 2} (require ‘[foo.core :as foo]) #::foo{:a 1, :b 2} #::{:a 1, :b 2} {:foo/a 1, :foo/b 2} {:foo.core/a 1, :foo.core/b 2} {:user/a 1, :user/b 2}

Slide 12

Slide 12 text

໊લۭ͖ؒͭϚοϓͷ෼഑ଋറ ‣ Ϛοϓͷ෼഑ଋറͰ΋໊લۭ͖ؒͭͷΩʔϫʔυΛѻ͍΍ ͍͢Α͏ʹ

Slide 13

Slide 13 text

/B/*OG*OGͷ৽͍͠֎෦දݱ ‣ ৽ͨʹ##ͱ͍͏ϦʔμʔϚΫϩ͕௥Ճ͞Εͨ /B/##NaN *OpOJUZ##Inf *OpOJUZ##-Inf ‣ ೥ʹఏҊ͞Εɺ೥ӽ͠ͰΑ͏΍͘࠾୒

Slide 14

Slide 14 text

ͦͷଞͷมߋ ‣ *reader-resolver*ͰγϯϘϧ΍Ωʔϫʔυͷղܾͷ ࢓ํ͕QMVHHBCMFʹ ‣ Instϓϩτίϧͷ௥Ճ ‣ swap-vals! reset-vals! ‣ halt-whenτϥϯεσϡʔα

Slide 15

Slide 15 text

·ͱΊ ‣ $MPKVSFϦϦʔε͕ؒۙ ‣ ͸DMPKVSFTQFDΛத৺ͱͨ͠มߋ͕੝Γࠐ·Εͨ ‣ TQFDࣗମ͸·ͩΞϧϑΝѻ͍ͷ·· ͳͷͰɺ࢓༷มߋ΋ ͋Γ͏Δ ͕ͩɺ͕Ұ୴ϦϦʔε͞ΕΕ͹ϓϩμΫτ౳ Ͱຊ֨తʹ࢖ΘΕ࢝ΊΔ͜ͱ͕༧૝͞ΕΔ

Slide 16

Slide 16 text

ࢀߟจݙ ‣ DIBOHFTNE IUUQTHJUIVCDPNDMPKVSFDMPKVSFCMPCNBTUFSDIBOHFTNEDIBOHFTUPDMPKVSFJOWFSTJPO ‣ "CPVUTQFD IUUQTDMPKVSFPSHBCPVUTQFD ‣ 3FBEQSJOUSPVOEUSJQGPS*OpOJUZBOE/B/ IUUQTEFWDMPKVSFPSHKJSBCSPXTF$-+