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

音ゲーを作っていたと思ったらいつのまにか言語を作っていた

95d12ef3ae39f388be5a43b4788cb70e?s=47 Susisu
July 11, 2015

 音ゲーを作っていたと思ったらいつのまにか言語を作っていた

95d12ef3ae39f388be5a43b4788cb70e?s=128

Susisu

July 11, 2015
Tweet

Transcript

  1. Ի ήʔ Λ ࡞ ͬͯ ͍ ͨ ͱ ࢥ ͬ

    ͨ Β ͍ ͭ ͷ · ʹ ͔ ݴ ޠ Λ ࡞ ͬͯ ͍ ͨ 2 0 1 5 ೥ 7 ݄ 1 1 ೔ O U C C LT ͷ ձ
  2. Θ ͨ ͠Ͱ ͢ • ͢͢͠ • ৘ใܥ (෺ཧ) •

    Twitter: @susisu2413 • GitHub: susisu
  3. ख ஈ ͷ ໨ త Խ • ໨త • Իήʔͷේ໘Λ࡞Γ͍ͨ

    • Ͱ͖Ε͹ָʹ • खஈ • DSL Λ࡞Ζ͏
  4. ख ஈ ͷ ໨ త Խ • ໨త • DSL

    Λ࡞Ζ͏ • खஈ • ͳΜ͔͍Ζ͍Ζ
  5. ΄ ͠ ͍ ΋ ͷ Ϧε τ ม਺ ੍ޚจ ؔ਺

    ഑ྻ ԋࢉࢠ ٕज़ ຤ඌݺͼग़͠࠷దԽ ΦϒδΣΫτࢦ޲ ͓ۚ
  6. ં͔֯ͩΒ൚༻ͷݴޠʹ͠·͠ΐ͏!

  7. ໨ ඪ • JavaScript ্Ͱಈ࡞ • ͦͦ͜͜ͷ଎౓ • ΦϒδΣΫτࢦ޲ •

    ؔ਺ܕ
  8. ࡞ ͬ ͨ ΋ ͷ • ύʔα (ߏจղੳث) • AST

    ΠϯλϓϦλ • ඪ४ϥΠϒϥϦ
  9. ύʔ α • ͳΜ͔ύʔαίϯϏωʔλ ϥΠϒϥϦΛ࡞ͬͯ͋ͬͨ • github.com/susisu/Loquat • ΄΅ Parsec

    (Haskell ͷ) ͷ Ϋϩʔϯ • ͋ͱ͸ॻ͚ͩ͘
  10. Π ϯ λ ϓ Ϧ λ • ύʔα͕ు͖ग़ͨ͠ߏจ໦ ʹै࣮ͬͯߦ •

    JavaScript ૊ΈࠐΈͷػೳ Λ͝ʹΐ͝ʹΐͯ͠ߴ଎Խ
  11. ඪ ४ ϥ Π ϒ ϥ Ϧ • ࠓ࡞ͬͯΔ (8ׂ͘Β͍ʁ)

  12. Ͱ ͖ ͨ ΋ ͷ • github.com/susisu/milktea • ଎౓͸ V8

    ্Ͱ Flash ≦ 8 ͷ VM ͱಉ͘͡Β͍ʁ
  13. ί ʔ υ ྫ ( ֊ ৐ ) factorial n

    = let itr n p = if n >= 1 then itr (n - 1) (p * n) else p in itr n 1 ; print $ factorial 10; -- 3628800
  14. ί ʔ υ ྫ ( Φ ϒ δΣ Ϋ τ

    ࢦ ޲ ) Person = Class:new:extends Object; Person!new $ \this name -> Class.proto.new this name; Person!ctor $ \this name -> const this $ this!name name; Person.proto!printName $ \this -> print this.name; ! alice = Person:new "Alice"; alice:printName; -- Alice
  15. · ͱ Ί • ࣗ࡞ݴޠ࡞Δͷָ͍͠ͷͰ ΈΜͳ΍Γ·͠ΐ͏

  16. ސ ٬ ͕ ຊ ౰ ʹ ඞ ཁ ͩ ͬ

    ͨ ΋ ͷ _人人人人_   > 音ゲー <   ‾ ̄^Y^Y^Y^Y‾ ̄
  17. د ෇ • ͓ئ͍͠·͢ (੾࣮) • ͓ۚͱٕज़ͱ͖Μ͍ΖϞβ ΠΫ͕ෆ଍ • www.amazon.co.jp/registry/

    wishlist/3FX8NJ35LKRGC