Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Haskell Introduction
Search
Seiya
July 14, 2018
Technology
0
110
Haskell Introduction
プログラミング言語のHaskellの紹介スライドです。
JOI2017夏季セミナーで作った資料な気がします。
Seiya
July 14, 2018
Tweet
Share
More Decks by Seiya
See All by Seiya
ATProtocol ざっくり概要把握してみた @ DWeb Tokyo Meetup #2
silmin_
0
34
おうちGitLabのススメ
silmin_
3
1.7k
Git入門
silmin_
32
21k
暗号について
silmin_
0
180
LinuxCommand入門
silmin_
0
390
LinuxCommand入門2
silmin_
0
280
Webについて
silmin_
3
200
ネットワークとは
silmin_
0
250
コンピュータとは|初心者向け資料
silmin_
1
190
Other Decks in Technology
See All in Technology
Phase09_自動化_仕組み化
overflowinc
0
1.7k
LLMに何を任せ、何を任せないか
cap120
10
5.4k
DMBOKを使ってレバレジーズのデータマネジメントを評価した
leveragestech
0
260
Why we keep our community?
kawaguti
PRO
0
220
From Senior to Staff : To infinity and beyond !
kuahyeow
0
110
FastMCP OAuth Proxy with Cognito
hironobuiga
3
200
スピンアウト講座04_ルーティン処理
overflowinc
0
1.2k
20260323_データ分析基盤でGeminiを使う話
1210yuichi0
0
180
Phase10_組織浸透_データ活用
overflowinc
0
1.6k
Kiro Meetup #7 Kiro アップデート (2025/12/15〜2026/3/20)
katzueno
2
250
BFCacheを活用して無限スクロールのUX を改善した話
apple_yagi
0
120
欠陥分析(ODC分析)における生成AIの活用プロセスと実践事例 / 20260320 Suguru Ishii & Naoki Yamakoshi & Mayu Yoshizawa
shift_evolve
PRO
0
390
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
430
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
500
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
We Have a Design System, Now What?
morganepeng
55
8k
Documentation Writing (for coders)
carmenintech
77
5.3k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
64
54k
It's Worth the Effort
3n
188
29k
GitHub's CSS Performance
jonrohan
1032
470k
The Limits of Empathy - UXLibs8
cassininazir
1
270
Transcript
Haskell Introduction mina @silmin_
はじめに 「純粋関数型データ構造」という本で純粋関数型(ryを学んだ () これは ➢ 参照透過性 ➢ 永続性 ➢ 副作用のNASA
➢ なんでも関数 ➢ 簡潔かつ混沌() などが特徴(らしい) 今回はHaskellで実装した
Haskell とは 芸術
型宣言 Haskellは美しい data Color = Red | Blue | Yellow
toJpn :: Color -> String toJpn Red = “aka” toJpn Blue = “ao” toJpn Yellow = “ki” main = print $ toJpn Red パターンマッチ 関数実行 & 出力 enum Color { Red, Blue, Yellow };
関数のいろいろ 関数名 引数1 引数2.......で呼び出し temp a b -> a `temp` b とも書ける (
1 + ) , ( 5 * ) : 一引数関数 ( 1 + ) . ( 5 * ) : 関数合成 ( 5倍して1足す関数) f x y = print $ gcd x y f x = print . gcd x f = (print .) . gcd
実行してみる 関数合成
二分探索木(木の定義) data Tree a = Leaf | Node (Tree a)
a (Tree a) Leaf - 末端ノードの先にいる 実質虚無 末 Node - ただのノード 子を持ってる a ... ... 葉 葉
二分探索木(search関数) search::Ord a => Tree a -> a -> Bool
search Leaf b = False search (Node tl a tr) b = if b < a then search tl b else if b > a then search tr b else True 型宣言 パターンマッチ
最後に 興味を持った方は「Haskell Platform」で検索 ※UNIX / Mac の方はパッケージがあるのでinstallしましょう Haskellには光と闇が存在します
Haskell とは 芸術
Thank you for listening !!!