Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Haskell Introduction
Search
Seiya
July 14, 2018
Technology
0
100
Haskell Introduction
プログラミング言語のHaskellの紹介スライドです。
JOI2017夏季セミナーで作った資料な気がします。
Seiya
July 14, 2018
Tweet
Share
More Decks by Seiya
See All by Seiya
おうちGitLabのススメ
silmin_
3
1.4k
Git入門
silmin_
30
17k
暗号について
silmin_
0
150
LinuxCommand入門
silmin_
0
360
LinuxCommand入門2
silmin_
0
250
Webについて
silmin_
3
170
ネットワークとは
silmin_
0
220
コンピュータとは|初心者向け資料
silmin_
1
170
ビットについて|入門者向け資料
silmin_
0
200
Other Decks in Technology
See All in Technology
Databricks向けJupyter Kernelでデータサイエンティストの開発環境をAI-Readyにする / Data+AI World Tour Tokyo After Party
genda
1
580
SREには開発組織全体で向き合う
koh_naga
0
380
MariaDB Connector/C のcaching_sha2_passwordプラグインの仕様について
boro1234
0
920
品質のための共通認識
kakehashi
PRO
4
380
AI時代の新規LLMプロダクト開発: Findy Insightsを3ヶ月で立ち上げた舞台裏と振り返り
dakuon
0
230
日本Rubyの会: これまでとこれから
snoozer05
PRO
4
160
寫了幾年 Code,然後呢?軟體工程師必須重新認識的 DevOps
cheng_wei_chen
1
1.5k
S3を正しく理解するための内部構造の読解
nrinetcom
PRO
3
180
WordPress は終わったのか ~今のWordPress の制作手法ってなにがあんねん?~ / Is WordPress Over? How We Build with WordPress Today
tbshiki
2
840
大企業でもできる!ボトムアップで拡大させるプラットフォームの作り方
findy_eventslides
1
850
RAG/Agent開発のアップデートまとめ
taka0709
0
190
Amazon Bedrock Knowledge Bases × メタデータ活用で実現する検証可能な RAG 設計
tomoaki25
4
760
Featured
See All Featured
Discover your Explorer Soul
emna__ayadi
2
1k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
740
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandezseo
1
1.3k
The Limits of Empathy - UXLibs8
cassininazir
1
180
Making Projects Easy
brettharned
120
6.5k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.3k
HDC tutorial
michielstock
0
260
Google's AI Overviews - The New Search
badams
0
860
Digital Ethics as a Driver of Design Innovation
axbom
PRO
0
120
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
390
How to Think Like a Performance Engineer
csswizardry
28
2.4k
We Are The Robots
honzajavorek
0
110
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 !!!