SlideShare une entreprise Scribd logo
1  sur  14
Télécharger pour lire hors ligne
What’s
Functional?
2018.08.11 CENTER CLR #8 KOUJI MATSUI (@KEKYO2)
Kouji Matsui - kekyo
• NAGOYA city, AICHI pref., JP
• Twitter – @kekyo2 / Facebook
• Self employed
• Microsoft Most Valuable Professional
DevTech 2015-
• Certified Scrum master / Scrum product
owner
• Center CLR organizer.
• .NET/C#/F#/IL/metaprogramming or like…
• Bike rider
Agenda
•What’s functional?
•Circle of issues (methodology)
•Circle of issues (natural science)
What’s functional?
It’s very tiny slides about compositions for functional.
We can do free discussion in this session about what’s functional
and/or what’s problem for functional?
These answers are yourself.
Circle of issues (methodology)
Unified paradigm
(マルチパラダイム)
.NET Type system
(.NET 型システム)
Functional
programming (F#)
Building platform
(開発環境)
Circle of issues
Unified paradigm
(マルチパラダイム)
.NET Type system
(.NET 型システム)
Class type
(クラス)
Functional
programming (F#)
Building platform
(開発環境)
Delegate type
(デリゲート)
Interface type
(インターフェイス)
≠カリー化可能
≠オーバーロード
Circle of issues
Unified paradigm
(マルチパラダイム)
.NET Type system
(.NET 型システム)
Class type
(クラス)
Functional
programming (F#)
Building platform
(開発環境)
Delegate type
(デリゲート)
Interface type
(インターフェイス)
IDE
(統合開発環境)
Building system
(ビルドシステム)
≠カリー化可能
≠オーバーロード
Circle of issues
Unified paradigm
(マルチパラダイム)
Structured
(構造化処理)
.NET Type system
(.NET 型システム)
Class type
(クラス)
Functional
programming (F#)
Building platform
(開発環境)
Object oriented
(オブジェクト指向)
Functional
(関数指向)
Delegate type
(デリゲート)
Interface type
(インターフェイス)
IDE
(統合開発環境)
Building system
(ビルドシステム)
≠カリー化可能
≠オーバーロード
Syntax
(文法)
パターンマッチ・
computation式
Algebraic data type
(代数データ型)
レコード型
Circle of issues (natural science)
Mathematical logic
(数理論理学)
Turing machine
(チューリング機械)
Lambda calculus
(ラムダ計算)
Functional
programming
Circle of issues
Mathematical logic
(数理論理学)
Turing machine
(チューリング機械)
Automaton
(オートマトン)
Functional
programming
Lambda calculus
(ラムダ計算)
自己書き換え能力
自動実行・受理状態
Circle of issues
Mathematical logic
(数理論理学)
Turing machine
(チューリング機械)
Automaton
(オートマトン)
Functional
programming
Lambda calculus
(ラムダ計算)
Conversions (α, β, η)
(変換・簡約)
自己書き換え能力
自動実行・受理状態
ネスト可能な計算・命題論理との対応半自動計算
Circle of issues
Mathematical logic
(数理論理学)
Proof theory
(証明論)
Turing machine
(チューリング機械)
Automaton
(オートマトン)
Functional
programming
Lambda calculus
(ラムダ計算)
Set theory
(集合論)
Computability theory
(計算可能性理論)
Conversions (α, β, η)
(変換・簡約)
Type theory
(型理論)
Linear logic
(線形論理)
自己書き換え能力
自動実行・受理状態
ネスト可能な計算・命題論理との対応半自動計算
計算停止性
計算の一意性・順序性
推論・命題論理
Circle of issues
Mathematical logic
(数理論理学)
Proof theory
(証明論)
Turing machine
(チューリング機械)
Automaton
(オートマトン)
Functional
programming
Lambda calculus
(ラムダ計算)
Set theory
(集合論)
Computability theory
(計算可能性理論)
Conversions (α, β, η)
(変換・簡約)
Type theory
(型理論)
Linear logic
(線形論理)
自己書き換え能力
自動実行・受理状態
ネスト可能な計算・命題論理との対応半自動計算
計算停止性
計算の一意性・順序性
推論・命題論理
Thanks join!
My blog
◦ http://www.kekyo.net/

Contenu connexe

Similaire à What's Functional?

エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~
エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~
エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~Yusuke Suzuki
 
パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理Kouji Matsui
 
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶjQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶShumpei Shiraishi
 
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜Koichi ITO
 
SpringOne Platform 2018 全体報告
SpringOne Platform 2018 全体報告SpringOne Platform 2018 全体報告
SpringOne Platform 2018 全体報告Takuya Iwatsuka
 
SpringOne Platform 2018 全体報告
SpringOne Platform 2018 全体報告SpringOne Platform 2018 全体報告
SpringOne Platform 2018 全体報告apkiban
 
オープンソースを利用したモデル駆動トライアル
オープンソースを利用したモデル駆動トライアルオープンソースを利用したモデル駆動トライアル
オープンソースを利用したモデル駆動トライアルAkira Tanaka
 
関西Itコミュニティ集まれ!デブサミ名物コミュニティlt大会(発表版)
関西Itコミュニティ集まれ!デブサミ名物コミュニティlt大会(発表版)関西Itコミュニティ集まれ!デブサミ名物コミュニティlt大会(発表版)
関西Itコミュニティ集まれ!デブサミ名物コミュニティlt大会(発表版)rip jyr
 
設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第18回】
設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第18回】設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第18回】
設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第18回】Tomoharu ASAMI
 
Nespのコード生成
Nespのコード生成Nespのコード生成
Nespのコード生成Kouji Matsui
 
『アプリケーション アーキテクチャ ガイド2.0』のガイド
『アプリケーション アーキテクチャ ガイド2.0』のガイド『アプリケーション アーキテクチャ ガイド2.0』のガイド
『アプリケーション アーキテクチャ ガイド2.0』のガイドKentaro Inomata
 
OSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSCOSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSCDaisuke Nishino
 
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説Daisuke Nishino
 
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう増田 亨
 
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストEclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストAtsuhiro Kubo
 

Similaire à What's Functional? (20)

Automatic Summarization
Automatic SummarizationAutomatic Summarization
Automatic Summarization
 
Osc2010 Slide
Osc2010 SlideOsc2010 Slide
Osc2010 Slide
 
エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~
エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~
エンタープライズアジャイルと全体最適について ~アーキテクチャ設計とウォーターフォールの必要性~
 
パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理
 
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶjQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
 
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
 
SpringOne Platform 2018 全体報告
SpringOne Platform 2018 全体報告SpringOne Platform 2018 全体報告
SpringOne Platform 2018 全体報告
 
SpringOne Platform 2018 全体報告
SpringOne Platform 2018 全体報告SpringOne Platform 2018 全体報告
SpringOne Platform 2018 全体報告
 
オープンソースを利用したモデル駆動トライアル
オープンソースを利用したモデル駆動トライアルオープンソースを利用したモデル駆動トライアル
オープンソースを利用したモデル駆動トライアル
 
Net fringejp2016
Net fringejp2016Net fringejp2016
Net fringejp2016
 
関西Itコミュニティ集まれ!デブサミ名物コミュニティlt大会(発表版)
関西Itコミュニティ集まれ!デブサミ名物コミュニティlt大会(発表版)関西Itコミュニティ集まれ!デブサミ名物コミュニティlt大会(発表版)
関西Itコミュニティ集まれ!デブサミ名物コミュニティlt大会(発表版)
 
設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第18回】
設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第18回】設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第18回】
設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第18回】
 
Nespのコード生成
Nespのコード生成Nespのコード生成
Nespのコード生成
 
『アプリケーション アーキテクチャ ガイド2.0』のガイド
『アプリケーション アーキテクチャ ガイド2.0』のガイド『アプリケーション アーキテクチャ ガイド2.0』のガイド
『アプリケーション アーキテクチャ ガイド2.0』のガイド
 
Team development
Team developmentTeam development
Team development
 
OSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSCOSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSC
 
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
 
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう
 
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストEclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテスト
 
Fun with BrainPad
Fun with BrainPadFun with BrainPad
Fun with BrainPad
 

Plus de Kouji Matsui

Making archive IL2C #6-55 dotnet600 2018
Making archive IL2C #6-55 dotnet600 2018Making archive IL2C #6-55 dotnet600 2018
Making archive IL2C #6-55 dotnet600 2018Kouji Matsui
 
Matrix signal controller and BrainPad overview
Matrix signal controller and BrainPad overviewMatrix signal controller and BrainPad overview
Matrix signal controller and BrainPad overviewKouji Matsui
 
Pitfall for WioLTE
Pitfall for WioLTEPitfall for WioLTE
Pitfall for WioLTEKouji Matsui
 
How to make the calculator
How to make the calculatorHow to make the calculator
How to make the calculatorKouji Matsui
 
Write common, run anywhere
Write common, run anywhereWrite common, run anywhere
Write common, run anywhereKouji Matsui
 
Locality of Reference
Locality of ReferenceLocality of Reference
Locality of ReferenceKouji Matsui
 
C#でわかる こわくないMonad
C#でわかる こわくないMonadC#でわかる こわくないMonad
C#でわかる こわくないMonadKouji Matsui
 
You will be assimilated. Resistance is futile.
You will be assimilated. Resistance is futile.You will be assimilated. Resistance is futile.
You will be assimilated. Resistance is futile.Kouji Matsui
 
How to meets Async and Task
How to meets Async and TaskHow to meets Async and Task
How to meets Async and TaskKouji Matsui
 
Beachhead implements new opcode on CLR JIT
Beachhead implements new opcode on CLR JITBeachhead implements new opcode on CLR JIT
Beachhead implements new opcode on CLR JITKouji Matsui
 
Async deepdive before de:code
Async deepdive before de:codeAsync deepdive before de:code
Async deepdive before de:codeKouji Matsui
 
Thread affinity and CPS
Thread affinity and CPSThread affinity and CPS
Thread affinity and CPSKouji Matsui
 
Async DeepDive basics
Async DeepDive basicsAsync DeepDive basics
Async DeepDive basicsKouji Matsui
 
continuatioN Linking
continuatioN LinkingcontinuatioN Linking
continuatioN LinkingKouji Matsui
 
真Intermediate languageのキホン
真Intermediate languageのキホン真Intermediate languageのキホン
真Intermediate languageのキホンKouji Matsui
 
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組みKouji Matsui
 
Win32 APIをてなずけよう
Win32 APIをてなずけようWin32 APIをてなずけよう
Win32 APIをてなずけようKouji Matsui
 
式の体を成して無い式を式の体を成すように式と式木で何とかする式
式の体を成して無い式を式の体を成すように式と式木で何とかする式式の体を成して無い式を式の体を成すように式と式木で何とかする式
式の体を成して無い式を式の体を成すように式と式木で何とかする式Kouji Matsui
 
不健康なIt戦士を健康的にするアレの話
不健康なIt戦士を健康的にするアレの話不健康なIt戦士を健康的にするアレの話
不健康なIt戦士を健康的にするアレの話Kouji Matsui
 
Final LINQ extensions III
Final LINQ extensions IIIFinal LINQ extensions III
Final LINQ extensions IIIKouji Matsui
 

Plus de Kouji Matsui (20)

Making archive IL2C #6-55 dotnet600 2018
Making archive IL2C #6-55 dotnet600 2018Making archive IL2C #6-55 dotnet600 2018
Making archive IL2C #6-55 dotnet600 2018
 
Matrix signal controller and BrainPad overview
Matrix signal controller and BrainPad overviewMatrix signal controller and BrainPad overview
Matrix signal controller and BrainPad overview
 
Pitfall for WioLTE
Pitfall for WioLTEPitfall for WioLTE
Pitfall for WioLTE
 
How to make the calculator
How to make the calculatorHow to make the calculator
How to make the calculator
 
Write common, run anywhere
Write common, run anywhereWrite common, run anywhere
Write common, run anywhere
 
Locality of Reference
Locality of ReferenceLocality of Reference
Locality of Reference
 
C#でわかる こわくないMonad
C#でわかる こわくないMonadC#でわかる こわくないMonad
C#でわかる こわくないMonad
 
You will be assimilated. Resistance is futile.
You will be assimilated. Resistance is futile.You will be assimilated. Resistance is futile.
You will be assimilated. Resistance is futile.
 
How to meets Async and Task
How to meets Async and TaskHow to meets Async and Task
How to meets Async and Task
 
Beachhead implements new opcode on CLR JIT
Beachhead implements new opcode on CLR JITBeachhead implements new opcode on CLR JIT
Beachhead implements new opcode on CLR JIT
 
Async deepdive before de:code
Async deepdive before de:codeAsync deepdive before de:code
Async deepdive before de:code
 
Thread affinity and CPS
Thread affinity and CPSThread affinity and CPS
Thread affinity and CPS
 
Async DeepDive basics
Async DeepDive basicsAsync DeepDive basics
Async DeepDive basics
 
continuatioN Linking
continuatioN LinkingcontinuatioN Linking
continuatioN Linking
 
真Intermediate languageのキホン
真Intermediate languageのキホン真Intermediate languageのキホン
真Intermediate languageのキホン
 
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み
 
Win32 APIをてなずけよう
Win32 APIをてなずけようWin32 APIをてなずけよう
Win32 APIをてなずけよう
 
式の体を成して無い式を式の体を成すように式と式木で何とかする式
式の体を成して無い式を式の体を成すように式と式木で何とかする式式の体を成して無い式を式の体を成すように式と式木で何とかする式
式の体を成して無い式を式の体を成すように式と式木で何とかする式
 
不健康なIt戦士を健康的にするアレの話
不健康なIt戦士を健康的にするアレの話不健康なIt戦士を健康的にするアレの話
不健康なIt戦士を健康的にするアレの話
 
Final LINQ extensions III
Final LINQ extensions IIIFinal LINQ extensions III
Final LINQ extensions III
 

What's Functional?

  • 1. What’s Functional? 2018.08.11 CENTER CLR #8 KOUJI MATSUI (@KEKYO2)
  • 2. Kouji Matsui - kekyo • NAGOYA city, AICHI pref., JP • Twitter – @kekyo2 / Facebook • Self employed • Microsoft Most Valuable Professional DevTech 2015- • Certified Scrum master / Scrum product owner • Center CLR organizer. • .NET/C#/F#/IL/metaprogramming or like… • Bike rider
  • 3. Agenda •What’s functional? •Circle of issues (methodology) •Circle of issues (natural science)
  • 4. What’s functional? It’s very tiny slides about compositions for functional. We can do free discussion in this session about what’s functional and/or what’s problem for functional? These answers are yourself.
  • 5. Circle of issues (methodology) Unified paradigm (マルチパラダイム) .NET Type system (.NET 型システム) Functional programming (F#) Building platform (開発環境)
  • 6. Circle of issues Unified paradigm (マルチパラダイム) .NET Type system (.NET 型システム) Class type (クラス) Functional programming (F#) Building platform (開発環境) Delegate type (デリゲート) Interface type (インターフェイス) ≠カリー化可能 ≠オーバーロード
  • 7. Circle of issues Unified paradigm (マルチパラダイム) .NET Type system (.NET 型システム) Class type (クラス) Functional programming (F#) Building platform (開発環境) Delegate type (デリゲート) Interface type (インターフェイス) IDE (統合開発環境) Building system (ビルドシステム) ≠カリー化可能 ≠オーバーロード
  • 8. Circle of issues Unified paradigm (マルチパラダイム) Structured (構造化処理) .NET Type system (.NET 型システム) Class type (クラス) Functional programming (F#) Building platform (開発環境) Object oriented (オブジェクト指向) Functional (関数指向) Delegate type (デリゲート) Interface type (インターフェイス) IDE (統合開発環境) Building system (ビルドシステム) ≠カリー化可能 ≠オーバーロード Syntax (文法) パターンマッチ・ computation式 Algebraic data type (代数データ型) レコード型
  • 9. Circle of issues (natural science) Mathematical logic (数理論理学) Turing machine (チューリング機械) Lambda calculus (ラムダ計算) Functional programming
  • 10. Circle of issues Mathematical logic (数理論理学) Turing machine (チューリング機械) Automaton (オートマトン) Functional programming Lambda calculus (ラムダ計算) 自己書き換え能力 自動実行・受理状態
  • 11. Circle of issues Mathematical logic (数理論理学) Turing machine (チューリング機械) Automaton (オートマトン) Functional programming Lambda calculus (ラムダ計算) Conversions (α, β, η) (変換・簡約) 自己書き換え能力 自動実行・受理状態 ネスト可能な計算・命題論理との対応半自動計算
  • 12. Circle of issues Mathematical logic (数理論理学) Proof theory (証明論) Turing machine (チューリング機械) Automaton (オートマトン) Functional programming Lambda calculus (ラムダ計算) Set theory (集合論) Computability theory (計算可能性理論) Conversions (α, β, η) (変換・簡約) Type theory (型理論) Linear logic (線形論理) 自己書き換え能力 自動実行・受理状態 ネスト可能な計算・命題論理との対応半自動計算 計算停止性 計算の一意性・順序性 推論・命題論理
  • 13. Circle of issues Mathematical logic (数理論理学) Proof theory (証明論) Turing machine (チューリング機械) Automaton (オートマトン) Functional programming Lambda calculus (ラムダ計算) Set theory (集合論) Computability theory (計算可能性理論) Conversions (α, β, η) (変換・簡約) Type theory (型理論) Linear logic (線形論理) 自己書き換え能力 自動実行・受理状態 ネスト可能な計算・命題論理との対応半自動計算 計算停止性 計算の一意性・順序性 推論・命題論理
  • 14. Thanks join! My blog ◦ http://www.kekyo.net/