Nextbeat Tech Bar:第六回関数型プログラミング(仮)の会
イベント内容
11/13(水)追記:懇親会について
MetaLifeを使ったオンライン懇親会を開催することになりました。上限人数25名までの案内となりますが、よろしくお願いします。詳細についてはconnpassのメッセージおよび当日にお伝えします。
📢 関数型プログラミング(仮)について
Opt Technologies / 株式会社オプト様が過去に主催していた、関数型プログラミングについてなら何でもありの技術イベントです。オプト様からイベント名 / イベントコンセプトをお譲りいただくことになり、Nextbeat Tech Barの枠で開催する運びとなりました。
📢 イベント概要
「関数型プログラミング」(Functional Programming)はかなり一般的になっています。
とくに、いわゆる「関数型プログラミング言語」(HaskellやOCaml、Clojure、Scala、Elmなど)からは多くの機能が主流の言語に輸入されています。たとえば、
- 高階関数(ファーストクラス関数)
- 不変コレクション
- 不変データを簡単に作る機構
などが多くの言語に取り入れられています。
徐々に「関数型プログラミング」が業務にも広がっているようにも感じます。
本イベントは、そんな「関数型プログラミング」ぽいものについて、言語コミュニティを超えて知見を共有したり、あるいは単にわいわいしゃべりあうのが目的です。今回も前回に引き続きフリーテーマでわいわいやっていければと思います。
皆様の参加や発表をお待ちしています。
参加資格
「関数型プログラミング」に興味がある方ならどんな方でも歓迎です。特に「よくわからない」という印象を持っている初心者の方の参加も積極的に歓迎したいと思います。
オンライン発表について
- 通常発表枠(発表20分+質疑応答5分)とLT枠(発表5分)があります。
当日は発表者各々のPCから画面共有をしていただく流れとなります。また、18:50より前にGoogle Meetに入っていただき、事前に画面共有テストをお願い致します。
- イベントページで公開用に一週間前までのスライドの提出をよろしくお願いします。
提出先は、ml-dev-event{at}nextbeat.net でよろしくお願いします({at}を@に置換してください)。スライドの公開が不可の場合、事前に申告いただけると助かります。
日時
- 2024年11月22日(金)19:00~20:40
開催方法
オンライン開催(Google Meet)になります。
※オンライン参加用のURLは前日にメッセージ送付させていただきます。
スケジュール
時間 | 内容 | 発表タイトル |
---|---|---|
18:30 | 開場(Google Meets入場可能) | |
19:00 | オープニング | by kmizu |
19:10 | 発表1(20分枠+5分) | Scala 3による関数型プログラミング入門 by kmizu |
19:35 | 発表2(20分枠+5分) | elm-pagesでもう一歩実用的なWEBアプリケーション作りをしよう by ababupdownba |
20:00 | 休憩 | |
20:10 | LT1(5分) | Make Impossible States Impossibleを 意識してReactのPropsを設計しよう ikumatdkr |
20:15 | LT2(5分) | Haskellで競技プログラミングに入門してみた by RayStark77 |
20:20 | LT3(5分) | do Notation Equivalents in JVM Languages: Scala, Kotlin, Clojure by lagenorhynque |
20:25 | LT4(5分) | type-driven property-based testingとfuzzingを組み合わせる by mt_caret |
20:30 | クロージング | |
20:50 | オンライン懇親会(MetaLife) | |
21:50 | オンライン懇親会終了 |
発表概要
発表1:Scala 3による関数型プログラミング入門 by kmizu
関数型プログラミングの基本をScala 3による簡潔なコード例を使ってわかりやすく解説します。純粋関数や不変性といった主要概念の説明から始まり、代数的データ型を使った安全性の向上をはじめとした関数型プログラミングの実務での利点を具体的なコード例とともに紹介します
発表2:elm-pagesでもう一歩実用的なWEBアプリケーション作りをしよう by ababupdownba
関数型言語プログラミング言語ElmはWEBアプリケーションのフロントエンドをターゲットとした言語です。その領域を拡張し、バックエンドのプログラミングを可能としたフレームワークelm-pagesの世界を簡単にご紹介します。関数型言語のパワーをより実践で活かしてみようと思うキッカケになればと思います。
LT1:Make Impossible States Impossibleを 意識してReactのPropsを設計しよう by ikumatdkr
関数型プログラミング言語のコミュニティを出自とする「Make Impossible States Impossible/Make Illegal States Unrepresentable」は、関数型言語のみならずAPI設計に汎用的に適用できる考え方です。React・TypeScriptを使ったフロントエンド開発においても、この考え方は保守性の高いコンポーネントの構築に役立ちます。このLTでは概念の説明と、Discriminated UnionとCompositionによる実現方法について紹介します。
LT2:Haskellで競技プログラミングに入門してみた by RayStark77
Haskellで関数型プログラミングに入門してみた感想をお話しさせて頂きます。
LT3:do
Notation Equivalents in JVM Languages: Scala, Kotlin, Clojure by lagenorhynque
Haskellでお馴染みのdo記法(do notation)は、他言語でもbind/flatMap相当の操作を繰り返す(Haskellでいう「モナド」的な構造を扱う)状況で同等のものがほしくなることがあります。 JJUG CCC 2024 Fallで私が発表していたテーマmap関数の内部実装から探るJVM言語のコレクション: Scala, Kotlin, Clojureコレクションの基本的な設計を理解しようのスピンオフ(?)ということで、JVM言語Scala, Kotlin, Clojureの言語機能やライブラリ実装ではどのように実現されているか、手短に紹介します。
LT4:type-driven property-based testingとfuzzingを組み合わせる by mt_caret
property-based testingとfuzzingとそれぞれの強み弱みを紹介し、それらをうまく組み合わせるcrowbarというライブラリとその仕組を紹介します。
注意事項
- 本イベントの録音・録画は禁止しております。
- 採用、営業活動を目的としたご参加はできません。
- イベントは止むを得ず中止させて頂く場合がございます。その際は、本サイトからのメッセージよりご連絡させて頂きますのでご確認をお願い致します。
※情報は随時更新します。
<過去開催実績>
他
会場場所貸し・イベント共同開催等の依頼
ネクストビートでは、技術やテック系コミュニティの発展を支援するために、以下の取り組みを行っています。
- イベント会場の無償貸出(詳細についてはこちら)
- 勉強会の開催/共同開催
- 技術イベントへの登壇
- 技術コミュニティ/イベントへのスポンサード
「弊社のスペースを利用してイベント開催がしたい」「弊社のエンジニアと一緒に勉強会を開催したい」「弊社のエンジニアに登壇してほしい」等のご相談・お問い合わせに関しては、こちらのフォームよりご連絡をお願いいたします。
【過去の実績(例)】
注意事項
※ 掲載タイミングや更新頻度によっては、情報提供元ページの内容と差異が発生しますので予めご了承ください。
※ 最新情報の確認や参加申込手続き、イベントに関するお問い合わせ等は情報提供元ページにてお願いします。
新規会員登録
このイベントに申し込むには会員登録が必要です。
アカウント登録済みの方はログインしてください。
※ ソーシャルアカウントで登録するとログインが簡単に行えます。
※ 連携したソーシャルアカウントは、会員登録完了後にいつでも変更できます。