ࣗ࡞ݴޠ(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 ಛఆͷؔΛΤΫεϙʔτɾΠϯϙʔτ͢Δ͔ΛϓϩάϥϚ͕બͿ
$ͷΑ͏ʹɺΠϯϙʔτͨ͠ϞδϡʔϧͰએݴ͞Εͨͯ͢ͷܕؔ
ΛࢀরͰ͖Δɻʢ໊લۭؒʹʮͿͪ·͚Δʯʣ
(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'-&ͰΤϯίʔυ͢Δͷ
Ͱ͕ଟ͘ͳΔͬΆ͍ɻ