Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Haskellでbrainfckインタプリタを書きたかった話
Search
Yuto Tokunaga
July 11, 2015
Programming
880
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Haskellでbrainfckインタプリタを書きたかった話
ソースコード:
https://gist.github.com/yuntan/36844081aa37c426b895
Yuto Tokunaga
July 11, 2015
More Decks by Yuto Tokunaga
See All by Yuto Tokunaga
SyaroNote
yuntan
0
2k
QMLでFlappyBirdを作ろう
yuntan
0
1.6k
KC3 2014 懇親会LT 「Let It ʕ ◔π◔ʔGo」
yuntan
0
150
QMLとモバイル
yuntan
0
1.1k
KC3 2013 懇談会LT 「QML + C++で楽しい!」
yuntan
1
210
Other Decks in Programming
See All in Programming
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
120
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
150
Are APIs Still Relevant in the AI Era?
soyuka
0
250
Heart of Swift Concurrency
koher
0
890
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
1.6k
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
170
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
120
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
5
3.2k
WebMCP Challenge に星空観察アプリで参加した話
okajun35
0
180
一人だけ、Kiroが静止する日
hideg
0
110
What We Talk About When We Talk About XP
m_seki
2
640
すこし踏み込む CancellationToken
htkym
1
360
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
370
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
440
Become a Pro
speakerdeck
PRO
31
6.3k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
A designer walks into a library…
pauljervisheath
211
25k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
540
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Transcript
Haskellでbrainf*ckイ ンタプリタ 1 / 10
を書きたかった 話 2 / 10
brainf*ckとは 開発者Urban Müllerがコンパイラがなるべく小さくなる言 語として考案した 3 / 10
言語仕様 > : ポインタをインクリメントする < : ポインタをデクリメントする + : ポインタが指す値をインクリメントする
- : ポインタが指す値をデクリメントする . : ポインタを指す値を出力する , : 入力を読み込んでメモリに格納する [ : ポインタが指す値が0なら、対応する] の直後にジャンプする ] : ポインタが指す値が0以外なら、対応する[ の直前にジャンプす る 4 / 10
C言語っぽく言う と > : ptr++ < : ptr-- + :
(*ptr)++ - : (*ptr)-- . : putchar(*ptr) , : *ptr = getchar() [ : while(*ptr){ ] : } 5 / 10
必要なもの テープ(Brainf*ckの命令列) メモリ ポインタ(メモリのインデックス) 処理を詰むスタック 6 / 10
実装&Haskellの解 説(てきとう) 7 / 10
この実装は遅い! (はず) 8 / 10
STRef Haskellで最大入可能な配列を実現する STモナドは状態系モナドの一つです. 9 / 10
まとめ もうだめ 10 / 10