2010-01-01から1ヶ月間の記事一覧

bowling scoreler

計算部分だけ。golferではないのでそんなに短くない。 haskellなどにあるasパターンを使う方法はないのかな? せっかく、matchを使っているのにも関わらずcdrとかcddrとやっているのは不思議な感じがする。 xs@(y . z .rest)とするとsymbolの解析もしなけれ…

頭の働きが回復するまでgolfをgolfせずにしよう。

頭が上手く回るようになるまで小さな問題をたくさん解く。 その過程で新しいことに気づけたらいいな。

sxml->xml(改行を上手く入れられない)

いまごろなんだけど http://www.thinkit.co.jp/article/74/2/2.html 最近頭が上手く働かない。 (use util.match) (use text.tree) (define *url* '(html (head (title "Gauche Web")) (body (h1 "Gauche Web Page") (a (@ (url "foo.ne.jp")) "link") (table…

迷路

queueのはずがqueue-pop!、queue-push!を使っていて失敗。 いつの間にかdfsになっていた。 確かに問題があらかじめ解っていたら30分くらいで書けるのかもしれない。 「使い慣れた言語があること」を評価基準にしているのかもしれない。 おもしろいと思ったこ…

どう書く.orgの問題(親子のペアからツリーを構築)

http://ja.doukaku.org/178/ hash-tableを使うととても簡単に書ける。 親を探すコストの低い方法はないのかな? (use srfi-1) (use util.match) (define pair-lst '((a b) (b c) (c d) (c e) (a f) (d x) (y z) (z c))) (define (alist->tree alist) (let1 h…

schemeコードバトン(もどき)をelispで

emacs上だったら、もっとおもしろいことが出来そうだけれど。思いつかない。 関数名などは変えてしまっています。(elispでx->yとか見たことがないので) (defvar he:word-list-path "word-list.sexp") (defun he:call-with-input-buffer (buf &optional resum…

A*作ったよ(迷路の最短ルーと)

とても汚い感じだ。 S=<

;; http://d.hatena.ne.jp/knight_5/20100111/1263197803 ちょっとだけ解説。 (define (f n) (let1 xs '(")") (set-cdr! xs xs) (let/cc r (fold (lambda (x c) (display x) (if (= c 0) (r 0) (- c 1))) n `(: - ,@xs))))) (dotimes (i 64) (f i) (newline)…

Anarchy Golf

http://d.hatena.ne.jp/knight_5/20100103を見てやってみようと思った。 1 (print "hello world") 2 (copy-port (current-input-port) (current-output-port)) 3 (define (f x y) (let1 b (if (= x 1) "" "es") (print #`",x shinichiro,b of hamaji on the …

気づかなかった

Emacs Advent Calendar jp: 2009 : ATND http://atnd.org/events/2400 こんなのがあったのか。気づかなかった。