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
New "Type" system on PicoRuby
pocke
1
920
Oxcを導入して開発体験が向上した話
yug1224
4
310
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
130
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
2k
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
110
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
230
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
240
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
550
CSC307 Lecture 17
javiergs
PRO
0
320
Oxlintのカスタムルールの現況
syumai
6
1.1k
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
220
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
130
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
21k
We Are The Robots
honzajavorek
0
250
The Curse of the Amulet
leimatthew05
1
13k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
230
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
230
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
480
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Paper Plane (Part 1)
katiecoart
PRO
0
8.9k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.6k
Side Projects
sachag
455
43k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
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