Enviar búsqueda
Cargar
こわくない型クラス
•
32 recomendaciones
•
7,565 vistas
Kota Mizushima
Seguir
Tecnología
Entretenimiento y humor
Denunciar
Compartir
Denunciar
Compartir
1 de 35
Descargar ahora
Descargar para leer sin conexión
Recomendados
Pythonintro
Pythonintro
Mikio Kubo
MP in Haskell
MP in Haskell
Kent Ohashi
MP in Scala
MP in Scala
Kent Ohashi
Implicit Explicit Scala
Implicit Explicit Scala
Kota Mizushima
すごいHaskell 第7章 型や型クラスを自分で作ろう(前編)
すごいHaskell 第7章 型や型クラスを自分で作ろう(前編)
Nozomu Kaneko
関数の近似方法(MATLAB)
関数の近似方法(MATLAB)
Tsuyoshi Horigome
Implicit Implicit Scala
Implicit Implicit Scala
Kota Mizushima
Yokohama6 epi
Yokohama6 epi
えぴ 福田
Recomendados
Pythonintro
Pythonintro
Mikio Kubo
MP in Haskell
MP in Haskell
Kent Ohashi
MP in Scala
MP in Scala
Kent Ohashi
Implicit Explicit Scala
Implicit Explicit Scala
Kota Mizushima
すごいHaskell 第7章 型や型クラスを自分で作ろう(前編)
すごいHaskell 第7章 型や型クラスを自分で作ろう(前編)
Nozomu Kaneko
関数の近似方法(MATLAB)
関数の近似方法(MATLAB)
Tsuyoshi Horigome
Implicit Implicit Scala
Implicit Implicit Scala
Kota Mizushima
Yokohama6 epi
Yokohama6 epi
えぴ 福田
配列
配列
rippro
a-hisame
すごいHaskell楽しく学ぼう 第6章
すごいHaskell楽しく学ぼう 第6章
aomori ringo
速習Collections
速習Collections
irof N
Introduction to Categorical Programming
Introduction to Categorical Programming
Masahiro Sakai
すうがく初めの一歩
すうがく初めの一歩
Lina Katayose
C言語講習会3
C言語講習会3
odenhadengaku
型クラス
型クラス
hakukotsu
Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)
Masahiro Sakai
F#のすすめ
F#のすすめ
Hiromu Sasaki
Python勉強会2-数値と文字列
Python勉強会2-数値と文字列
理 小林
Rの初歩: 6. グラフィックス
Rの初歩: 6. グラフィックス
Teiko Suzuki
Extensible Eff Applicative
Extensible Eff Applicative
Sanshiro Yoshida
みんなで Swift 復習会 GO! in 沖縄・発表資料
みんなで Swift 復習会 GO! in 沖縄・発表資料
Tomohiro Kumagai
これがわかるとshapelessのコードも読めるかもしれない
これがわかるとshapelessのコードも読めるかもしれない
Yasuki Okumura
やさしく知りたいC言語
やさしく知りたいC言語
uru nru
CG2013 05
CG2013 05
shiozawa_h
関数型プログラミングとモナド
関数型プログラミングとモナド
Masayuki Isobe
データ圧縮
データ圧縮
Joe Suzuki
120419サブゼミ意思決定(2) 1
120419サブゼミ意思決定(2) 1
takemuralab
Scalaで型クラス入門
Scalaで型クラス入門
Makoto Fukuhara
Scalaのオブジェクトの話
Scalaのオブジェクトの話
Yasuyuki Maeda
Más contenido relacionado
La actualidad más candente
配列
配列
rippro
a-hisame
すごいHaskell楽しく学ぼう 第6章
すごいHaskell楽しく学ぼう 第6章
aomori ringo
速習Collections
速習Collections
irof N
Introduction to Categorical Programming
Introduction to Categorical Programming
Masahiro Sakai
すうがく初めの一歩
すうがく初めの一歩
Lina Katayose
C言語講習会3
C言語講習会3
odenhadengaku
型クラス
型クラス
hakukotsu
Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)
Masahiro Sakai
F#のすすめ
F#のすすめ
Hiromu Sasaki
Python勉強会2-数値と文字列
Python勉強会2-数値と文字列
理 小林
Rの初歩: 6. グラフィックス
Rの初歩: 6. グラフィックス
Teiko Suzuki
Extensible Eff Applicative
Extensible Eff Applicative
Sanshiro Yoshida
みんなで Swift 復習会 GO! in 沖縄・発表資料
みんなで Swift 復習会 GO! in 沖縄・発表資料
Tomohiro Kumagai
これがわかるとshapelessのコードも読めるかもしれない
これがわかるとshapelessのコードも読めるかもしれない
Yasuki Okumura
やさしく知りたいC言語
やさしく知りたいC言語
uru nru
CG2013 05
CG2013 05
shiozawa_h
関数型プログラミングとモナド
関数型プログラミングとモナド
Masayuki Isobe
データ圧縮
データ圧縮
Joe Suzuki
120419サブゼミ意思決定(2) 1
120419サブゼミ意思決定(2) 1
takemuralab
La actualidad más candente
(20)
配列
配列
すごいHaskell楽しく学ぼう 第6章
すごいHaskell楽しく学ぼう 第6章
速習Collections
速習Collections
Introduction to Categorical Programming
Introduction to Categorical Programming
すうがく初めの一歩
すうがく初めの一歩
C言語講習会3
C言語講習会3
型クラス
型クラス
Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)
F#のすすめ
F#のすすめ
Python勉強会2-数値と文字列
Python勉強会2-数値と文字列
Rの初歩: 6. グラフィックス
Rの初歩: 6. グラフィックス
Extensible Eff Applicative
Extensible Eff Applicative
みんなで Swift 復習会 GO! in 沖縄・発表資料
みんなで Swift 復習会 GO! in 沖縄・発表資料
これがわかるとshapelessのコードも読めるかもしれない
これがわかるとshapelessのコードも読めるかもしれない
やさしく知りたいC言語
やさしく知りたいC言語
CG2013 05
CG2013 05
関数型プログラミングとモナド
関数型プログラミングとモナド
データ圧縮
データ圧縮
120419サブゼミ意思決定(2) 1
120419サブゼミ意思決定(2) 1
Destacado
Scalaで型クラス入門
Scalaで型クラス入門
Makoto Fukuhara
Scalaのオブジェクトの話
Scalaのオブジェクトの話
Yasuyuki Maeda
Pythonのすすめ
Pythonのすすめ
Masashi Shibata
Swiftで、かなり微妙な型クラス
Swiftで、かなり微妙な型クラス
Nobukazu Hanada
Scalaでのプログラム開発
Scalaでのプログラム開発
Kota Mizushima
Javaから始めるscalaっぽい書き方
Javaから始めるscalaっぽい書き方
Kenji Doi
第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」
yoshiaki iwanaga
Scala lens: An introduction
Scala lens: An introduction
Knoldus Inc.
Scalaで実装するGC
Scalaで実装するGC
NISHIMOTO Keisuke
15分でざっくり分かるScala入門
15分でざっくり分かるScala入門
SatoYu1ro
Python3でwebアプリ
Python3でwebアプリ
Atsushi Odagiri
Scalaで萌える関数型プログラミング[完全版]
Scalaで萌える関数型プログラミング[完全版]
Ra Zon
Python入門 : 4日間コース社内トレーニング
Python入門 : 4日間コース社内トレーニング
Yuichi Ito
Destacado
(13)
Scalaで型クラス入門
Scalaで型クラス入門
Scalaのオブジェクトの話
Scalaのオブジェクトの話
Pythonのすすめ
Pythonのすすめ
Swiftで、かなり微妙な型クラス
Swiftで、かなり微妙な型クラス
Scalaでのプログラム開発
Scalaでのプログラム開発
Javaから始めるscalaっぽい書き方
Javaから始めるscalaっぽい書き方
第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」
Scala lens: An introduction
Scala lens: An introduction
Scalaで実装するGC
Scalaで実装するGC
15分でざっくり分かるScala入門
15分でざっくり分かるScala入門
Python3でwebアプリ
Python3でwebアプリ
Scalaで萌える関数型プログラミング[完全版]
Scalaで萌える関数型プログラミング[完全版]
Python入門 : 4日間コース社内トレーニング
Python入門 : 4日間コース社内トレーニング
Similar a こわくない型クラス
20141128 iOSチーム勉強会 My Sweet Swift
20141128 iOSチーム勉強会 My Sweet Swift
necocen
Pythonで始めるDropboxAPI
Pythonで始めるDropboxAPI
Daisuke Igarashi
代数トポロジー入門
代数トポロジー入門
Tatsuki SHIMIZU
たのしい関数型
たのしい関数型
Shinichi Kozake
虚数は作れる!Swift で学ぶ複素数
虚数は作れる!Swift で学ぶ複素数
Taketo Sano
命令プログラミングから関数プログラミングへ
命令プログラミングから関数プログラミングへ
Naoki Kitora
モナドハンズオン前座
モナドハンズオン前座
bleis tift
Similar a こわくない型クラス
(7)
20141128 iOSチーム勉強会 My Sweet Swift
20141128 iOSチーム勉強会 My Sweet Swift
Pythonで始めるDropboxAPI
Pythonで始めるDropboxAPI
代数トポロジー入門
代数トポロジー入門
たのしい関数型
たのしい関数型
虚数は作れる!Swift で学ぶ複素数
虚数は作れる!Swift で学ぶ複素数
命令プログラミングから関数プログラミングへ
命令プログラミングから関数プログラミングへ
モナドハンズオン前座
モナドハンズオン前座
Más de Kota Mizushima
ドワンゴにおける新卒エンジニア向けScala研修について
ドワンゴにおける新卒エンジニア向けScala研修について
Kota Mizushima
kollectionの紹介
kollectionの紹介
Kota Mizushima
株式会社ドワンゴにおけるScala教育の現状
株式会社ドワンゴにおけるScala教育の現状
Kota Mizushima
Macros in nemerle
Macros in nemerle
Kota Mizushima
Scala Daysに行ってみて - あるいはスイス旅行記 -
Scala Daysに行ってみて - あるいはスイス旅行記 -
Kota Mizushima
Introduction to PEG
Introduction to PEG
Kota Mizushima
Scalaの現状と今後
Scalaの現状と今後
Kota Mizushima
Power of Scala
Power of Scala
Kota Mizushima
Scala Performance Tuning Tips
Scala Performance Tuning Tips
Kota Mizushima
こわくないScala
こわくないScala
Kota Mizushima
Scala is-unscared
Scala is-unscared
Kota Mizushima
About Capabilities for Uniqueness and Borrowing
About Capabilities for Uniqueness and Borrowing
Kota Mizushima
Scala Macros makes it easy to provide useful libraries
Scala Macros makes it easy to provide useful libraries
Kota Mizushima
Scala + Finagleの魅力
Scala + Finagleの魅力
Kota Mizushima
Scalaの現状と課題
Scalaの現状と課題
Kota Mizushima
日本Scalaユーザーズグループ発足
日本Scalaユーザーズグループ発足
Kota Mizushima
言語アップデート -Scala編-
言語アップデート -Scala編-
Kota Mizushima
Scalaz
Scalaz
Kota Mizushima
ScalaのソースをEclipseでビルドしてみた
ScalaのソースをEclipseでビルドしてみた
Kota Mizushima
Scalaの限定継続の応用と基本(改訂版)
Scalaの限定継続の応用と基本(改訂版)
Kota Mizushima
Más de Kota Mizushima
(20)
ドワンゴにおける新卒エンジニア向けScala研修について
ドワンゴにおける新卒エンジニア向けScala研修について
kollectionの紹介
kollectionの紹介
株式会社ドワンゴにおけるScala教育の現状
株式会社ドワンゴにおけるScala教育の現状
Macros in nemerle
Macros in nemerle
Scala Daysに行ってみて - あるいはスイス旅行記 -
Scala Daysに行ってみて - あるいはスイス旅行記 -
Introduction to PEG
Introduction to PEG
Scalaの現状と今後
Scalaの現状と今後
Power of Scala
Power of Scala
Scala Performance Tuning Tips
Scala Performance Tuning Tips
こわくないScala
こわくないScala
Scala is-unscared
Scala is-unscared
About Capabilities for Uniqueness and Borrowing
About Capabilities for Uniqueness and Borrowing
Scala Macros makes it easy to provide useful libraries
Scala Macros makes it easy to provide useful libraries
Scala + Finagleの魅力
Scala + Finagleの魅力
Scalaの現状と課題
Scalaの現状と課題
日本Scalaユーザーズグループ発足
日本Scalaユーザーズグループ発足
言語アップデート -Scala編-
言語アップデート -Scala編-
Scalaz
Scalaz
ScalaのソースをEclipseでビルドしてみた
ScalaのソースをEclipseでビルドしてみた
Scalaの限定継続の応用と基本(改訂版)
Scalaの限定継続の応用と基本(改訂版)
Último
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Último
(11)
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
こわくない型クラス
1.
こわくない型クラス @kmizu Scala
Conference in Japan 2013 座長 Scalaエヴァンジェリスト(に戻った?)
2.
こわくない話
3.
型クラスは怖くない 型クラスは友達
4.
本当に?
5.
本当です(真顔)
6.
簡単な例題
7.
リストの要素を全て足し合わせた値を返 す関数
8.
素直な解
9.
def sum(list: List[Int]):
Int = list.foldLeft(0)(_ + _)
10.
これでOK?
11.
Intにしか適用できない
12.
加算できる型ならなんでもsumしたい (Int,Long,Float,Doubleとか)
13.
trait Monoid[A] {
def plus(x: A, y: A): A def zero: A } def sum[A](list: List[A])(m: Monoid[A]): A = { list.foldLeft(m.zero) { case (total, e) => m.plus(total, e) } }
14.
ここまでが準備
15.
object IntMonoid extends
Monoid[Int] { def plus(x: Int, y: Int): Int = x + y def zero: Int = 0 } sum(List(1, 2, 3, 4))(IntMonoid)
16.
object DoubleMonoid extends
Monoid[Double] { def plus(x: Double, y: Double): Double= x + y def zero: Double = 0.0 } sum(List(1.0, 2.0, 3.0, 4.0))(DoubleMonoid)
17.
やった!
18.
毎回 XXXMonoid渡すの?
19.
めんどくさい
20.
その気持ちをわかって欲しい
21.
気持ちを伝える方法
22.
trait Monoid[A] {
def plus(x: A, y: A): A def zero: A } def sum[A](list: List[A])( implicit m: Monoid[A]): A = { list.foldLeft(m.zero) { case (total, e) => m.plus(total, e) } }
23.
implicit object DoubleMonoid
extends Monoid[Double] { def plus(x: Double, y: Double): Double= x + y def zero: Double = 0.0 } implicit object IntMonoid extends Monoid[Int] { def plus(x: Int, y: Int): Int = x + y def zero: Double = 0
24.
sum(List(1, 2, 3,
4, 5)) // ⇒ 15 sum(List(1.0, 2.0, 3.0. 4.0, 5.0)) // ⇒ 15.0
25.
他の型のListもsumしたくなったら?
26.
implicit object BooleanMonoid
extends Monoid[Boolean] { def plus(x: Boolean, y: Boolean): Boolean = x | y def zero: Boolean = false } List(true, false, true) // ⇒ true List(false, false, false) // ⇒ true
27.
話を戻します
28.
めんどくさい def
sum[A](list: List[A])( implicit m: Monoid[A]): A = { list.foldLeft(m.zero) { case (total, e) => m.plus(total, e) } }
29.
def sum[A:Monoid](list: List[A]):
A = { list.foldLeft(m.zero) { case (total, e) => m.plus(total, e) } }
30.
型クラスという言葉 出てきましたか?
31.
Monoid[A] みたいなのをScalaで 型クラスと呼んでいるだけ
厳密には説明の順番が逆だけどそこは気にしない
32.
Haskellの型クラスも 原理は同じ
33.
Scalaでは 少し中身が見えている
34.
むしろわかりやすい
35.
詳しく知りたい人向けの参考文献
Martin Odersky, Poor Man's Type Classes, 2006 http://lampwww.epfl.ch/~odersky/talks/wg2.8boston06.pdf
Descargar ahora