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
mina
July 14, 2018
Technology
0
87
Haskell Introduction
プログラミング言語のHaskellの紹介スライドです。
JOI2017夏季セミナーで作った資料な気がします。
mina
July 14, 2018
Tweet
Share
More Decks by mina
See All by mina
おうちGitLabのススメ
silmin_
3
1k
Git入門
silmin_
23
14k
暗号について
silmin_
0
120
LinuxCommand入門
silmin_
0
300
LinuxCommand入門2
silmin_
0
210
Webについて
silmin_
3
140
ネットワークとは
silmin_
0
180
コンピュータとは|初心者向け資料
silmin_
1
120
ビットについて|入門者向け資料
silmin_
0
160
Other Decks in Technology
See All in Technology
新卒1年目のフロントエンド開発での取り組み/New grad front-end efforts
kaonavi
0
130
データベースで見る『家族アルバム みてね』の変遷 / The Evolution of Family Album Through the Lens of Databases
kohbis
4
990
AWS CDK コントリビュート はじめの一歩
yendoooo
1
130
Startups On Rails 2025 @ Tropical on Rails
irinanazarova
0
160
初めてのPostgreSQLメジャーバージョンアップ
kkato1
0
520
ルートユーザーの活用と管理を徹底的に深掘る
yuobayashi
8
740
問題解決に役立つ数理工学
recruitengineers
PRO
8
2.4k
Amazon Q Developer 他⽣成AIと⽐較してみた
takano0131
1
140
お問い合わせ対応の改善取り組みとその進め方
masartz
1
560
近年の PyCon 情勢から見た PyCon APAC のまとめ
terapyon
0
260
Re:VIEWで書いた「Compose で Android の edge-to-edge に対応する」をRoo Codeで発表資料にしてもらった
tomoya0x00
0
230
Vision Language Modelを活用した メルカリの類似画像レコメンドの性能改善
yadayuki
9
1.3k
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.5k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Site-Speed That Sticks
csswizardry
4
460
Navigating Team Friction
lara
184
15k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
17
1.1k
We Have a Design System, Now What?
morganepeng
51
7.5k
Docker and Python
trallard
44
3.3k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.4k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.5k
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 !!!