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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Yuto Tokunaga
July 11, 2015
Programming
870
0
Share
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
980
KC3 2013 懇談会LT 「QML + C++で楽しい!」
yuntan
1
200
Other Decks in Programming
See All in Programming
ルールルルルルRubyの中身の予備知識 ── RubyKaigiの前に予習しなイカ?
ydah
1
160
CursorとClaudeCodeとCodexとOpenCodeを実際に比較してみた
terisuke
1
440
Going Multiplatform with Your Android App (Android Makers 2026)
zsmb
2
400
iOS機能開発のAI環境と起きた変化
ryunakayama
0
180
レガシーPHP転生 〜父がドメインエキスパートだったのでDDD+Claude Codeでチート開発します〜
panda_program
0
840
Reactive ❤️ Loom: A Forbidden Love Story
franz1981
2
230
ドメインイベントでビジネスロジックを解きほぐす #phpcon_odawara
kajitack
3
700
Laravel Nightwatchの裏側 - Laravel公式Observabilityツールを支える設計と実装
avosalmon
1
330
Xdebug と IDE による デバッグ実行の仕組みを見る / Exploring-How-Debugging-Works-with-Xdebug-and-an-IDE
shin1x1
0
370
PHPで TLSのプロトコルを実装してみるをもう一度しゃべりたい
higaki_program
0
200
ふりがな Deep Dive try! Swift Tokyo 2026
watura
0
200
Radical Imagining - LIFT 2025-2027 Policy Agenda
lift1998
0
280
Featured
See All Featured
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.8k
AI: The stuff that nobody shows you
jnunemaker
PRO
6
550
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
430
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
Un-Boring Meetings
codingconduct
0
260
Speed Design
sergeychernyshev
33
1.6k
Designing Powerful Visuals for Engaging Learning
tmiket
1
340
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.2k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
330
Are puppies a ranking factor?
jonoalderson
1
3.3k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
130
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