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

1,095 views

Published on

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

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,095
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
6
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

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

  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. 質問はありますか?

×