Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

関数型プログラミングのすゝめ

1,530 views

Published on

関数型プログラミングをしましょう。

Published in: Technology
  • Be the first to comment

関数型プログラミングのすゝめ

  1. 1. 関数型プログラミングのすゝめ kinokkory
  2. 2. kinokkory • @shiatsumat • 情報オリンピックのファイナリスト • HaskellとC#とC++が得意 • 「圏論によるプログラミングと論理」の 執筆者
  3. 3. yingtai • @__int • 文学と哲学に詳しい知識人 • Haskellが得意 • 「圏論によるプログラミングと論理」の 執筆者
  4. 4. stibear • @stibear1996 • ちゃたいを操る仙人 • Lispが得意 • 「マクロのおはなし」の執筆者
  5. 5. 君は
  6. 6. 関数型プログラミングを
  7. 7. 知っていますか?
  8. 8. 関数型プログラミング • 根本的にほかのものと違う • あなたの人生を変える • 美しく秩序のあるプログラミング
  9. 9. 関数型言語 • Haskell • Lisp • F# • OCaml • Scala • Erlang • などなど
  10. 10. Haskell • 初心者でも扱いやすい • 面白い機能の宝庫 • 「Haskellやってます」と言うだけで 凄いプログラマーに見える
  11. 11. Haskell • 強い型付けで安全なコードが書ける • 遅延評価で高速化できる • 簡潔な記述ができる
  12. 12. Haskell • Haskellは非常に美しい main = print $ fibs !! 1000000 where fibs = 0 : 1 : zipWith (¥x y-> mod (x+y) 1000009) fibs (tail fibs)
  13. 13. Haskell • C言語は美しくない #include <stdio.h> int main() { int a=1, b=1, i, buf; for(i=3;i<=1000000;i++){ buf=(a+b)%1000009; a=b; b=buf; } printf("%d¥n",b); return 0; }
  14. 14. Haskell • 便利な機能がたくさん – 強力な型システム – 参照透明性 – 遅延評価 – パターンマッチ – Template Haskell
  15. 15. Haskell大好き • kinokkoryもyingtaiもHaskell大好き • poteti部長もHaskell大好き • わあいHaskell大好きHaskell大好き
  16. 16. Lisp • 先々代の部長はLisper • C言語より先に生まれた歴史ある言語 • 計算機科学の教授は割と使う • 詳しくはstibearに聞こう
  17. 17. 関数型プログラミング • 実は神秘の力に操られています • その神秘の力を理解すれば どんなプログラミング言語も 自由自在に操れるようになります • その神秘の力というのが......
  18. 18. 計算機科学
  19. 19. 計算機科学 • 英語ではComputer Science • プログラミング言語やアルゴリズムの 研究などを行っている
  20. 20. 計算機科学は楽しい • 計算機科学は奥深い • 計算機科学は美しい • 計算機科学は数学的 • 計算機科学はパズル的
  21. 21. 計算機科学の分野 • 型理論 • プログラム意味論 • 計算モデル • 計算可能性理論 • 計算複雑性理論
  22. 22. 定理証明支援系 • 計算機科学と論理学のタッグの賜物 • 型理論が深く関わっている • CoqやAgdaなどがある • 証明をプログラムとして表して コンピューター上で定理を証明できる
  23. 23. 関数型プログラミング Haskell 計算機科学
  24. 24. 質問はありますか?

×