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

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

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for Susisu Susisu
July 11, 2015

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

Avatar for Susisu

Susisu

July 11, 2015
Tweet

More Decks by Susisu

Other Decks in Programming

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. ࡞ ͬ ͨ ΋ ͷ • ύʔα (ߏจղੳث) • AST

    ΠϯλϓϦλ • ඪ४ϥΠϒϥϦ
  7. Π ϯ λ ϓ Ϧ λ • ύʔα͕ు͖ग़ͨ͠ߏจ໦ ʹै࣮ͬͯߦ •

    JavaScript ૊ΈࠐΈͷػೳ Λ͝ʹΐ͝ʹΐͯ͠ߴ଎Խ
  8. Ͱ ͖ ͨ ΋ ͷ • github.com/susisu/milktea • ଎౓͸ V8

    ্Ͱ Flash ≦ 8 ͷ VM ͱಉ͘͡Β͍ʁ
  9. ί ʔ υ ྫ ( ֊ ৐ ) 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
  10. ί ʔ υ ྫ ( Φ ϒ δΣ Ϋ τ

    ࢦ ޲ ) 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
  11. ސ ٬ ͕ ຊ ౰ ʹ ඞ ཁ ͩ ͬ

    ͨ ΋ ͷ _人人人人_   > 音ゲー <   ‾ ̄^Y^Y^Y^Y‾ ̄