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
25
おうちGitLabのススメ
silmin_
3
1.6k
Git入門
silmin_
32
21k
暗号について
silmin_
0
170
LinuxCommand入門
silmin_
0
380
LinuxCommand入門2
silmin_
0
270
Webについて
silmin_
3
190
ネットワークとは
silmin_
0
250
コンピュータとは|初心者向け資料
silmin_
1
190
Other Decks in Technology
See All in Technology
Microsoft Fabric のワークスペースと容量の設計原則
ryomaru0825
2
190
「使いにくい」も「運用疲れ」も卒業する UIデザイナーとエンジニアが創る持続可能な内製開発
nrinetcom
PRO
1
430
2026年のAIエージェント構築はどうなる?
minorun365
11
2.5k
Master Dataグループ紹介資料
sansan33
PRO
1
4.4k
作るべきものと向き合う - ecspresso 8年間の開発史から学ぶ技術選定 / 技術選定con findy 2026
fujiwara3
6
1.4k
Eight Engineering Unit 紹介資料
sansan33
PRO
1
6.8k
Claude Cowork Plugins を読む - Skills駆動型業務エージェント設計の実像と構造
knishioka
1
170
primeNumber DATA MANAGEMENT CAMP #2:
masatoshi0205
1
610
Exadata Fleet Update
oracle4engineer
PRO
0
1.3k
大規模な組織におけるAI Agent活用の促進と課題
lycorptech_jp
PRO
4
6.2k
AIエンジニア Devin と歩む、自律型運用プロセスの構築
a2ito
0
190
[続・営業向け 誰でも話せるOCI セールストーク] AWSよりOCIの優位性が分からない編(2026年2月20日開催)
oracle4engineer
PRO
0
130
Featured
See All Featured
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
460
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
Git: the NoSQL Database
bkeepers
PRO
432
66k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
42k
Scaling GitHub
holman
464
140k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
400
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
From π to Pie charts
rasagy
0
140
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
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 !!!