kb84tkhrのブログ

何を書こうか考え中です あ、あと組織とは関係ないってやつです 個人的なやつ

Reasoned Schemer (101) logo

1周目ではほとんどあきらめていたlogo とりあえずlogo以下コードを入力して動かしながらやっていこう 入力するだけでもなかなか大変 目がちかちかする ↓くらいで書けたら関係プログラミングすげー、っていうところなんだけどなあ

Reasoned Schemer (100) わり算 続き3

/o自体は問題ない (defrel (/o n m q r) (conde ((== '() q) (== r n) (

筆新調しました・象牀絃歌酒讌・蝉丸

同じ教室の人が筆を先生に見せて、この筆どうですかね、って聞いたんですよ墨が固まってるわね、お湯につけておいて洗いなおせばよくなるかもしれませんよ、ってああ自分と同じだ、と思ったらそれに続いていつから使ってるの?あら4年?それはそろそろ替え…

Reasoned Schemer (100) わり算 続き2

(split n r l h)はnからrの長さ+1だけ取ってlとし残りをhとする ただしlやhがちゃんとした数字になるようにする n: (0 0 1 0 1 1) r: (1 0 1) ↓ l: (0 0 1 ) h (1 1)

Reasoned Schemer (99) わり算 続き

さてそうやってガードを入れた/oもこういう式では値を返さない 確かにこれを途中で止めるのは難しそう > (run 3 (y z) (/o `(1 0 . ,y) '(0 1) z '())) user break しっくりこないところもあるけどだいたいストーリーは見えてきた

Reasoned Schemer (98) わり算

わり算ここだな一番わからなかったところ

Reasoned Schemer (97) 比較

えーとここからしばらくはわり算の準備、だったかな?ガードかける用に

Cardflow+なかなかよいです

これ Cardflow+ by Qrayon Qrayon, LLC 仕事効率化 ¥1,840 公式サイト:Cardflow: The Best Index Card App for the iPadユーザーズガイド:Cardflow: Index Cards on your iPad

「大唐三蔵聖教序」もう1回

今回は筆ペンで 今使ってるあかしや新毛筆はそこまで太くは書けないので三角を書いて中を塗ったりしている だいたい安定してきたかな 実寸というのはありがたいもので こうやって並べて比べてみたり なんなら重ねて透かしたりもできる ずれてはいるけどけっ…

Reasoned Schemer (96) *o 続き

本物のbound-*o (*o n m p)でn>pだったりm>pだったりしたら失敗するようにする んだけどそのかわりにnやmをリストとみてnやmがpより長かったら失敗するようにするらしい

Reasoned Schemer (95) *o

かけ算わり算の章 ここが最難関だったような *oは特に難しいところはない non-overlappingで再帰は最後ね

Reasoned Schemer (94) 符号付き 続き2

なんで止まるのか考えないと でも今回書いたコードには再帰してるとこないんだよな +oとか-oとかで止まってるのか? いくつか値を試してみたけどそういう雰囲気はない(あくまで雰囲気

Reasoned Schemer (93) 符号付き 続き

えーと どうなってんの > (check-sumo-augend -5 -5) user break > (check-sumo-augend 1 1) user break > (run* n (sumo n '(0 1) '(0 1))) user break > (run 1 n (sumo n '(0 1) '(0 1))) '(()) なるほど 2個めを探しにいこうとして見つからないってことか

雁塔聖教序 小筆で

雁塔聖教序の本を見てて拓本の写真に「原寸」と書いてあることに気づきほうこれが原寸なのか、じゃあ小筆で書いたものなんだなじゃあ自分もやってみようってことで書いてみた

Reasoned Schemer (92) 符号付き

符号付きの数を作ってそれ用の足し算を作る話 1周目に脳内で書いたコードはカッコの対応がついてないところだらけ あとdiff-sign-sumoで答えが0になるときの対応が抜けてることに気づいた

Reasoned Schemer (91) addero, +o, -o, lengtho

adderoとgen-addero genとはなんだろう

晝眠夕寐藍筍

楷書 いつもより字を小さめに書いて余白を作ってみようとしてみたこれでもかなり小さく書こうとしたんだけど難しい 1文字の中でバランスを取るのも難しいというのにこれは持って生まれた何かの問題かもしれんねしらんけど

Reasoned Schemer (90) half-adder, full-adder, poso, >1oあたりまで

7. A Bit Too Much ビット演算から加算器作ったりする話 というか数を作る話と言った方がいいのかな

Reasoned Schemer (89) リベンジ?

delayしてるところがわかんねえ、って言ってスルーしてきたとこ、今ならわからないかなあ どういう順で答えが出てくるとか、何回forceすると答えが出てくるとか

Reasoned Schemer (88) nevero 続き2

> (run 1 q (conde (succeed) ((nevero))) fail) これが止まるのはだいたいイメージできるけど練習でやってみよう

Reasoned Schemer (87) nevero 続き

後者は1回forceした後同じになるのかな このへん、勘でもREPL頼りでもなくちゃんとわかって言えないものだろうか 一度は追ってみないとダメかなあ

Reasoned Schemer (86) nevero

今回のネタはこれ (defrel (nevero) (nevero)) 単純極まりない でも1周目では腑に落ちないところがいくつかあった

Reasoned Schemer (85) alwayso

6. The Fun Never Ends … この章(も)、1周目は消化不良気味だったけど今回はどうだろう (defrel (alwayso) (conde (succeed) ((alwayso)))) とりあえず一回succeedしてさらにもう一度 ということはすんなりわかるようになった

Reasoned Schemer (83) appendo 続き2

でも! appendoの再帰を最後に持ってくると終わるんだって

Reasoned Schemer (82) appendo

appendoはoutに結果をunifyするだけだから動き的に新しいところはない、かな? (defrel (appendo l t out) (conde ((nullo l) (== t out)) ((fresh (a d res) (conso a d l) (appendo d t res) (conso a res out))))) たとえば

Reasoned Schemer (81) Chapter 3 残り

defrelもわかったことにするとだいたいわかった感じになるかなあ > (run 5 x (lolo `((a b) (c d) . ,x))) '(() (()) ((_0)) (() ()) ((_0 _1))) こういうのもまじめに追いかければなぜこの順になるかわかるはずだけどそこまで元気は出ない defrelのlambda (…

Reasoned Schemer (80) delrel再考

ところで(run 1 x (listo ``(a b c . ,x)))はdefrelにlambda ()がないと帰ってこない やっとlambda ()の存在意義を確認

今月のお題 晝眠夕寐藍筍

2020年になりましたが書道教室はいつものペース いろいろ思うところはあるけど初日だとこんなものかな楷書は画数が多くてバランスが取るのが難しい(いつもどおり)右上がりがコントロールできてない

Reasoned Schemer (80) listo

3. Seeing Old Friends in New Ways Translationの続きだけどTranslationよりも再帰が出てきたことに注目して (defrel (listo l) (conde ((nullo l)) ((fresh (d) (cdro l d) (listo d))))) > (run* x (listo `(a b ,x d))) '(_0) 1周目はTranslationすると…

Reasoned Schemer (79) Translationとか

さらっといく nulloとpairo