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でbrainfckインタプリタを書きたかった話
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
140
QMLとモバイル
yuntan
0
1k
KC3 2013 懇談会LT 「QML + C++で楽しい!」
yuntan
1
210
Other Decks in Programming
See All in Programming
生成AIで帳票OCRが「簡単に」作れる時代になった?
kon_shou
0
280
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
3.4k
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
3.4k
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
150
数百円から始めるRuby電子工作
tarosay
0
120
テーブルをDELETEした
yuzneri
0
130
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
170
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
200
作るコストが小さくなった時代 幸せに働くために改めて考えたいこと 〜エンジニアとして価値を出し続けるために注視している二分野〜
yuppeeng
0
180
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.8k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
500
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
770
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
First, design no harm
axbom
PRO
2
1.2k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
400
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
430
Building the Perfect Custom Keyboard
takai
2
830
Paper Plane (Part 1)
katiecoart
PRO
1
10k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
470
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