2008-01-01から1年間の記事一覧

javascript中でのHTML表現。

javascriptで動的なUI等を書くと、どうしてもネックになるのが、HTMLノードの表現、その整理法だ。少なくとも私はそうだ。 pagmo書いていたときなど、コードのかなりの量をHTMLノードの記述に使っている。 しかし本質的には重要なコードではないので、なるべ…

javascriptで継続

業務で、wysiwygエディタを書くことになったんだけど、iframeのcontentWindow.documentには iframeノード生成時にはアクセスできない。HTMLドキュメントに書き込んでからアクセス可能となるようだ。 var id = get_uniq_id(); var textarea = convert_to_html…

Commonlispのダイナミック変数

CLでためしにWiki書いてる。 再帰的にかくとオーバーフローしそうなので反復的に書きたいが、反復的変換が難しい箇所が出てきた。 そこで、ダイナミック変数で何とかなるかなーと思ってテストしてみた。 ;再帰版 (defun rec-tes1 (x) (if (= x 100000) ;1000…

Shibuya.lisp

たのしかった。 でもYpsilon schemeのgcとかの話はさっぱり理解できなかった。 「すげー」っておもったよ。 いつか俺Schemeつくりたいなー。

近況

夏からぜんぜん書いてない 作品展示とかもろもろで忙しかった。 作品はC+OpenGLでやった。 gaucheでは、テクスチャ画像の読み込みが面倒そうだったのでやってない。 グラフィックは楽しい。 最近は実践Commonlispという本をかって、なぜかCommonlispをやって…

問題2.56

(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 (…

問題2.62

(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…

問題2.61

(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 (…

問題2.60

(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-…

問題2.59

(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 ((…

問題2.58

;わかるまでに時間がかかりそうなのでひとまず飛ばす

問題2.57

;わかるまでに時間がかかりそうなのでひとまず飛ばす

問題2.55

(car ''abracadabra) (car (quote (quote abracadabra))) ;(quote (quoteなので、quoteは「そのものをあらわす」(つまり、評価しない)という意味があるので、quoteと表示された。

問題2.54

(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…

問題2.53

(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…

問題2.52

(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…

問題2.49 , 問題2.50 , 問題2.51

(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)))) …

問題2.48

(define (make-segment x y) (cons x y)) (define (start-segment x) (car x)) (define (end-segment x) (cdr x))

問題2.47

(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.46

この前のやつにスターとかつけてくれた人がいて申し訳ないんだけど、あれは、問題2.45までしか出来ない形だ。 そのあとに、ちゃんとSICPなりの作り方が書いてあった。 基本手続きの定義を作るのはちょっと早すぎた。 これ以降のほうが正しい。 (define (make…

またさぼってた

うーむ 夏はいつもだらけるなー、どうしてだろう。 いつも上手くいかない。時間はあるはずなんだけど・・・。 そろそろ涼しくなってきたので、いい加減再起動しないと。

kahuaをインストール

$ 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 …

問題2.45

こちらも上で定義した。 (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…

問題2.44

上で定義した。 (define (up-split painter n) (if (= n 0) painter (let ((smaller (up-split painter (- n 1)))) (below painter (beside smaller smaller)))))

2.2.4 - 図形言語 (前半 - 2.45まで)

図形を出せるようにしよう。 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…

AU携帯電話のGPSで、リアルタイムにgooglemaps上に位置をトラッキング

次の作品で使おうと思ったので、つくってみた。 参考 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/ (物置ページ)

↑の公開するついでで物置のページを作った。 http://www.smihica.com/souko/ nagayoruとして作ったものはここにおいてく。みんなよろしくね!!

HTML-templater

http://www.smihica.com/souko/tools.html HTML-templater HTML-templaterはホームページをテンプレート管理するツールです。 dreameweaverのテンプレート機能のようなものです。 (もしくは、railsのrender partialのような) コマンドラインから実行します。…

さぼってた

最近は作業が忙しかったのも有り、ばれるべきでない人にばれて、ちょっと気まずくなったのもあり、サボっていたが、とりあえずひと段落着いたので、また再開する。

問題 2.43

#| (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が…