Upgrade to Pro — share decks privately, control downloads, hide ads and more …

型、ついてますか? - 型の本質を振り返る -

型、ついてますか? - 型の本質を振り返る -

なぜ、動的型付けスクリプト言語の流行りから、再び静的型付けの言語が注目されているのか。
型付けの歴史を振り返り、これからの「型」のありかた、それを実装した処理系のありかたについて考えます。

TAKANO Mitsuhiro

July 08, 2016
Tweet

More Decks by TAKANO Mitsuhiro

Other Decks in Programming

Transcript

  1. ͓લɺ୭Α TAKANO Mitsuhiro a.k.a. @takano32 ߴ໺ ޫ߂ / ͔ͨͷ ΈͭͻΖ

    ೔ຊUNIXϢʔβձ(װࣄ|ཧࣄ) SORABITOגࣜձࣾ ٕज़εϖγϟϦετ Smalltalk-ing Ruby committer Senior Infrastructure Engineer
  2. ઐ໳(CONT.D) ΞϧόΠτ Smalltalk VM ͷ։ൃ Linux Ոి޲͚ϓϥοτϑΥʔϜ Windows޲͚ࣾ಺ϝοηϯδϟʔ Smalltalk VM

    Λ༻͍ͨ .NET VM ͷ։ൃ ܞଳి࿩޲͚ϓϥοτϑΥʔϜ Ұൠతͳిࢠ঎औҾαΠτͷߏங΍ಛڐࣄۀͷ্ཱͪ͛
  3. ίϥϜ: ҧ࿨ײ͕͋Δݴ༿ γΣϧεΫϦϓτΛॻ͘͜ͱΛʮγΣϧΛॻ͘ʯ bash ΍ zsh Λ։ൃ͍ͯ͠Δʁʁʁ IP ΞυϨεͷ͜ͱΛʮIPʯ IP

    ͱ͸Πϯλʔωοτϓϩτίϧͷ͜ͱͰ IP ΞυϨεͱ͸ IP Ͱͷ ૹ৴ઌ΍ૹ৴ݩͷΞυϨε ͜ͷҧ࿨ײΛ෼͔Γ΍͘͢ྫ͑Δ Wikipedia ͷ͜ͱΛ ʮWikiʯ ͱදݱ͍ͯ͠ΔϞϠϞϠײ
  4. ۙ୅ಈతܕ෇͚ ݹ୅ಈతܕ෇͚Ͱղܾ͕໘౗ͩͬͨ෼໺ͷվળ Perl sh + sed + awk + grep

    ڧྗͳจࣈྻૢ࡞ ಛʹPerlޓ׵ͷਖ਼نදݱͷଘࡏ͸େ͖͍੒Ռ PCREͱͯ͠ଞͷੈքʹ΋େ͖͘Өڹ
  5. ݪ࢝ಈతܕ෇͚(CONT.D) MOV EAX, [1000h] 1000h ͱ͍͏ଈ஋Λ EAX ϨδελʹೖΕΔ MOV [ff00h],

    EBX EBX Ϩδελͷ஋Λ ff00h ͷΞυϨεʹೖΕΔ χʔϞχοΫ͸ػցޠͱ૬ޓʹஔ׵Ͱ͖Δ 0 ͱ 1 ͷ࿈ଓͰදݱ͞ΕͨنଇΛن໿ʹΑͬͯධՁ͍ͯ͘͜͠ͱͰੈͷதͷେ ൒ͷγεςϜ͸ಈ࡞͍ͯ͠Δ ͜ͷʮධՁʯ͕ͦ͜ɺ΄΅͢΂ͯͷࠜװʹ͋Δʮ࣮ߦʯ
  6. ෭࡞༻Λߟྀͨ͠γΣϧ UNIXίϚϯυ ࣌୅എܠ͔Β੒ޭ͔ࣦഊͷΈʹϑΥʔΧε ࣌୅͸ immutable infrastructure ෭࡞༻Λ෼཭ͨ͠γΣϧ͕͋Δͱศརͳ༧ײ ex. Monad +

    shell ͜͜Ͱͷ෭࡞༻ͱ͸ૢ࡞͕ܭࢉػʹӨڹ͢Δ͔Λҙຯ͢Δ ෭࡞༻͕໌നʹΘ͔ΔγΣϧͰૢ࡞Ͱ͖Ε͹ɺ෭࡞༻͕ൃੜ͢Δ΋ͷͷΈΛऔΓग़ͤΔ͸ͣ Dockerfile ͳͲ͕ࣗಈͰੜ੒Ͱ͖Δؾ͕͢Δ
  7. Ԇ௕ઓ ࠓ೥΋ LL ΠϕϯτΛ։࠵͠·͢ LLoT - Lightweight Language of Things

    http://ll.jus.or.jp/2016/ ܕͷηογϣϯͷొஃऀΛަবத http://ll.jus.or.jp/2016/program