Submit Search
Upload
型! 型!
•
4 likes
•
2,138 views
真一 北原
Follow
#comb_mu で発表したスライドです
Read less
Read more
Technology
Report
Share
Report
Share
1 of 150
Download now
Download to read offline
Recommended
201805 のの会@関数Talk 2nd
201805 のの会@関数Talk 2nd
Satoru Abe
Elm overview
Elm overview
dsuke Takaoka
IdrisでWebアプリを書く
IdrisでWebアプリを書く
Hideyuki Tanaka
Haskell で LINE Bot を作ってみた
Haskell で LINE Bot を作ってみた
Nobutada Matsubara
「7つの言語、7つの世界」を読む
「7つの言語、7つの世界」を読む
Nobutada Matsubara
Haskell Backpack 事始め
Haskell Backpack 事始め
Nobutada Matsubara
Haskell Lecture 1
Haskell Lecture 1
Yusuke Matsushita
Elmで始めるFunctional Reactive Programming
Elmで始めるFunctional Reactive Programming
Yasuyuki Maeda
Recommended
201805 のの会@関数Talk 2nd
201805 のの会@関数Talk 2nd
Satoru Abe
Elm overview
Elm overview
dsuke Takaoka
IdrisでWebアプリを書く
IdrisでWebアプリを書く
Hideyuki Tanaka
Haskell で LINE Bot を作ってみた
Haskell で LINE Bot を作ってみた
Nobutada Matsubara
「7つの言語、7つの世界」を読む
「7つの言語、7つの世界」を読む
Nobutada Matsubara
Haskell Backpack 事始め
Haskell Backpack 事始め
Nobutada Matsubara
Haskell Lecture 1
Haskell Lecture 1
Yusuke Matsushita
Elmで始めるFunctional Reactive Programming
Elmで始めるFunctional Reactive Programming
Yasuyuki Maeda
Database.persistentの話
Database.persistentの話
真一 北原
能年玲奈ちゃん駆動開発
能年玲奈ちゃん駆動開発
真一 北原
型!
型!
真一 北原
templateを依存型っぽく使ってみる
templateを依存型っぽく使ってみる
真一 北原
すごいMonad入門
すごいMonad入門
真一 北原
すごいCoq入門
すごいCoq入門
真一 北原
Lt駆動開発03 コンパイル時fizz buzzやってみた
Lt駆動開発03 コンパイル時fizz buzzやってみた
真一 北原
Lt駆動開発03 サイト運営してみた結果
Lt駆動開発03 サイト運営してみた結果
真一 北原
型安全Printf作ってみた
型安全Printf作ってみた
真一 北原
能年玲奈ちゃんのファンとして本気を出してみた
能年玲奈ちゃんのファンとして本気を出してみた
真一 北原
第2回 mix c++勉強会@tokyo 資料
第2回 mix c++勉強会@tokyo 資料
真一 北原
C++勉強会in広島プレゼン資料
C++勉強会in広島プレゼン資料
真一 北原
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
More Related Content
More from 真一 北原
Database.persistentの話
Database.persistentの話
真一 北原
能年玲奈ちゃん駆動開発
能年玲奈ちゃん駆動開発
真一 北原
型!
型!
真一 北原
templateを依存型っぽく使ってみる
templateを依存型っぽく使ってみる
真一 北原
すごいMonad入門
すごいMonad入門
真一 北原
すごいCoq入門
すごいCoq入門
真一 北原
Lt駆動開発03 コンパイル時fizz buzzやってみた
Lt駆動開発03 コンパイル時fizz buzzやってみた
真一 北原
Lt駆動開発03 サイト運営してみた結果
Lt駆動開発03 サイト運営してみた結果
真一 北原
型安全Printf作ってみた
型安全Printf作ってみた
真一 北原
能年玲奈ちゃんのファンとして本気を出してみた
能年玲奈ちゃんのファンとして本気を出してみた
真一 北原
第2回 mix c++勉強会@tokyo 資料
第2回 mix c++勉強会@tokyo 資料
真一 北原
C++勉強会in広島プレゼン資料
C++勉強会in広島プレゼン資料
真一 北原
More from 真一 北原
(12)
Database.persistentの話
Database.persistentの話
能年玲奈ちゃん駆動開発
能年玲奈ちゃん駆動開発
型!
型!
templateを依存型っぽく使ってみる
templateを依存型っぽく使ってみる
すごいMonad入門
すごいMonad入門
すごいCoq入門
すごいCoq入門
Lt駆動開発03 コンパイル時fizz buzzやってみた
Lt駆動開発03 コンパイル時fizz buzzやってみた
Lt駆動開発03 サイト運営してみた結果
Lt駆動開発03 サイト運営してみた結果
型安全Printf作ってみた
型安全Printf作ってみた
能年玲奈ちゃんのファンとして本気を出してみた
能年玲奈ちゃんのファンとして本気を出してみた
第2回 mix c++勉強会@tokyo 資料
第2回 mix c++勉強会@tokyo 資料
C++勉強会in広島プレゼン資料
C++勉強会in広島プレゼン資料
Recently uploaded
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
Recently uploaded
(9)
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
型! 型!
1.
型! 型! #comb_mu @minamiyama1994 2014/08/10
2.
皆さん
3.
初めての人は初めまして
4.
久しぶりな人は久しぶり
5.
南山まさかずです
6.
東京生まれの
7.
広島育ち
8.
19歳大学生(休学中)
9.
C++
10.
とか
11.
Haskell
12.
とか
13.
Coq
14.
とか
15.
そういうのをやってます
16.
仕事はRubyだけどな!
17.
閑話休題
18.
「型」
19.
ご存じですか?
20.
型
21.
取りうる値の集合
22.
データに対するメタ情報
23.
……
24.
?
25.
例えば
26.
0は整数型
27.
”hoge”は文字列型
28.
http://t.coはURL型
29.
こんなものです
30.
楽しい!
31.
さて
32.
型があると何が嬉しいの?
33.
例えば
34.
「URL」×「実数」
35.
?????
36.
「ファイル」−「文字列」
37.
?????
38.
「あり得ない計算」
39.
これは型で防げる
40.
エラーになるからな!
41.
ところで
42.
動的型付け
43.
静的型付け
44.
こういった概念がある
45.
型でエラーが防げる
46.
いつ防ぐの?
47.
実行時に防ぐ
48.
これが動的型付け
49.
実行する前に防ぐ
50.
これが静的型付け
51.
Rubyとかは動的型付け
52.
C++とかは静的型付け
53.
戦略の違い
54.
動的型付け
55.
致命的なエラー検知が 実行時に行われる
56.
脆弱性になりうる
57.
「適当な状態で 動かしたい」
58.
動かせる
59.
そう、動的型付けならね
60.
※エラーが確実に 弾けるとは言っていない
61.
静的型付け
62.
致命的なエラー検知が 実行前に行われる
63.
安心!
64.
「適当な状態で 動かしたい」
65.
ムズカシー
66.
何事も 良し悪しということで……
67.
総括
68.
型
69.
プログラムの安全性を 担保するもの
70.
動的型付け
71.
実行時に型チェック
72.
静的型付け
73.
コンパイル時に型チェック
74.
おしまいおしまい
75.
ではないです
76.
型に関する概念について
77.
型に関して重要な 概念がいくつかあります
78.
ダックタイピング
79.
動的型付け言語で使われる
80.
???「あのメソッド ありゃええやん」
81.
インターフェースが 合ってればいいや
82.
割とアバウト
83.
多相型/ジェネリクス
84.
型を限定しない
85.
「具体的な型じゃないけど 処理書いとくね!」
86.
型に関するワイルドカード
87.
個々の型について いちいち書かなくてもいい
88.
便利!
89.
代数的データ型
90.
代数的?????
91.
例えば
92.
直和型
93.
集合論で言う直和
94.
「型の足し算」
95.
例えば
96.
直積型
97.
集合論でいう直積
98.
「型の掛け算」
99.
集合論での概念
100.
この考え方を 型にも適用したのが
101.
「代数的データ型」
102.
依存型
103.
「値に依存した型」
104.
型の中に値が入り込む
105.
値が違うと型も違う
106.
線形型
107.
「何回使われうるか」
108.
これを型情報に含めたもの
109.
etc,etc…...
110.
型に関する概念は 他にもあります
111.
TAPL読めば 大体なんとかなる説
112.
では、おしまいおしまい
113.
……
114.
終わらせないぜ!
115.
定理証明系の話をしよう
116.
型で証明できる世界
117.
……?
118.
「日本語でおk」
119.
型は命題に対応します
120.
「Aを受け取り Bを返す関数が実装可能」
121.
「AがあればBを導き出す妥 当な処理がある」
122.
「「A」が成り立てば 「B」が成り立つ」
123.
命題!
124.
「妥当な処理」が証明
125.
「妥当な処理」
126.
つまりプログラムですね
127.
総括
128.
型は命題に対応します
129.
プログラムは 証明に対応します
130.
ある型を持つ 関数が実装できる
131.
ある命題を証明できる
132.
これを利用して
133.
「型で証明する」 のが目的の言語がある
134.
Coq
135.
とか
136.
Agda
137.
とか
138.
Idris
139.
とか
140.
「定理証明系」と 呼ばれます
141.
「型で定理を証明」
142.
かっこ良くないですか?
143.
型を活用すれば
144.
こんなことも出来るよ
145.
そんなお話でした
146.
おしまいおしまい
147.
今度こそね
148.
ご清聴
149.
ありがとうございました
150.
※時間があれば質疑応答
Download now