SlideShare a Scribd company logo
1 of 10
Haskell講義 (3)
     yingtai
前回のあらすじ

• 型変数
 • head :: [a] -> a
• 型クラス
 • Eq, Num, Show, ...etc.
前回のあらすじ

• パターンマッチ
 • if-then-else, ガード、case式
• where文
• let式
5. Recursion
再帰

• 別にHaskellに限った概念ではない
 • どの言語にもある...
• 飛ばしてもいいかな?
とは言え


• 重要ではあります
• ループ → リスト操作、再帰
一例だけ
あとは一緒


• 宿題を出します:
• n番目のトリボナッチ数を求める関数
6. Higher Order
   Functions
高階関数
• 引数に関数を取る関数
• map succ [1..10]
 • → [2,3,4,5,6,7,8,9,10,11]

More Related Content

What's hot

What's hot (13)

PythonでLispを実装した (evalつき)
PythonでLispを実装した (evalつき)PythonでLispを実装した (evalつき)
PythonでLispを実装した (evalつき)
 
たのしい高階関数
たのしい高階関数たのしい高階関数
たのしい高階関数
 
Vim scriptとJavaとHaskell
Vim scriptとJavaとHaskellVim scriptとJavaとHaskell
Vim scriptとJavaとHaskell
 
ラムダ計算入門
ラムダ計算入門ラムダ計算入門
ラムダ計算入門
 
並行プログラミング with Haskell
並行プログラミング with Haskell並行プログラミング with Haskell
並行プログラミング with Haskell
 
ScalaプログラマのためのHaskell入門
ScalaプログラマのためのHaskell入門ScalaプログラマのためのHaskell入門
ScalaプログラマのためのHaskell入門
 
たのしい関数型
たのしい関数型たのしい関数型
たのしい関数型
 
15分でざっくり分かるScala入門
15分でざっくり分かるScala入門15分でざっくり分かるScala入門
15分でざっくり分かるScala入門
 
これから Haskell を書くにあたって
これから Haskell を書くにあたってこれから Haskell を書くにあたって
これから Haskell を書くにあたって
 
Scalaで学ぶ関数型言語超入門
Scalaで学ぶ関数型言語超入門Scalaで学ぶ関数型言語超入門
Scalaで学ぶ関数型言語超入門
 
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
 
Material
MaterialMaterial
Material
 
Lisp講義1
Lisp講義1Lisp講義1
Lisp講義1
 

Viewers also liked (8)

Lecture4
Lecture4Lecture4
Lecture4
 
Lecture2
Lecture2Lecture2
Lecture2
 
Git(hub)勉強会
Git(hub)勉強会Git(hub)勉強会
Git(hub)勉強会
 
はじめてのあじゅーる
はじめてのあじゅーるはじめてのあじゅーる
はじめてのあじゅーる
 
Fortran compiling 2
Fortran compiling 2Fortran compiling 2
Fortran compiling 2
 
ごっとふぁーざーふぁしりてーしょんず
ごっとふぁーざーふぁしりてーしょんずごっとふぁーざーふぁしりてーしょんず
ごっとふぁーざーふぁしりてーしょんず
 
会津Swift開発合宿振り返り
会津Swift開発合宿振り返り会津Swift開発合宿振り返り
会津Swift開発合宿振り返り
 
Functional Pearl + Brainfuck
Functional Pearl + BrainfuckFunctional Pearl + Brainfuck
Functional Pearl + Brainfuck
 

Lecture3

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n