TypeScript使いがHaskellに入門した話

>100 Views

November 27, 25

スライド概要

2025-11-27 TECH PLAY主催LT大会 #3 で発表
https://techplay.jp/event/987443

profile-image

エンジニア集会をやっています

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

TECH PLAY主催LT大会 TECH PLAY主催LT大会 #3 #3 TypeScript使いが TypeScript使いが Haskellに入門した話 Haskellに入門した話 慕狼ゆに

2.

自己紹介 慕狼 ゆに / しのがみ ゆに 所属: 株式会社ココナラ ソフトウェアエンジニア 趣味: 慕狼ゆに Shinogami Yuni 技術イベント・コミュニティ運営 最近のトピック: アドベントカレンダーを6つ抱えて締切に 追われている X(Twitter): @yuni_shinogami

5.

こんなことやってる人です 趣味でエンジニア向け のコミュニティ作りを やっています 【実績】 4年間、毎週金曜日に開催 1000人以上が所属 毎週40人以上集客

6.

ここから本題

7.

副業でfp-tsに触れる なんやこれ

8.

副業でfp-tsに触れる fp-tsとは 関数型プログラミングでおなじみの抽象化(Option、Either、pipeなど)を TypeScriptで使えるようにするライブラリ

9.

副業でfp-tsに触れる 自分は関数型プログラミングを よくわかっていないかもしれない fp-tsの書き方にぜんぜん馴染みがなかった 純粋関数で書くみたいなのは意識してるけど・・・ 自分の中で比較対象がない 真面目にオブジェクト指向やったこともあんまない なんとなく関数で処理を書いている

10.

これを良い機会に 関数型を理解しよう!

11.

関数型プログラミングといえば 参照透過性 引数の値が定まれば結果も定まる 純粋関数 副作用を避ける 状態を持たない 関数を第一級の値として扱う 関数を値として扱える

12.

関数型プログラミングといえば 実際に純粋関数とかは意識して書いているけど、 ふわっとした理解をしている ちゃんと関数型を理解してみたい!

13.

関数型プログラミングといえば せや! Haskell触ってみたら何か分かるかも!

14.

Haskellを触ってみる Haskellの選定理由 「エンジニアなら一度はHaskellに触った方が良い」 という話を知り合いから聞いたことがあったから 関数型言語の古典に触ってみようというモチベーシ ョン 「7つの言語7つの世界」でも取り扱われていてちょっ と気になっていた

15.

Haskellを触ってみる 今回Haskell触る目的 関数型とはなにか?の実感を得る ≠ Haskellが書けるようになる なのでHaskellや関数型言語の話には踏み込まない Claudeを壁打ち相手に新しいことを学ぶ試み コード生成は基本的にClaudeにやらせる 中身の精査は専門書に当たり、裏を取る

16.

Haskellを触ってみる こんなふうに触ってみた 環境構築 ClaudeにHaskellを書かせて、知ってる言語と比較 わからないことも全部解説させる 本を読んで、手を動かしてみる Clean Architecture 7つの言語7つの世界 すごいH本

17.

Haskellを触ってみる とりあえずHello World

18.

Haskellを触ってみる その後、FizzBuzzを書く

19.

Haskellを触ってみる 比較に、fp-ts&TypeScriptでもやる

20.

Haskellを触ってみる Claudeにコードを書かせて面白かったこと IO型の発見 副作用のあるなしを型で表現する書き方 純粋関数を厳密に作る仕組みがあるのが、 TSと比較してかなり面白かった 「そもそも副作用ってなんだっけ?」という部分 を再度理解しなおすきっかけになった

21.

Haskellを触ってみる Claudeにコードを書かせて面白かったこと 関数型の概念が思った以上に普段書いているTSに 溶け込んでいる 第一級関数: const func = () => {} 関数合成: .map().filter() カリー化: pipe()の実装 モナド: Promiseの.then()、配列の.flatMap()

22.

Haskellを触ってみる TypeScriptでも関数型の考え方で書けるけど、 これは本当に関数型なの? 関数型じゃない書き方もできるんだけど・・・

23.

Haskellを触ってみる キーワード:「パラダイム」 JavaScriptは「マルチパラダイム」 引用:https://developer.mozilla.org/ja/docs/Web/JavaScript

24.

Haskellを触ってみる ここに興味が湧いて、ようやくClean Architectureで言及 されていた「プログラミングパラダイム」が理解できた 第Ⅱ部 構成要素から始めよ: プログラミングパラダイム 構造化プログラミング オブジェクト指向プログラミング 関数型プログラミング

25.

まとめ TypeScript書きがHaskellに触った結果・・・ プログラミングパラダイムへの解像度が上がった 新しい言語を理解するための武器を一つ手に入れられたかも? 「良い言語とは?」系の考察記事が少し理解できるようになった

26.

おまけ

27.

友達にHaskellを触っている話をした 友達「Haskell!?ゆにさん何言ってるんですか!!」

28.

友達にHaskellを触っている話をした 友達「関数型知りたいなら Lispを書きましょう!」

29.

友達にHaskellを触っている話をした LispでHello World

30.

友達にHaskellを触っている話をした LispでFizzBuzzを書く

31.

TECH PLAY主催LT大会 TECH PLAY主催LT大会 #3 #3 TypeScript使いが TypeScript使いが Haskellに入門したら、 Haskellに入門したら、 Lispを書かされる羽目に Lispを書かされる羽目に なって( )に埋もれた話 なって( )に埋もれた話