@@ -18,76 +18,137 @@ tags: イベント
1818
1919## 関数型(function type)を見つめるプログラミング
2020
21+ 「関数型」 --- すなわちHaskellでいうところの` a -> b ` で表される、Haskellの関数について、ちょっと見方を変えた新しい発見を教えてくれました。
22+
2123[ 資料はこちら] ( https://github.com/nobsun/hday2019/blob/master/doc/ftype.pdf )
2224
2325<img src =" /img/2019/haskell-day-2019/nobsun.jpg " width =" 808 " height =" 540 " />
2426
2527## HKD(Higher Kinded Datatype)
2628
29+ Higher Kinded Datatype (HKD)という、昨今Haskell界で流行りの型定義方法を解説しています。
30+ レコード型を定義する際HKDにすることで、より柔軟に扱うことができるようになります。
31+ さらに、[ barbies] ( http://hackage.haskell.org/package/barbies ) や[ extensible] ( http://hackage.haskell.org/package/extensible ) といった、HKDの利用を飛躍的に促進するパッケージも紹介されました。
32+
2733[ 資料はこちら] ( https://assets.adobe.com/public/b93f214d-58c2-482f-5528-a939d3e83660 )
2834
2935<img src =" /img/2019/haskell-day-2019/fumieval.jpg " width =" 674 " height =" 450 " />
3036
3137## 「しんさんきぼう」のDerivingストラテジー
3238
39+ Haskellの` deriving ` 機能 --- 型を定義したとき、型クラスのインスタンスまで自動で定義してくれるあの機能ですね --- の、適用範囲を広げるGHCの言語拡張をいろいろ紹介してくれました。
40+
3341[ 資料はこちら] ( https://aiya000.github.io/Maid/haskell-day-2019-deriving/#/ )
3442
3543<img src =" /img/2019/haskell-day-2019/aiya000.jpg " width =" 729 " height =" 487 " />
3644
3745## HaskellメタプログラミングによるEgisonのパターンマッチの実装
3846
47+ プログラミング言語[ Egison] ( https://www.egison.org/ja/ ) の核となる機能である強力なパターンマッチを、GHCの各種拡張を駆使することで、Haskellのソースコードに自然に埋め込めるような形で実装した、という話です。
48+
3949[ 資料はこちら] ( https://www.egison.org/download/20191109HaskellDay.pdf )
4050
51+ [ 紹介しているライブラリーのソースコードはこちら] ( https://github.com/egison/egison-haskell )
52+
4153<img src =" /img/2019/haskell-day-2019/egison.jpg " width =" 808 " height =" 540 " />
4254
4355## 関数と型で理解する自動微分
4456
57+ 関数の自動微分を行うパッケージ[ ad] ( http://hackage.haskell.org/package/ad ) の仕組みを自力で実装してみることで解説してくれました。
58+
4559[ 資料はこちら] ( https://speakerdeck.com/lotz84/guan-shu-toxing-deli-jie-suruzi-dong-wei-fen )
4660
4761<img src =" /img/2019/haskell-day-2019/lotz.jpg " width =" 808 " height =" 540 " />
4862
4963## GHCJS によるWebフロントエンド開発
5064
51- [ 資料はまだ!] ( )
65+ [ miso] ( http://hackage.haskell.org/package/miso ) というおいしそうな名前のアプリケーションフレームワークと、Firebaseと連携するmisoのサンプルを、ライブコーディングを通して紹介してくれました。
66+ misoを使えば、GHCJSを使ってElm Architecture風の設計に基づいてアプリケーションを作ったり、さらにそのコードを利用してサーバーサイドレンダリングをしたりできます。
67+
68+ ℹ️資料はまだ公開されていません!当日はライブコーディングが大半の時間を占めていたため、同等の解説を文章にして公開したいというチェシャ猫さんの意向によるものです。
69+ 現在執筆中のためお待ちください。🙇
5270
5371[ 発表中に使用したソースコードはこちら] ( https://github.com/y-taka-23/miso-firebase-tutorial )
5472
5573<img src =" /img/2019/haskell-day-2019/y_taka_23.jpg " width =" 808 " height =" 540 " />
5674
5775## Haskellで作る競技型イベントの裏側
5876
77+ 「mixi git challenge」というイベントにおいてユーザーが投稿した解答を採点するサーバーを、HaskellとElmで一から書き直した、という事例を発表してくれました。
78+ [ rio] ( http://hackage.haskell.org/package/rio ) や[ servant] ( http://hackage.haskell.org/package/servant ) といった著名なパッケージを使うだけでなく、足りないところを自力で補って新しいパッケージとして公開したり、さらに作成したアプリケーション自体をOSSとして公開したりすることで、大きな資産を残していただけました。
79+
5980[ 資料はこちら] ( https://www.slideshare.net/noob00/haskell-191796924 )
6081
82+ [ 紹介しているアプリケーションのソースコードはこちら] ( https://github.com/matsubara0507/git-plantation )
83+
6184<img src =" /img/2019/haskell-day-2019/matsubara0507.jpg " width =" 808 " height =" 540 " />
6285
6386## 大規模数値計算を支える Haskell ── Pragmatic Haskell in Large-Scale Numerical Computation──
6487
88+ [ DeepFlow株式会社] ( https://www.deepflow.co.jp/ ) におけるHaskellの事例の紹介です。
89+ 超高速で大規模な数値計算システムを、GHCの多様な言語拡張を駆使して作っているそうです。
90+ Tagless Finalを活用することで知っているべき領域を区分して仕事を分けることに成功しているという点が印象的でした。
91+
6592[ 資料はこちら] ( https://speakerdeck.com/konn/da-gui-mo-shu-zhi-ji-suan-wozhi-eru-haskell-nil-nil-pragmatic-haskell-in-large-scale-numerical-computation-nil-nil )
6693
6794<img src =" /img/2019/haskell-day-2019/mr_konn.jpg " width =" 808 " height =" 540 " />
6895
6996## Cadenza: Building fast functional languages on the JVM
7097
71- [ 資料はまだ!] ( )
98+ [ cadenza] ( https://ekmett.github.io/cadenza/cadenza/index.html ) という、Truffle(GraalVMに含まれている、高速なインタープリター作成フレームワーク)製の関数型言語の紹介です。
99+ 将来的には依存型言語における型チェックや、GHCの高速化に寄与したいとのことです(TODO: konnさんなどに認識を確認したい)
72100
73- < img src = " /img/2019/haskell-day-2019/ekmett.jpg " width = " 808 " height = " 540 " />
101+ [ TODO: 資料はまだ! ] ( )
74102
75- ## LT
103+ [ 紹介しているアプリケーションのソースコードはこちら ] ( https://github.com/ekmett/cadenza )
76104
77- ** ※いくつかのLTについてスライドが見つかっていないので、ご存知でしたらご連絡ください! **
105+ < img src = " /img/2019/haskell-day-2019/ekmett.jpg " width = " 808 " height = " 540 " />
78106
79- [ 3D Model in Haskell - Google スライド ] ( https://docs.google.com/presentation/d/1TiDWz3zLUwEWgpzXfgVZFIib6JtYriB03TVgHsimJC0/edit#slide=id.gc6f73a04f_0_0 )
107+ ## LT
80108
81- [ abstract-typeclasses.pdf - Google ドライブ] ( https://drive.google.com/file/d/1YGKjl8S-LlfuB8yrHnKSK5G5MGsP9xd3/view )
109+ 今回はHakell Day史上初めての試みとして、Lightning Talkを当日公募しました。
110+ 残念ながら5分間という短い制限時間に収められない発表が大半でしたので、ぜひ👇の資料を読んでみてください!
82111
83- [ Haskellで作ってわかる型クラス ] ( https://gitpitch.com/coord-e/slide-type-class-impl )
112+ ** 順番が間違っていたら済みません!ご指摘を! **
84113
85- [ GHCのGC] ( http://www.mew.org/~kazu/material/2019-gc.pdf )
114+ - [ 3D Model in Haskell - Haskellで3Dモデルに触れる] ( https://docs.google.com/presentation/d/1TiDWz3zLUwEWgpzXfgVZFIib6JtYriB03TVgHsimJC0/edit#slide=id.gc6f73a04f_0_0 )
115+ - [ HaskellでIoTやってます] ( https://speakerdeck.com/cyclone_t/iot-cases-with-haskell )
116+ - QuoraでHaskellへの愛を語る(資料なし)
117+ - [ Haskellで作ってわかる型クラス] ( https://gitpitch.com/coord-e/slide-type-class-impl )
118+ - [ Abstract Typeclasses - How To Design a Future-Proof Typeclass] ( https://drive.google.com/file/d/1YGKjl8S-LlfuB8yrHnKSK5G5MGsP9xd3/view )
119+ - [ GHCのGC] ( http://www.mew.org/~kazu/material/2019-gc.pdf )
86120
87121# アンケート結果
88122
89123# おわりに
90124
125+ 以上の発表のに加えて、今回は、下記のスポンサー企業の皆様や@fumieval くんのおかげで、大変満足度の高い懇親会ができました。
126+
127+ - [ マーベリック株式会社] ( https://www.mvrck.co.jp/ )
128+ - [ 株式会社HERP] ( https://herp.co.jp/ )
129+ - [ 株式会社インターネットイニシアティブ] ( https://www.iij.ad.jp/ )
130+ - [ 株式会社クリプタクト] ( https://www.cryptact.com/ )
131+
132+ TODO: 懇親会の写真
133+
134+ 発表について。
135+ 昨年は「[ Haskellちょっと興味あるからちょっとできるまで] ( https://haskell-jp.connpass.com/event/92617/ ) 」というテーマを意識して、発表の難易度別に時間帯が分かれるよう調整しましたが、残念ながらうまくいきませんでした。
136+ そこで難易度調整の難しさを痛感したため、今回は敢えて難易度調整を行わなかったのです。
137+ 結果、全体として難しい発表に偏ってしまった点は少し反省です。[ 私が会社で開いているHaskell勉強会] ( https://eng-blog.iij.ad.jp/archives/3467 ) に毎回参加いただいている同僚も、総じて難しくて追いつくのが大変だった、と仰ってました。
138+ 次回は特別に難易度を下げた発表枠をいくつか作り、内容を事前に精査する、なんてプランを考えています。
139+
140+ 会場について。
141+ TECHPLAY SHIBUYAは素晴らしいですね!
142+ 我々のようなお金がないコミュニティーが今回のような規模のイベントを行うのにうってつけでした。
143+ 元々イベントを開催する前提で作られており、受付と演壇が近いため受付しながら発表を聞くことができるのも、持ち回りで受付をしている我々にとって好都合でした。
144+ 来年も是非使わせていただきたいです🙏
145+
146+ 最後に。
147+ 発表者のみなさんはもちろん、支えていただいたスタッフ、スポンサー企業、会場まで足を運んでいただいた参加者の皆様、その他この会の実現に関わったすべての方々に、この場を借りて感謝の意を示したいと思います。
148+ みなさんのご協力おかげで、大きなトラブルもなく、楽しいイベントが開催できました。ありがとうございます。
149+ 今後も日本Haskellユーザーグループ(a.k.a. Haskell-jp)をよろしくお願いします!
150+ hask(\_ \_ )eller
151+
91152# あわせて読みたい
92153
93154- 参加者による参加レポート:
0 commit comments