SlideShare a Scribd company logo
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/

More Related Content

PDF
OpenCAPI meetup 20180702
PPTX
F# intro
PPTX
Swiftで説明する「モナド」:Swiftにおける関数型プログラミングの使い方
PDF
Brand new Data Processing - StreamAPI
PDF
Why Reactive Matters #ScalaMatsuri
PDF
F#の基礎(?)
PPTX
関数型言語初心者の俺がF#触ってみた
PPTX
関数型言語&形式的手法セミナー(3)
OpenCAPI meetup 20180702
F# intro
Swiftで説明する「モナド」:Swiftにおける関数型プログラミングの使い方
Brand new Data Processing - StreamAPI
Why Reactive Matters #ScalaMatsuri
F#の基礎(?)
関数型言語初心者の俺がF#触ってみた
関数型言語&形式的手法セミナー(3)

More from Kouji Matsui (20)

PDF
パターンでわかる! .NET Coreの非同期処理
PDF
Making archive IL2C #6-55 dotnet600 2018
PDF
Matrix signal controller and BrainPad overview
PDF
Fun with BrainPad
PDF
Pitfall for WioLTE
PDF
How to make the calculator
PDF
Write common, run anywhere
PDF
Locality of Reference
PDF
Nespのコード生成
PDF
C#でわかる こわくないMonad
PDF
You will be assimilated. Resistance is futile.
PDF
How to meets Async and Task
PDF
Beachhead implements new opcode on CLR JIT
PDF
Async deepdive before de:code
PDF
Thread affinity and CPS
PDF
Async DeepDive basics
PDF
continuatioN Linking
PDF
真Intermediate languageのキホン
PDF
.NET Coreから概観する.NETのOSSへの取り組み
PDF
Win32 APIをてなずけよう
パターンでわかる! .NET Coreの非同期処理
Making archive IL2C #6-55 dotnet600 2018
Matrix signal controller and BrainPad overview
Fun with BrainPad
Pitfall for WioLTE
How to make the calculator
Write common, run anywhere
Locality of Reference
Nespのコード生成
C#でわかる こわくないMonad
You will be assimilated. Resistance is futile.
How to meets Async and Task
Beachhead implements new opcode on CLR JIT
Async deepdive before de:code
Thread affinity and CPS
Async DeepDive basics
continuatioN Linking
真Intermediate languageのキホン
.NET Coreから概観する.NETのOSSへの取り組み
Win32 APIをてなずけよう
Ad

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/