2008-01-01から1年間の記事一覧
javascriptで動的なUI等を書くと、どうしてもネックになるのが、HTMLノードの表現、その整理法だ。少なくとも私はそうだ。 pagmo書いていたときなど、コードのかなりの量をHTMLノードの記述に使っている。 しかし本質的には重要なコードではないので、なるべ…
業務で、wysiwygエディタを書くことになったんだけど、iframeのcontentWindow.documentには iframeノード生成時にはアクセスできない。HTMLドキュメントに書き込んでからアクセス可能となるようだ。 var id = get_uniq_id(); var textarea = convert_to_html…
CLでためしにWiki書いてる。 再帰的にかくとオーバーフローしそうなので反復的に書きたいが、反復的変換が難しい箇所が出てきた。 そこで、ダイナミック変数で何とかなるかなーと思ってテストしてみた。 ;再帰版 (defun rec-tes1 (x) (if (= x 100000) ;1000…
たのしかった。 でもYpsilon schemeのgcとかの話はさっぱり理解できなかった。 「すげー」っておもったよ。 いつか俺Schemeつくりたいなー。
夏からぜんぜん書いてない 作品展示とかもろもろで忙しかった。 作品はC+OpenGLでやった。 gaucheでは、テクスチャ画像の読み込みが面倒そうだったのでやってない。 グラフィックは楽しい。 最近は実践Commonlispという本をかって、なぜかCommonlispをやって…
(define (deriv exp var) (cond ((number? exp) 0) ((variable? exp) (if (same-variable? exp var) 1 0)) ((sum? exp) (make-sum (deriv (addend exp) var) (deriv (augend exp) var))) ((product? exp) (make-sum (make-product (multiplier exp) (deriv (…
(define (union-set set1 set2) (define (iter set1 set2 product) (cond ((null? set1) (append product set2)) ((null? set2) (append product set1)) (else (let ((x1 (car set1)) (x2 (car set2))) (cond ((= x1 x2) (iter (cdr set1) (cdr set2) (appen…
(define (element-of-set? x set) (cond ((null? set) #f) ((= x (car set)) #t) ((< x (car set)) #f) (else (element-of-set? x (cdr set))))) (define (intersection-set set1 set2) (if (or (null? set1) (null? set2)) '() (let ((x1 (car set1)) (x2 (…
(define (element-of-set? x set) (cond ((null? set) #f) ((equal? x (car set)) #t) (else (element-of-set? x (cdr set))))) (element-of-set? 4 '(1 2 3 2 3 1 5 4)) ;#t (element-of-set? 6 '(1 2 3 2 3 1 5 4)) ;#f (define adjoin-set cons) (adjoin-…
(define (element-of-set? x set) (cond ((null? set) #f) ((equal? x (car set)) #t) (else (element-of-set? x (cdr set))))) (define (adjoin-set x set) (if (element-of-set? x set) set (cons x set))) (define (intersection-set set1 set2) (cond ((…
;わかるまでに時間がかかりそうなのでひとまず飛ばす
;わかるまでに時間がかかりそうなのでひとまず飛ばす
(car ''abracadabra) (car (quote (quote abracadabra))) ;(quote (quoteなので、quoteは「そのものをあらわす」(つまり、評価しない)という意味があるので、quoteと表示された。
(define (equal? li1 li2) (cond ((and (null? li1) (null? li2)) #t) ((and (symbol? li1) (symbol? li2)) (eq? li1 li2)) ((and (pair? li1) (pair? li2)) (and (equal? (car li1) (car li2)) (equal? (cdr li1) (cdr li2)))) (else (eq? li1 li2)))) (equ…
(list 'a 'b 'c) ;(a b c) (list (list 'george)) ;((george)) (cdr '((x1 x2) (y1 y2))) ;((y1 y2)) (cadr '((x1 x2) (y1 y2))) ;((y1 y2)) (pair? (car '(a short list))) ;#f (memq 'red '((red shoes) (blue socks))) ;#f (memq 'red '(red shoes blue s…
(add-load-path ".") (load "2.49.scm") (define (corner-split2 painter n) (if (= n 0) painter (let ((right (right-split painter (- n 1))) ((up (rotate90 (right-split (rotate270 painter)))))) (let ((top-left (beside up up)) (bottom-right (bel…
(use gl) (use gl.glut) (define (make-vect x y) (cons x y)) (define (xcor-vect vect) (car vect)) (define (ycor-vect vect) (cdr vect)) (define (add-vect v1 v2) (make-vect (+ (xcor-vect v1) (xcor-vect v2)) (+ (ycor-vect v1) (ycor-vect v2)))) …
(define (make-segment x y) (cons x y)) (define (start-segment x) (car x)) (define (end-segment x) (cdr x))
(define (make-frame origin edge1 edge2) (list origin edge1 edge2)) (define (edge1-frame frame) (cadr frame)) (define (edge2-frame frame) (caddr frame)) (define (origin-frame frame) (car frame)) (define f1 (make-frame (cons 1 2) 1 2)) (edge…
この前のやつにスターとかつけてくれた人がいて申し訳ないんだけど、あれは、問題2.45までしか出来ない形だ。 そのあとに、ちゃんとSICPなりの作り方が書いてあった。 基本手続きの定義を作るのはちょっと早すぎた。 これ以降のほうが正しい。 (define (make…
うーむ 夏はいつもだらけるなー、どうしてだろう。 いつも上手くいかない。時間はあるはずなんだけど・・・。 そろそろ涼しくなってきたので、いい加減再起動しないと。
$ getconf GNU_LIBPTHREAD_VERSION NPTL 2.5 $ uname -a Linux garnet 2.6.22.18-co-0.7.3 #1 PREEMPT Sat May 24 22:27:30 UTC 2008 i686 GNU/Linuxのcolinux(ubuntu6.06)にインストールした。 /tmp/Kahua-1.0.7.3$ ./configure --prefix=/usr/local/kahua …
こちらも上で定義した。 (define (split f1 f2) (lambda (painter n) (if (= n 0) painter (let ((smaller ((split f1 f2) painter (- n 1)))) (f1 painter (f2 smaller smaller)))))) (define right-split (split beside below)) (define up-split (split b…
上で定義した。 (define (up-split painter n) (if (= n 0) painter (let ((smaller (up-split painter (- n 1)))) (below painter (beside smaller smaller)))))
図形を出せるようにしよう。 http://www.xmission.com/~nate/glut.html から、glut-3.7.6-bin.zip (117 KB) をダウンロードし glut32.dll を C:/windows/system以下とかsystem32以下とかに置く。 そして、 http://practical-scheme.net/gauche/packages-j.ht…
次の作品で使おうと思ったので、つくってみた。 参考 http://www.crawler.jp/archives/000584.html 先行するものに、 お散歩MAPS http://www.osanpomaps.jp/ gps.sp21.jp http://gps.sp21.jp/start/ キセキ http://japan.cnet.com/mobile/story/0,3800078151…
↑の公開するついでで物置のページを作った。 http://www.smihica.com/souko/ nagayoruとして作ったものはここにおいてく。みんなよろしくね!!
http://www.smihica.com/souko/tools.html HTML-templater HTML-templaterはホームページをテンプレート管理するツールです。 dreameweaverのテンプレート機能のようなものです。 (もしくは、railsのrender partialのような) コマンドラインから実行します。…
最近は作業が忙しかったのも有り、ばれるべきでない人にばれて、ちょっと気まずくなったのもあり、サボっていたが、とりあえずひと段落着いたので、また再開する。
#| (flatmap (lambda (new-row) (map (lambda (rest-of-queens) (adjoin-position new-row k rest-of-queens)) (queen-cols (- k 1)))) (enumerate-interval 1 board-size)) |# ;mapの中に(queen-cols (- k 1))があるので、そこでboard-size分 ;queen-colsが…