Slide 1

Slide 1 text

ࣗ࡞ݴޠʹϞδϡʔϧΛ ࣮૷ͨ͠࿩ ੕ʹΌʔΜʢ!UBLPFJHIUʣ

Slide 2

Slide 2 text

ࣗ࡞ݴޠ(SJ f module HelloImport = { import Prelude; main = { putStr (String# "hello"#); putStrLn |> { f -> f (String# " world"#) }; }; } ੺͍ͱ͜ΖΛ࡞ͬͨ

Slide 3

Slide 3 text

ݴޠ࢓༷ͷઃܭ

Slide 4

Slide 4 text

จ๏ ϞδϡʔϧΛѻ͏จ๏ʹ͸͍͔ͭ͘ͷύλʔϯ͕͋Δ #include ɹϓϦϓϩηοαϨϕϧͰѻ͏ package com.example.hello;ɹτοϓϨϕϧͷએݴͱͯ͠ѻ͏ 
 import java.util.Calendar;ɹͱΓ͋͑ͣ͜ΕΛ࣮૷͢Δͷ͕໨ඪ structure Alist = structɹʢಛผͳҙຯΛ࣋ͭʣ஋ͱͯ͠ѻ͏ 
 open List 
 end

Slide 5

Slide 5 text

จ๏ͷઃܭ w ࣮૷͕େมͳͷͰɺ࣍ͷػೳ͸ޙճ͠ w Ϟδϡʔϧʹผ໊Λ͚ͭΔ w ϞδϡʔϧΛ֊૚Խ͢Δ w ಛఆͷؔ਺ΛΤΫεϙʔτɾΠϯϙʔτ͢Δ͔ΛϓϩάϥϚ͕બͿ $ͷΑ͏ʹɺΠϯϙʔτͨ͠ϞδϡʔϧͰએݴ͞Εͨ͢΂ͯͷܕ΍ؔ਺ ΛࢀরͰ͖Δɻʢ໊લۭؒʹʮͿͪ·͚Δʯʣ

Slide 6

Slide 6 text

จ๏ʢϞδϡʔϧͷએݴʣ ϞδϡʔϧΛୈҰڃͷ஋ͱͯ͠ѻ͑ͨΒ৭ʑخ͍͕͠ɺ࣮૷͕େม 
 ݟͨ໨͸஋ͬΆ͍͚ͲɺΩπ੍͍໿Λઃ͚Δ͜ͱʹ͢Δ 
 
 module <Ϟδϡʔϧ໊> = { 
 <֤छએݴ>; 
 } 
 
 Λ̍ϑΝΠϧʹ͖͚ͭ̍ͭͩॻ͚Δ

Slide 7

Slide 7 text

จ๏ʢϞδϡʔϧͷར༻ʣ import Prelude; Prelude.grfͷத਎Λ͢΂ͯಡΈࠐΉ import Prelude as P; ΍ import Prelude.Int; ͸Ͱ͖ͳ͍

Slide 8

Slide 8 text

(SJ f f ͷϞδϡʔϧͷจ๏ module Hello = { -- ϞδϡʔϧHelloͷએݴ import Prelude; -- ϞδϡʔϧPreludeͷΠϯϙʔτ main = { putStr (String# "hello"#); putStrLn |> { f -> f (String# " world"#) }; }; }

Slide 9

Slide 9 text

ॲཧܥͷ࣮૷

Slide 10

Slide 10 text

࣮૷ͷํ਑ w Ϟδϡʔϧͷ࣮૷ʹ͸େ͖͘Θ͚ͯ̎ͭͷύλʔϯ͕͋Δ  ιʔείʔυΛ̍ͭʹͭͳ͛Δ 
 ࣮૷͸؆୯͕ͩɺιʔείʔυͷαΠζ͕രൃ͔͠Ͷͳ͍  ϦϯΫ࣌·Ͱ֤ϞδϡʔϧΛόϥόϥʹѻ͏ 
 ࣮૷͸େม͕ͩɺ෼ׂίϯύΠϧͰ͖ͯੑೳతʹ༗ར w ࠓճ͸Λ࣮૷ʢ͸$ίϯύΠϥΛ࡞ͬͨͱ͖ʹ΍ͬͨͷͰʣ

Slide 11

Slide 11 text

࣮૷ͷ࡞ઓʢ̍ʣ w ࿩Λ؆୯ʹ͢ΔͨΊɺ࣍ͷΑ͏ͳιʔείʔυΛߟ͑Δ 
 
 NPEVMF$IJME\ 
 JNQPSU1BSFOU 
 ^ 
 
 $IJME͕1BSFOUΛΠϯϙʔτ͍ͯ͠Δ

Slide 12

Slide 12 text

࣮૷ͷ࡞ઓʢ̎ʣ w $IJMEΛίϯύΠϧ͢ΔͨΊʹ͸ɺ1BSFOUʹؔ͢ΔҎԼͷ৘ใ͕ඞཁ w ܕએݴͷҰཡ w ؔ਺ͷܕͷҰཡ w ιʔείʔυ্ͷؔ਺໊ͱɺ໊લղܾޙͷؔ਺໊ͷରԠද w (SJ f f Ͱͷؔ਺໊ͱɺ--7.*3Ͱͷؔ਺໊ʢΞηϯϒϥͷϥϕϧ໊ʣͷରԠද w தஔԋࢉࢠͷ݁߹ॱҐͷҰཡ

Slide 13

Slide 13 text

࣮૷ͷ࡞ઓʢ̏ʣ w ຖճ1BSFOUͷιʔείʔυΛಡΈऔΔͱඇޮ཰ 
 1BSFOUͷίϯύΠϧ࣌ʹɺඞཁͳ৘ใ͚ͩϝϞ͓ͯ͘͠ w ϝϞ͸1BSFOUHS f i ʹอଘɻ$ͷϔομϑΝΠϧͷΑ͏ͳΠϝʔδ 
 ʢਓ͕ؒಡΉඞཁ͸ͳ͍ͷͰద౰ʹΤϯίʔυͯ͠อଘ͢Δʣ

Slide 14

Slide 14 text

ίϯύΠϧͷྲྀΕ  1BSFOUHSGͷίϯύΠϧ  1BSFOUPɺ1BSFOUHS f i ͷੜ੒  $IJMEHSGͷίϯύΠϧ  1BSFOUHS f i ͷಡΈࠐΈ  $IJMEPɺ$IJMEHS f i Oͷੜ੒  1BSFOUPͱ$IJMEPͷϦϯΫ

Slide 15

Slide 15 text

·ͱΊ w ࣗ࡞ݴޠ(SJ f f ʹϞδϡʔϧΛ࣮૷ͨ͠ w ͍͔ͭ͘ͷ%FTJHODIPJDF͕͋ͬͨ w จ๏ɺػೳɺ࣮૷ํ๏ 50%0ɿϞδϡʔϧͷґଘؔ܎ΛࣗಈͰղܾ͢ΔϏϧυγεςϜ 
 ɹɹɹɹΑΓߴػೳͳϞδϡʔϧͷ࣮ݱ 
 ɹɹɹɹඪ४ϥΠϒϥϦͷ੔උ

Slide 16

Slide 16 text

༨ஊ HS f i ϑΝΠϧͷੜ੒ʹ͸)BTLFMMͷγϦΞϥΠζϥΠϒϥϦTFSJBMJ[FΛ࢖ͬ ͨɻੜ੒͞ΕͨϑΝΠϧΛݟͯΈΔͱ΍ͨΒ͕ଟ͍ɻ Ͳ͏ͯͩ͠Ζ͏ͱߟ͑ͯΈΔͱɺ)BTLFMMͷ$IBSʢจࣈܕʣ͸6OJDPEF DPEFQPJOUΛද͍ͯ͠ΔɻTFSJBMJ[F͸͜ΕΛ65'-&ͰΤϯίʔυ͢Δͷ Ͱ͕ଟ͘ͳΔͬΆ͍ɻ