【モナドを見つけよう】Scalaにおける関数型プログラミング基礎解説 #ScalaMatsuri #sm_c

猫という考え方 @eed3si9n_ja
1
第四のビール @tan_go238

ランタイムに踏み込むことで複雑性に立ち向かう #sm_c #ScalaMatsuri #ThinkingInCats

2016-01-30 12:11:10
Satoshi Hirose / 廣瀬 智史 🐘 @satoshihirose

Scalaで関数型で行うための障壁を取り除くのがCatsの目標。それは技術的な複雑さ、職場で未知への恐怖、社会的な障壁。 長期的で協力的なコミュニティを促進していく。#ScalaMatsuri #sm_c

2016-01-30 12:11:49
FUJII Yoshitaka @yoshiyoshifujii

#ScalaMatsuri #sm_c 問題ドメインとコンピュータの間をつなぐモデルを僕達はやってる。

2016-01-30 12:12:29
第四のビール @tan_go238

問題ドメインから時系列でデータ型と演算子にわける #sm_c #ScalaMatsuri #ThinkingInCats

2016-01-30 12:13:04
第四のビール @tan_go238

これによってコンポーザビリティできるので合成できる #sm_c #ScalaMatsuri #ThinkingInCats

2016-01-30 12:13:28
phenan @phenan

そういえばコンポーザビリティとモジュラリティってどう違うんだろう #ScalaMatsuri #sm_c

2016-01-30 12:14:07
第四のビール @tan_go238

"1" == 1 これはコンパイル通るべきではない。 = soundではない #sm_c #ScalaMatsuri #ThinkingInCats

2016-01-30 12:16:11
phenan @phenan

soundness (健全性) : 雑に考えると、コンパイル通れば実行時に変なことが起こらないこと #ScalaMatsuri #sm_c

2016-01-30 12:17:13
第四のビール @tan_go238

=== トリプルイコールを定義してコンパイルが通らないようにする (CatsにもScalazある) #sm_c #ScalaMatsuri #ThinkingInCats

2016-01-30 12:17:34
FUJII Yoshitaka @yoshiyoshifujii

#ScalaMatsuri #sm_c soundnessの考え方で、"1" === 1 をコンパイルエラーにする。

2016-01-30 12:17:43
zerosum @zerosum_

オペレータの種類を自分で増やしていくのがfunctional programmingの考え方 #ScalaMatsuri #sm_c

2016-01-30 12:17:53
病気の美少女 @lyrical_logical

Cats の具体的な話が聞けるのかなと思ってたけどヒストリカルなコラムみたいになってきた #ScalaMatsuri #sm_c

2016-01-30 12:18:41
FUJII Yoshitaka @yoshiyoshifujii

#ScalaMatsuri Delphiを10年ぐらい書いてはったとのこと。 #sm_c

2016-01-30 12:18:48
第四のビール @tan_go238

こうなってしまったとき=爆弾が爆発してしまったとき ではもう遅い(合成できない) #sm_c #ScalaMatsuri #ThinkingInCats

2016-01-30 12:20:46
第四のビール @tan_go238

よくある2つの間違いは早すぎる具現化、合成可能性を設計段階で考慮しない #sm_c #ScalaMatsuri #ThinkingInCats

2016-01-30 12:21:16
FUJII Yoshitaka @yoshiyoshifujii

#ScalaMatsuri #sm_c 具現化を早くしないと安心できないのがあるんだよな。プログラムしてると。

2016-01-30 12:21:20
zerosum @zerosum_

合成可能性を設計段階で考慮しない #ScalaMatsuri #sm_c

2016-01-30 12:21:46
Satoshi Hirose / 廣瀬 智史 🐘 @satoshihirose

Int => Int の実装が2^64通りでA => Aだと1通りしかない? #ScalaMatsuri #sm_c

2016-01-30 12:24:04