pietでlisp処理系を書くのは難しい 進捗報告
TRANSCRIPT
![Page 1: Pietでlisp処理系を書くのは難しい 進捗報告](https://reader034.vdocuments.net/reader034/viewer/2022042519/55d25802bb61ebe97f8b46b9/html5/thumbnails/1.jpg)
PietでLISP処理系を書くのは難しい進捗報告
京大マイコンクラブ長嶺英朗2015.8.8
![Page 2: Pietでlisp処理系を書くのは難しい 進捗報告](https://reader034.vdocuments.net/reader034/viewer/2022042519/55d25802bb61ebe97f8b46b9/html5/thumbnails/2.jpg)
自己紹介
長嶺英朗(NAGAMINE Hideaki)KMC-ID: hnagamin
Piet歴 2〜3ヶ月
Scheme歴 2年よく使うアイコン
![Page 3: Pietでlisp処理系を書くのは難しい 進捗報告](https://reader034.vdocuments.net/reader034/viewer/2022042519/55d25802bb61ebe97f8b46b9/html5/thumbnails/3.jpg)
自己紹介終わり
![Page 4: Pietでlisp処理系を書くのは難しい 進捗報告](https://reader034.vdocuments.net/reader034/viewer/2022042519/55d25802bb61ebe97f8b46b9/html5/thumbnails/4.jpg)
本題
![Page 5: Pietでlisp処理系を書くのは難しい 進捗報告](https://reader034.vdocuments.net/reader034/viewer/2022042519/55d25802bb61ebe97f8b46b9/html5/thumbnails/5.jpg)
YAPC::Asia Tokyo 2015
![Page 6: Pietでlisp処理系を書くのは難しい 進捗報告](https://reader034.vdocuments.net/reader034/viewer/2022042519/55d25802bb61ebe97f8b46b9/html5/thumbnails/6.jpg)
![Page 7: Pietでlisp処理系を書くのは難しい 進捗報告](https://reader034.vdocuments.net/reader034/viewer/2022042519/55d25802bb61ebe97f8b46b9/html5/thumbnails/7.jpg)
![Page 8: Pietでlisp処理系を書くのは難しい 進捗報告](https://reader034.vdocuments.net/reader034/viewer/2022042519/55d25802bb61ebe97f8b46b9/html5/thumbnails/8.jpg)
![Page 9: Pietでlisp処理系を書くのは難しい 進捗報告](https://reader034.vdocuments.net/reader034/viewer/2022042519/55d25802bb61ebe97f8b46b9/html5/thumbnails/9.jpg)
YAPCで喋ります
![Page 10: Pietでlisp処理系を書くのは難しい 進捗報告](https://reader034.vdocuments.net/reader034/viewer/2022042519/55d25802bb61ebe97f8b46b9/html5/thumbnails/10.jpg)
進捗報告をします
![Page 11: Pietでlisp処理系を書くのは難しい 進捗報告](https://reader034.vdocuments.net/reader034/viewer/2022042519/55d25802bb61ebe97f8b46b9/html5/thumbnails/11.jpg)
目次
1. 宣伝2. Pietとは3. 進捗報告兼作品紹介4. 今後の課題
![Page 12: Pietでlisp処理系を書くのは難しい 進捗報告](https://reader034.vdocuments.net/reader034/viewer/2022042519/55d25802bb61ebe97f8b46b9/html5/thumbnails/12.jpg)
Pietのここがすごい
![Page 13: Pietでlisp処理系を書くのは難しい 進捗報告](https://reader034.vdocuments.net/reader034/viewer/2022042519/55d25802bb61ebe97f8b46b9/html5/thumbnails/13.jpg)
ソースコードがドット絵
最大公約数を計算するプログラム 与えられた数をソートするプログラム
![Page 14: Pietでlisp処理系を書くのは難しい 進捗報告](https://reader034.vdocuments.net/reader034/viewer/2022042519/55d25802bb61ebe97f8b46b9/html5/thumbnails/14.jpg)
命令がたくさんあって書きやすい
ADD2数の和を返す
DEVIDE2数の商を返す
GREATER先頭の要素が2番めより大きければ1を返す
DUPLICATE要素をコピーする
IN(C)1文字入力してUnicode値をスタックに追加
PUSHスタックに要素を追加
SUBSTRACT2数の差を返す
MOD2数の剰余を返す
POINTERプログラムの進む向きを変える
ROLLスタックの要素の順番を変える
OUT(N)スタックの要素を数として出力
POPスタックから要素を削除
MULTIPLY2数の積を返す
NOT0なら1、0以外なら0を返す
SWITCHプログラムの読む向きを変える
IN(N)数を入力してスタックに追加
OUT(C)スタックの要素をUnicode値とみて1文字出力
![Page 15: Pietでlisp処理系を書くのは難しい 進捗報告](https://reader034.vdocuments.net/reader034/viewer/2022042519/55d25802bb61ebe97f8b46b9/html5/thumbnails/15.jpg)
詳しくはdamaさんの「Pietのエディタを作った話」を
参照してください
http://www.slideshare.net/KMC_JP/piet-46068527
![Page 16: Pietでlisp処理系を書くのは難しい 進捗報告](https://reader034.vdocuments.net/reader034/viewer/2022042519/55d25802bb61ebe97f8b46b9/html5/thumbnails/16.jpg)
進捗報告兼作品紹介
![Page 17: Pietでlisp処理系を書くのは難しい 進捗報告](https://reader034.vdocuments.net/reader034/viewer/2022042519/55d25802bb61ebe97f8b46b9/html5/thumbnails/17.jpg)
LISPっぽい記法の電卓を作りました
加減乗除ができます
“(+ (* 314 (+ 500 500)) (- (/ 960 3 2) 1))”に対して
”314159”と出力します
![Page 18: Pietでlisp処理系を書くのは難しい 進捗報告](https://reader034.vdocuments.net/reader034/viewer/2022042519/55d25802bb61ebe97f8b46b9/html5/thumbnails/18.jpg)
![Page 19: Pietでlisp処理系を書くのは難しい 進捗報告](https://reader034.vdocuments.net/reader034/viewer/2022042519/55d25802bb61ebe97f8b46b9/html5/thumbnails/19.jpg)
55x60
![Page 20: Pietでlisp処理系を書くのは難しい 進捗報告](https://reader034.vdocuments.net/reader034/viewer/2022042519/55d25802bb61ebe97f8b46b9/html5/thumbnails/20.jpg)
加算乗算
減算
除算
数値入力
![Page 21: Pietでlisp処理系を書くのは難しい 進捗報告](https://reader034.vdocuments.net/reader034/viewer/2022042519/55d25802bb61ebe97f8b46b9/html5/thumbnails/21.jpg)
デモ(時間があったら)
![Page 22: Pietでlisp処理系を書くのは難しい 進捗報告](https://reader034.vdocuments.net/reader034/viewer/2022042519/55d25802bb61ebe97f8b46b9/html5/thumbnails/22.jpg)
今後の課題
![Page 23: Pietでlisp処理系を書くのは難しい 進捗報告](https://reader034.vdocuments.net/reader034/viewer/2022042519/55d25802bb61ebe97f8b46b9/html5/thumbnails/23.jpg)
課題がいっぱい
● リスト● 変数● 手続きオブジェクト
![Page 24: Pietでlisp処理系を書くのは難しい 進捗報告](https://reader034.vdocuments.net/reader034/viewer/2022042519/55d25802bb61ebe97f8b46b9/html5/thumbnails/24.jpg)
まとめ
● 整数オブジェクトを扱える● 課題がいっぱい