Golangの勉強をしようと思い、「初めてのGo言語」を読みました。 2023/05/01から読み始め、2023/06/12に読み終わりました。 やってない日もあるので、実際には34日間かかりました。 この本を選んだ理由 以下のレビューがとても刺さったので(特に実用〜とジェ…
計算機プログラムの構造と解釈(以下SICP)を読み切りました。 2022年9月22日から2023年4月30日まで、157日間かかりました。 10年前は途中で挫折したけど、今ならやりきれると思って重い腰を上げた。無理せず1日1Pを目処にして、2~3年掛かっていいから継続して…
あけましておめでとうございます。 今年も宜しくお願いしますmm 2022年の振り返り 1年がビックリするくらい早く終る、その事に慣れてきました。 筋トレ始める 手首の手術(4/21) サーフボード2本目Quong 7'6"購入(5/11) ベース再開 ギター再開 SICP再開(9/22)…
結構最後の方は問題飛ばしてしまった。 若干飽きてきてしまい... 2周目で深堀りしたいな。 gaucheでSICPのdelay gaucheで遅延評価しようとすると、実装の違いからSICPの意図とはズレていしまいます。 よってpackages/配下に以下のファイルを置いて対応しまし…
github.com ; ex-3.38 ; Peter: (set! balance (+ balance 10)) ; Paul: (set! balance (- balance 20)) ; Mary: (set! balance (- balance (/ balance 2))) ; ; a. ; Peter->Paul->Mary, 110->90->45 ; Peter->Mary->Paul, 110->55->35 ; Paul->Peter->Mary…
github.com 3.34~3.37はスキップします。 これはやらなくても別に困らないというか、もういいかなって。 (define (for-each-except exception procedure list) (define (loop items) (cond ((null? items) 'done) ((eq? (car items) exception) (loop (cdr i…
う〜ん、今回もまた「最後に完成するまで動かせない」系の奴でちょっとテンション下がってしまった。 入力したいデータ、出力で欲しいデータはわかっている 大枠を作っていく 細かいところは後で作っていく これは良いんだけど、細かい部分が未実装だから動…
github.com 3.3.2の最後のデキューの実装でちょっと燃え尽きた感があったのと、次の「デジタル回路のシミュレーター」が楽しみ過ぎて3.3.2はざっくりとだけ... (define (assoc key records) (cond ((null? records) false) ((equal? key (caar records)) (ca…
github.com ; 3.3.2 キューの表現 ; 3.3.scmはconsを自前実装しているのでファイルを分ける(dispatchを返して意図したように動かないので) (define (make-queue) (cons '() '())) (define (front-ptr queue) (car queue)) (define (rear-ptr queue) (cdr que…
github.com ; ex-3.12 (define (append x y) (if (null? x) y (cons (car x) (append (cdr x) y)))) (define (append! x y) (set-cdr! (last-pair x) y)) (define (last-pair x) (if (null? (cdr x)) x (last-pair (cdr x)))) ; ; (define x (list 'a 'b)) ;…
見にくい...↓こちらで見れる github.com ; ex-3.9 ; ; 再帰版 ; _____________________________________ ; 大域領域 -> | | ; ------------------------------------- ; ↑ ↑ ↑ ; E1→|n:3| E2→|n:2| E3→|n:1| ; (if (= n 1) ; 1 ; (* n (factorial (- n 1))))…
; 3.1.1 局所状態変数 ; withdraw以外のどこからでもbalanceにアクセス出来る. ; withdrawからだけアクセス出来るようにしたい. (define balance 100) (define (withdraw amount) (if (>= balance amount) ; beginは順次評価していって最後の式を返す ; set!…
問題2.85で意図しない動作に。 修正しようにも1fileで雑に書き進めたので修正厳しいので2.85以降は飛ばすことに。 もうapply-genericええやろ...(疲労) 2週目、又は一旦全部終わったら2.4と2.5をやり直そうと思います。 1周目から完璧を求めると挫折するので…
get,putが出てきてから動かせなくてしんどくなり、apply-genericで混乱したので色々検索。 github.com ここで3.3.3のget,putの実装を載せてくれていたので動かしながら理解することが出来て助かりました。 ; 2.4.1 複素数の表現 (define (add-complex z1 z2)…
GET A JOB SHA NA NA NA NA NA NA NA NA GET A JOB SHA NA NA NA NA NA NA NA NA WAH YJP YJP YJP YJP YJP YJP YJP YJP YJP SHA BOOM '(1 1 1 1 1 1 1 0 0 1 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 0 1 …
やってます #| ; 要素xが集合setの構成要素か? (define (element-of-set? x set) (cond ((null? set) #f) ((equal? x (car set)) #t) (else (element-of-set? x (cdr set))))) ; setにxを追加する (define (adjoin-set x set) (if (element-of-set? x set) s…
実際に描画出来ないのでパスした問題が何問か。 gauche-glとかを使えばいけそうな気がしたけど、使い方とか調べてまでこれを描画したいか?と言われるとそうでもなかったのでパスする方向で(テヘペロ SICP2周目とかでやるといいかもしれない。 ; wave ; 線画…
ex-2.42 エイトクイーンパズルが終わりました(2.43もエイトクイーンパズルだけど). 全く何も見ないで解くのは無理だなーと思ったので、答えを見て動かしながら手続きどの様に動作するのか?を理解するに留めました。 まぁこういうのは「知っているか、知らな…
何回目だろう?SICPやってます。 今回はなんと続いています(笑) ↓今日はここまで進みました。 19日目(p65->p68/p366(18.56%))`2.2.3 公認インターフェイスとしての並び`を読んでいます。問題2.33をやりました。次回は問題2.34からです。無理せず1日1P,1問を…
コンピュータプログラミングの概念・技法・モデル(CTMCP / ガウディ本)がまだ途中までしかやっていなかったなぁと思い、1ページからやろうとMacにMozartを入れたら Aquamacs Not Found が出た。 あぁ、そういえば最初にこれ買った当時もこれあったわー。。…
昨日に引き続きCLネタです。 引っ越しの準備で大江戸Ruby会議に行けなくて寂しいので、家で一人でLISPの妖精さんとお話してや?はLISPの妖精で、REPLを使うことはLISPの妖精との対話である(ダグラス・ホフスタッター頭良すぎてぶっ飛んでる) メタマジック・ゲ…
MakeやRakeみたいなことが出来るLispライブラリShellyを試してみました。 おもしろいので貴方も試してみましょう(今回は一回もエディタを開いていないので、Emacsじゃないと、、、みたいなことは一切ないよ!!!)。 Shellyのサイトはこちら. 昔シェリーとい…
Turbolinks and Angularjs 最近はangularjsとRails4の組み合わせであそ、、、仕事しています。 まだまだangularjs触り始めて数日ですが、Turbolinksを有効にしているとng-showなどが画面遷移した際に上手く動かなかったのにハマったので、解決方法を自分用に…
werckerで自分のBOXを作ってみました。 割りと簡単だったのでみんなももっと作るといいと思った(自分達のプロジェクトに最適なBOXって中々ないよね)。 作ったリポジトリはこちらです。 https://github.com/iori/box_iori_wercker やったこと Ruby2.1.1のイ…
http://kouyatakao.hatenablog.com/entry/2014/02/28/152153 を書いてて、あれ?Rubyって無名再帰どうすんの?と思って調べたらできたのでメモ class Proc def self_curry self.curry.call(self) end end def fib_closure cache = [] lambda{|f,n| cache[n] …
仕事つかれたー、なんかリフレッシュしたーい。 なんて時によくフィボナッチを書いて、それをメモ化してにやにやします。 で、今も仕事の合間にそんなことをしていたのですが、需要少しはあるかなーと記事にしてみた。 普通にフィボナッチ irb(main):001:0> …
追記: 2014/03/23 Werckerにバグ報告したら直してくれた :) 最近はクラウドCIサービスでテスト回したりするのがどんどん普及していますね。 TravisCIやCircleCIやCodeShipなどなど。。。 その中でプライベート・リポジトリでも現在は無料で使えるWerckerがど…
PAIP2章読了しました。 二日酔いで死んでいたので2日ほど空いてしまった。 生活リズム崩れまくって、今日は徹夜して一気に戻す作戦なので眠い目を擦りながら朝5時くらいからPAIPってた。 2章はDSL書きましょうって内容でした。 うーん面白い。 https://githu…
仕事もようやく落ち着き、勉強の時間がとれるようになったので第6章までしかやってなかった(と思う)実用CommonLispを最初から勉強し直し初めた。 LISPをまともに触るのは久々で、組み込み関数を結構忘れている(汗 でも、暇な時とか煮詰まった時にCLでフィ…
実用CommonLispの以下のコードを書いていて、そういえばnullとnilの違いってなんぞや?って思い調べてみた。 (defun mappend (fn the-list) "Apply fn to each element of list and append the results." (if (null the-list nil (append (funcall fn (first…