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
110
0
Share
Haskell Introduction
プログラミング言語のHaskellの紹介スライドです。
JOI2017夏季セミナーで作った資料な気がします。
Seiya
July 14, 2018
More Decks by Seiya
See All by Seiya
ATProtocol ざっくり概要把握してみた @ DWeb Tokyo Meetup #2
silmin_
0
49
おうちGitLabのススメ
silmin_
3
1.8k
Git入門
silmin_
33
23k
暗号について
silmin_
0
190
LinuxCommand入門
silmin_
0
400
LinuxCommand入門2
silmin_
0
290
Webについて
silmin_
3
200
ネットワークとは
silmin_
0
260
コンピュータとは|初心者向け資料
silmin_
1
200
Other Decks in Technology
See All in Technology
「強制アップデート」か「チームの自律」か?エンタープライズが辿り着いたプラットフォームのハイブリッド運用/cloudnative-kaigi-hybrid-platform-operations
mhrtech
0
220
サプライチェーン攻撃への備えについて考えている #湘なんか
stefafafan
2
1.7k
AI飲み会幹事エージェントを作っただけなのに
ykimi
0
240
DI コンテナ自動生成ツールを実装してみた / intro-autodi
uhzz
0
440
サイボウズ、プラットフォームエンジニアリング始めるってよ ― プラットフォームチームの事業貢献と組織アラインメントの強化
ueokande
0
120
AI時代に、 データアナリストがデータエンジニアに異動して
jackojacko_
0
1.1k
20260516_SecJAWS_Days
takuyay0ne
2
520
JaSSTに関わることで変わった人生観 #jasstnano
makky_tyuyan
0
150
RedmineをAIで効率的に使う検証
yoshiokacb
0
150
Swift Sequence の便利 API 再発見
treastrain
1
290
オライリーイベント登壇資料「鉄リサイクル・産廃業界におけるAI技術実応用のカタチ」
takarasawa_
0
420
AWS WAFの運用を地道に改善し、自社で運用可能にするプラクティス
andpad
1
580
Featured
See All Featured
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
110
Mind Mapping
helmedeiros
PRO
1
190
ラッコキーワード サービス紹介資料
rakko
1
3.3M
sira's awesome portfolio website redesign presentation
elsirapls
0
250
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
110
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.1k
Navigating Weather and Climate Data
rabernat
0
190
Between Models and Reality
mayunak
4
290
Everyday Curiosity
cassininazir
0
210
Into the Great Unknown - MozCon
thekraken
41
2.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 !!!