SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
発表者の皆さん
  Haskell に
影響されすぎです!
Haskell 以外の言語
書籍の紹介を
5 分でします
速習・関数型言語
    @ikegami _ _
     2012-05-19
第一回関数型言語勉強会 関西
抽象化とは…
構造化とは…
第1回関数型言語勉強会 大阪 LT 資料
第1回関数型言語勉強会 大阪 LT 資料
関数型言語という定義は、はっきりしない
オブジェクト指向言語     関数型言語


 オブジェクト指向    関数プログラミング
関数型計算モデルとは

   抽象化の概念
     構造化

    関数の定義で実現


OOP ではクラスの定義で実現
関数型の利点
関数を引数として受け取る関数

 関数を値として返す関数

  プログラムを簡潔に表現可能
@nushio

抽象化と速度は相容れないという常識を覆し、
               抽象化こそが
 コーディング速度も実行速度も向上させる


         ー @nushio さん、自己紹介より抜粋
  http://www.hakubi.kyoto-u.ac.jp/02_mem/h22/
                muranushi.html
Bird, Wadler 本 → Miranda | 萩谷本 → LISP, Scheme, ML
「プログラミングの基礎」というタイトルの
 関数プログラミング入門書 → OCaml

       サイエンス社
「プログラミング言語の基礎概念」というタイトルの
  関数プログラミング入門書 → 型理論 OCaml
英語圏にはドキュメントが沢山あります
(どのプログラミング言語でも同じことが言える)
       英語怖くない!
• 自習
• よい指導者を見つける
• ideone や GitHub (Gist) で公開
 • 添削してもらう
• 勉強会に参加
用意したプレゼン、5 分では無理でした…
第1回関数型言語勉強会 大阪 LT 資料
計算機プログラムの
 構造と解釈
  → LISP
オーム社
すごいHaskellたのしく学ぼう!
              オーム社

         邦訳がもうすぐでます
五十嵐本
技術評論社
コップ本第2版
インプレスジャパン
• Common Lisp
• Erlang
• F#
• ML
 • SML
   • SML#
• Scheme
 • Gauche
今日は話さないよ!
• 型 (type)
 • 動的型付け vs. 静的型付け
• データ
 • mutable vs. immutable
• 評価戦略
 • 正格(strict) vs. 非正格(non-strict)

Mais conteúdo relacionado

Destaque

GHC 6.12.1 マルチコア対応ランタイムシステムについて
GHC 6.12.1 マルチコア対応ランタイムシステムについてGHC 6.12.1 マルチコア対応ランタイムシステムについて
GHC 6.12.1 マルチコア対応ランタイムシステムについてMitsutoshi Aoe
 
20120519 inverse fizzbuzz を解いてみよう
20120519 inverse fizzbuzz を解いてみよう20120519 inverse fizzbuzz を解いてみよう
20120519 inverse fizzbuzz を解いてみようHiroSuga
 
関数型軽い紹介
関数型軽い紹介関数型軽い紹介
関数型軽い紹介Daniel Perez
 
代数的データ型をラムダ計算の中で表現する方法
代数的データ型をラムダ計算の中で表現する方法代数的データ型をラムダ計算の中で表現する方法
代数的データ型をラムダ計算の中で表現する方法syamino
 
関数型言語初心者の俺がF#触ってみた
関数型言語初心者の俺がF#触ってみた関数型言語初心者の俺がF#触ってみた
関数型言語初心者の俺がF#触ってみたTakashi Nishisaki
 
F#で学ぶ関数プログラミング入門?
F#で学ぶ関数プログラミング入門?F#で学ぶ関数プログラミング入門?
F#で学ぶ関数プログラミング入門?pocketberserker
 
FP習熟度レベルとFSharpxのIteratee
FP習熟度レベルとFSharpxのIterateeFP習熟度レベルとFSharpxのIteratee
FP習熟度レベルとFSharpxのIterateepocketberserker
 
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49shoma h
 
恊働ロボットCOROの開発における形式的仕様の適用事例
恊働ロボットCOROの開発における形式的仕様の適用事例恊働ロボットCOROの開発における形式的仕様の適用事例
恊働ロボットCOROの開発における形式的仕様の適用事例Life Robotics
 
Katagaitai CTF勉強会 #4 Crypto
Katagaitai CTF勉強会 #4 CryptoKatagaitai CTF勉強会 #4 Crypto
Katagaitai CTF勉強会 #4 Cryptotrmr
 
これから Haskell を書くにあたって
これから Haskell を書くにあたってこれから Haskell を書くにあたって
これから Haskell を書くにあたってTsuyoshi Matsudate
 
純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門Kimikazu Kato
 
120901fp key
120901fp key120901fp key
120901fp keyksknac
 
関数型言語とオブジェクト指向言語(序章)
関数型言語とオブジェクト指向言語(序章)関数型言語とオブジェクト指向言語(序章)
関数型言語とオブジェクト指向言語(序章)tadaaki hayashi
 
データベース入門3
データベース入門3データベース入門3
データベース入門3tadaaki hayashi
 
関数プログラミング入門
関数プログラミング入門関数プログラミング入門
関数プログラミング入門Hideyuki Tanaka
 
Xamarin.forms実践投入してみて
Xamarin.forms実践投入してみてXamarin.forms実践投入してみて
Xamarin.forms実践投入してみてMasahiko Miyasaka
 

Destaque (20)

GHC 6.12.1 マルチコア対応ランタイムシステムについて
GHC 6.12.1 マルチコア対応ランタイムシステムについてGHC 6.12.1 マルチコア対応ランタイムシステムについて
GHC 6.12.1 マルチコア対応ランタイムシステムについて
 
20120519 inverse fizzbuzz を解いてみよう
20120519 inverse fizzbuzz を解いてみよう20120519 inverse fizzbuzz を解いてみよう
20120519 inverse fizzbuzz を解いてみよう
 
関数型軽い紹介
関数型軽い紹介関数型軽い紹介
関数型軽い紹介
 
Yesod(at FPM2012)
Yesod(at FPM2012)Yesod(at FPM2012)
Yesod(at FPM2012)
 
たのしい関数型
たのしい関数型たのしい関数型
たのしい関数型
 
代数的データ型をラムダ計算の中で表現する方法
代数的データ型をラムダ計算の中で表現する方法代数的データ型をラムダ計算の中で表現する方法
代数的データ型をラムダ計算の中で表現する方法
 
関数型言語初心者の俺がF#触ってみた
関数型言語初心者の俺がF#触ってみた関数型言語初心者の俺がF#触ってみた
関数型言語初心者の俺がF#触ってみた
 
F#で学ぶ関数プログラミング入門?
F#で学ぶ関数プログラミング入門?F#で学ぶ関数プログラミング入門?
F#で学ぶ関数プログラミング入門?
 
FP習熟度レベルとFSharpxのIteratee
FP習熟度レベルとFSharpxのIterateeFP習熟度レベルとFSharpxのIteratee
FP習熟度レベルとFSharpxのIteratee
 
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
 
恊働ロボットCOROの開発における形式的仕様の適用事例
恊働ロボットCOROの開発における形式的仕様の適用事例恊働ロボットCOROの開発における形式的仕様の適用事例
恊働ロボットCOROの開発における形式的仕様の適用事例
 
Katagaitai CTF勉強会 #4 Crypto
Katagaitai CTF勉強会 #4 CryptoKatagaitai CTF勉強会 #4 Crypto
Katagaitai CTF勉強会 #4 Crypto
 
JSer Class #1
JSer Class #1JSer Class #1
JSer Class #1
 
これから Haskell を書くにあたって
これから Haskell を書くにあたってこれから Haskell を書くにあたって
これから Haskell を書くにあたって
 
純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門
 
120901fp key
120901fp key120901fp key
120901fp key
 
関数型言語とオブジェクト指向言語(序章)
関数型言語とオブジェクト指向言語(序章)関数型言語とオブジェクト指向言語(序章)
関数型言語とオブジェクト指向言語(序章)
 
データベース入門3
データベース入門3データベース入門3
データベース入門3
 
関数プログラミング入門
関数プログラミング入門関数プログラミング入門
関数プログラミング入門
 
Xamarin.forms実践投入してみて
Xamarin.forms実践投入してみてXamarin.forms実践投入してみて
Xamarin.forms実践投入してみて
 

Mais de ikegami__

C言語静的解析ツールと Ruby 1.9 trunk
C言語静的解析ツールと Ruby 1.9 trunkC言語静的解析ツールと Ruby 1.9 trunk
C言語静的解析ツールと Ruby 1.9 trunkikegami__
 
Agda 入門@ProofSummit 2011
Agda 入門@ProofSummit 2011Agda 入門@ProofSummit 2011
Agda 入門@ProofSummit 2011ikegami__
 
Mac Laptop で Gentoo
Mac Laptop で GentooMac Laptop で Gentoo
Mac Laptop で Gentooikegami__
 
Lightening Talk at Open Source Conference 2007
Lightening Talk at Open Source Conference 2007Lightening Talk at Open Source Conference 2007
Lightening Talk at Open Source Conference 2007ikegami__
 
Introduction to Haskell games in Open Source Conference 2007 Hokkaido
Introduction to Haskell games in Open Source Conference 2007 HokkaidoIntroduction to Haskell games in Open Source Conference 2007 Hokkaido
Introduction to Haskell games in Open Source Conference 2007 Hokkaidoikegami__
 
Advanced Topics in Haskell
Advanced Topics in HaskellAdvanced Topics in Haskell
Advanced Topics in Haskellikegami__
 
Introduction to Haskell@Open Source Conference 2007 Hokkaido
Introduction to Haskell@Open Source Conference 2007 HokkaidoIntroduction to Haskell@Open Source Conference 2007 Hokkaido
Introduction to Haskell@Open Source Conference 2007 Hokkaidoikegami__
 

Mais de ikegami__ (7)

C言語静的解析ツールと Ruby 1.9 trunk
C言語静的解析ツールと Ruby 1.9 trunkC言語静的解析ツールと Ruby 1.9 trunk
C言語静的解析ツールと Ruby 1.9 trunk
 
Agda 入門@ProofSummit 2011
Agda 入門@ProofSummit 2011Agda 入門@ProofSummit 2011
Agda 入門@ProofSummit 2011
 
Mac Laptop で Gentoo
Mac Laptop で GentooMac Laptop で Gentoo
Mac Laptop で Gentoo
 
Lightening Talk at Open Source Conference 2007
Lightening Talk at Open Source Conference 2007Lightening Talk at Open Source Conference 2007
Lightening Talk at Open Source Conference 2007
 
Introduction to Haskell games in Open Source Conference 2007 Hokkaido
Introduction to Haskell games in Open Source Conference 2007 HokkaidoIntroduction to Haskell games in Open Source Conference 2007 Hokkaido
Introduction to Haskell games in Open Source Conference 2007 Hokkaido
 
Advanced Topics in Haskell
Advanced Topics in HaskellAdvanced Topics in Haskell
Advanced Topics in Haskell
 
Introduction to Haskell@Open Source Conference 2007 Hokkaido
Introduction to Haskell@Open Source Conference 2007 HokkaidoIntroduction to Haskell@Open Source Conference 2007 Hokkaido
Introduction to Haskell@Open Source Conference 2007 Hokkaido
 

第1回関数型言語勉強会 大阪 LT 資料