kb84tkhrのブログ

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

Reasoned Schemer (53) 10章 substitusionのstreamとは

何か見えた気もするんだよな substitusionのstreamってなんなのかってのがイメージできてない (unify u v s)はuとvは同じですっていうことにしたsを返すこと、 っていうあたりまではわかった気になっている この間のギャップが埋められるだろうか

Reasoned Schemer (52) 10章 conj2

(define (conj2 g1 g2) (lambda (s) (append-map-inf g2 (g1 s)))) disj2と似てるような似てないような disj2はappend-infを呼んでるけどconj2はappend-map-infを呼ぶ disj2はg1もg2もsに適用されるけどconj2はg2だけ g1とg2が非対称なんだ

Reasoned Schemer (51) 10章 take-inf

(define (take-inf n s-inf) (cond ((and n (zero? n)) '()) ((null? s-inf) '()) ((pair? s-inf) (cons (car s-inf) (take-inf (and n (sub1 n)) (cdr s-inf)))) (else (take-inf n (s-inf)))))

Reasoned Schemer (50) 10章 alwayso

(define (alwayso) (lambda (s) (lambda () ((disj2 succeed (alwayso)) s)))) しっかり読んだらalwaysoの動きがイメージできるようになるだろうか まずalwaysoの形を確認 alwaysoは引数のない関数で substitutionを引数にとって、substitusionのstreamを返…

Reasoned Schemer (49) 10章 nevero 続き

次はこれ > (let ((s-inf ((disj2 (== 'olive x) (nevero)) empty-s))) s-inf) (((#(x) . olive)) . #<procedure:...r/minikanren.scm:52:29>) (== 'olive x)の値と(nevero)の値がappendされているようではある ところでこの式って((disj2 (== 'olive x) (nevero)) empty-s)と何が違うの letの意味</procedure:...r/minikanren.scm:52:29>…

侍巾帷房紈扇 練習

あれこれやらず今日は楷書だけ 左払いがコントロールできなくてボテッとしたりひょろっとしたりする筆の向きが影響してるような気がするけどどうするのがいいのかはよくわからないいろいろ考えすぎておかしなことになっている気もする 特に房がうまくバラン…

Macbook AirをUbuntuからmacOSに戻す

mac

・・・Ubuntu入れてみようか(ごくり Ubuntu (18.04) をMacbook Airに入れてみる - kb84tkhrのブログ というわけで先日いろいろ苦労しながらMacbook AirにUbuntuを入れましたが最近Windows PCの利用割合が増えてきたのと ムスメが学校でパソコン使って調べも…

Reasoned Schemer (49) 10章 nevero

(define (nevero) (lambda (s) (lambda () ((nevero) s)))) これはminikanren言語じゃないよね 動かしても関数が返ってくるだけなのでわかりづらい

Reasoned Schemer (48) 10章 disj2

(define (disj2 g1 g2) (lambda (s) (append-inf (g1 s) (g2 s)))) goalはsubstitutionを取ってsubstitusionのstreamを返すもの というのはあってる(当然 でこれってどういう意味なの っていうかその前にsubstitusionのstreamってなんなのかってのがわかっ…

Reasoned Schemer (47) 10章 append-inf

condeのモトになっているdisj2とそのヘルパー関数append-inf append-infから見よう

Reasoned Schemer (46) 10章 stream、==

streamとは空リストかcdrがstreamであるペアかまたはsuspension suspensionとは(lambda () body)という形をしていて評価するとstreamを返すもの 遅延ストリームって言われるやつだな そんなのが突然の出現 そして意外にさらっと説明・例示が終わる

Reasoned Schemer (45) 10章 unify

unify Prologといえばユニフィケーションって出てくるくらいだからきっと何か大事なもの

今月のお題 侍巾帷房紈扇 小野小町

侍巾帷房紈扇 楷書はうっかり筆を拭いてしまって消滅今回はなんとなく形がとりやすい印象

Reasoned Schemer (45) 10章 ext-s

(ext-s x v s)はsubstitution sにassociation `(,x . ,v) を 追加したものを返す ただし循環参照ができるようなassociationは追加できず#fを返す

戦国人物伝 今川義元

ムスメ用に借りてきた本 戦国人物伝 今川義元 (コミック版日本の歴史) 作者: すぎたとおる,玉置一平,加来耕三 出版社/メーカー: ポプラ社 発売日: 2017/04/28 メディア: 単行本 この商品を含むブログを見る

Reasoned Schemer (44) 10章 walkまで

10章は処理系を書く話っぽいので ここからひさしぶりに写経モードで そういえば、ここで書く処理系はminiKanrenと呼ばれるものらしい ファイル名つけようと思った時にふと名前が気になった 変数を定義

Reasoned Schemer (43) 9章 enumerate+o

(defrel (enumerate+o r n) (fresh (i j k) (bumpo n i) (bumpo n j) (+o i j k) (gen&test+o i j k) (== `(,i ,j ,k) r))) bumpo、gen&test+oはenumerate+oのヘルパー関数だったみたい (run* s (enumerate+o s '(1 1)))とやると0から3までの数をふたつと そ…

Reasoned Schemer (42) 9章 once, bumpo, gen&test+o

(defrel (onceo g) (condu (g #s) (#s #u))) これはただgを実行だけだけど成功するのは1回だけね、ってことだな (#s #u)は書かないといけないんだろうか

Reasoned Schemer (41) 9章 condu

(run* q (conda ((alwayso) #s) (#s #u)))はno value condaはquestionが成功なら次の行以降は実行しないんだけど これだと(alwayso)が成功し続けてその行の実行が終わらないので そこでconduの登場 こっちはcondaよりもさらに早く打ち切る questionが1回成功…

異糧妾御績紡・喜撰法師

異糧妾御績紡 あんまり完成度は上がらなかったあっちもこっちもバランスがおかしい何をどうしていいかよくわからなくなってる感がある

Reasoned Schemer (41) 9章 conda

9. Thin Ice もう章題を解釈するのはあきらめている この終盤で新しい構文登場

Reasoned Schemer (40) 8章 未体験ゾーン3

戻って本体 (logo n b q r) これはcondeなので1行ずつ見ていく 再帰はしてないな

Reasoned Schemer (39) 8章 未体験ゾーン2

(base-three-or-moreo n b q r) 名前からしてb(baseだろう)が3以上の時のn = b^q + rの関係に違いない baseが2のときはexp2o base-three-or-moreoにはcondeは出てこないので 全部いっぺんに見ないといけない いっぱい式があるけどどれが大事な式なのか

Reasoned Schemer (38) 8章 未体験ゾーン1

ここからが未体験ゾーン (logo n b q r)でn = b^q + rの関係 見るからに複雑そう 単にq(やr)を求めるだけでなくnやbを求めるのにも使えたり 無限に値を探し続けたりしないようにしたりするだけでここまで書かなきゃ いけないものなのか

はまぎん こども宇宙科学館

歴史的なイベントには何の関係もなくお出かけしてきましたムスメにどっか行こうとせがまれて探したのがここウチからは少し離れてますが

Reasoned Schemer (37) 読み直し 8章 続き

÷o (

ABC143

あるということに気づいてなくてお酒いただいてしましましたが まあCまで解ければレートも下がらないだろうということで参加してみたら意外にすんなりDまで解けて茶コーダーにパフォーマンスも初の1200超え

今年の作品

今日は書道教室の展覧会でした 進歩しているのかはよくわからない確実なのは文字数が増えていることくらい 文字数が増えてくると、満足できるかというより失敗が少ないことを基準にしたくなってきますこっちの方がマシかな、みたいな最後は先生に選んでもら…

Reasoned Schemer (37) 読み直し 8章

この章の途中で中断が入ったわけだが かなり手ごわかった記憶 こんどは理解度が上がってるだろうか

Reasoned Schemer (36) 読み直し 7章

Under the Hoodはちょっとだけ見た ちょっとだけではなんのことやら 7. A Bit Too Much ビット操作から始めて足し算引き算を作るまで