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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
13
おうちGitLabのススメ
silmin_
3
1.5k
Git入門
silmin_
31
20k
暗号について
silmin_
0
170
LinuxCommand入門
silmin_
0
370
LinuxCommand入門2
silmin_
0
260
Webについて
silmin_
3
180
ネットワークとは
silmin_
0
230
コンピュータとは|初心者向け資料
silmin_
1
180
Other Decks in Technology
See All in Technology
ZOZOにおけるAI活用の現在 ~開発組織全体での取り組みと試行錯誤~
zozotech
PRO
5
4.8k
入社1ヶ月でデータパイプライン講座を作った話
waiwai2111
1
250
Agile Leadership Summit Keynote 2026
m_seki
1
440
オープンウェイトのLLMリランカーを契約書で評価する / searchtechjp
sansan_randd
3
650
GSIが複数キー対応したことで、俺達はいったい何が嬉しいのか?
smt7174
3
140
生成AI時代にこそ求められるSRE / SRE for Gen AI era
ymotongpoo
5
2.7k
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
400
20260204_Midosuji_Tech
takuyay0ne
0
110
プロポーザルに込める段取り八分
shoheimitani
1
170
Bill One急成長の舞台裏 開発組織が直面した失敗と教訓
sansantech
PRO
1
300
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
270
2人で作ったAIダッシュボードが、開発組織の次の一手を照らした話― Cursor × SpecKit × 可視化の実践 ― Qiita AI Summit
noalisaai
1
370
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
46
8k
Between Models and Reality
mayunak
1
180
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Color Theory Basics | Prateek | Gurzu
gurzu
0
190
RailsConf 2023
tenderlove
30
1.3k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
200
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
820
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Believing is Seeing
oripsolob
1
53
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
400
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
97
How to Ace a Technical Interview
jacobian
281
24k
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 !!!