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

realloc

realloc() は新たに割り当てられたメモリへのポインタを返す。これはあら ゆ る種類の変数に適するようにアラインメントされており、 ptr とは異なるかも しれない。割り当て要求に失敗した場合は NULL が返る。 size が 0 だった場 合 に は、NULL あるいは…

フランス語

中間テストが、中間テストが...爆死。やばいな、留年がまじで見えてきたあぁ(-_-; まぁ、フランス語と図学と実験しか出てないし、フランス語は常に他の本読んでるので仕方ないっちゃ仕方ないんだが...。激しくモチベーションが湧かないんだよな...。

tagged pointer And gc

tagged pointerにするとポインタは型情報を持っているけれどもポインタの参照先は型情報を持っていない為、ヒープを操作してフリーする時に問題が生じる。Symbolの様に名前(char *ポインタ)を持っている場合を判定できない。これを避ける為には型ごとに heap…

Qt4

Released。KDEでもimmodule時代の幕開けか。Daisukeさんオメデトウございます。他、色々関わった方々、お疲れさまでした。さて、僕はuimの方のimmoduleを作る事にします。まぁもうほとんど出来てるんだけどねー。

処理系のパラダイム

SiodってSTkのgc回りのコードまんまパクっとる。僕もsiod, gauche, emacs等から結構色々パクって来てる。それぞれの処理系の求めるモノが違うから結果として違うものが出来上がってるけど、それはあくまで少ない実装方法の中から「選択」をしてそうなった結…

KCacheGrind

callgrindで作成したデータを GraphViz を使用して可視化。今更ですが便利ですよ。Valgrind / Callgrind / gdb はマニアになりたいっす。一回調べまくる機会を持つかな。

GC

とりあえず普通の Mark&Sweep を実装し、文法が通るかどうか等の動作をテストする。そこから Incremental GCを実装し、テストを行う。GCの基本的なアルゴリズムとIncremental & Concurrent GCの考え方は、このページの勉強会資料が分かり易い。これは先日紹…

携帯上の入力方式

コード道場の課題で初めて知ったmlh。僕は携帯で入力するのが大嫌い。とくに英語を打つときなんかはモードをいちいち変えるのが面倒なんだけどmlhの用な方式だとそれが無いんで、キーが少ないデバイス用の入力方式としては良いかも。

日本語入力な方々

- oxy君 - tkngさん - Yamakenさん - yusukeさん - iwaiさん - omoteさん他、日記を見てくださっている方で blog を持っている方は是非応募 & 宣伝 & 宣伝命令よろしくお願いします。個人的には列挙されている中だとGNU readlineとかやりたいなぁ。俺は応募…

もっと日本を盛り上げたい!というグッデイより

- ikezoeさん - ashieさん - ikuyaさん

いつも若手が入らないとお歎きのJKUGより

- Daickiさん - evakichiさん - ikemoさん - asakiさん

夏休みコード道場 2005

FSIJがGoogle Summer of Codeの日本版夏休みコード道場をやるようだ。うん、人材発掘にはもってこいのネタかも。という訳でこのイベントが盛り上がらないのはあまりにも悲しいので以下に列挙する人達、自分の blog で紹介して下さい!Music Baton方式でどん…

portable dumper

ふむ。XEmacs Internals Manualの39. Dumpingか。yusukeさんによるとオリジナルのsiodにもファイルに書き出す機能が有るらしい。

懐かしの

懐かしの...そりゃぁふがほげとなりますわな。

グッデイ

色々な意味で熱いなぁ。頑張って下さい。

Parenthesis Invasion

(gdb) (quit) Undefined command: "". Try "help".

SigScheme開発録 (5) Happy Hacking @ Good-Day.inc

set!、defineを実装。 (define add (lambda (x y) (+ x y))) (define a 4) (set! a 3) (add a a)6です。and., orを実装。cond は else の扱いを少し悩む必要が有りそうだ。考えがまとまってから実装するべ。let, let*を実装。まぁ let == let* な実装な訳だ…

本日

一路大阪へ。まじで多忙じゃ。家族は元気そうで良かった。

SigScheme開発録 (4)

ちまちまと作業。if と lambda が動いた。 ((lambda (x) (+ x x)) (if #t 1 2)) ちゃんと 2 を出力してくれます。4. Expressions を順番に実装して行きます。 3.5 の proper tail recursion も忘れないようにしないとね。

Debian辞典

isbn:4798109088武藤さんのDebian辞典が書店に積んであったんでパラパラと見てみたのだが、凄く良い出来の本だった本だったので思わず購入。個人的には rdesktop を知らなかったので見た時に目から鱗だった。KDEの奴はしょぼいし。これで Win機 にリモートか…

という訳で

oxy君と頑張ります。

Lyx

Mike FabianさんからLyx + qt-immoduleで入力出来ない問題を直せとの催促メールが届いた。これで無視するのは3回目ぐらいなのでさすがに手をつけよう。だってLyxなんて使わないもん...一度ソースコードを見た事が有るのですが、"preedit"という概念を全く意…

Indentation Problem

とか && が出てくると、インデントにいつも迷う。 (1) if (EQ(ScmOp_numberp(scm_n1), SCM_FALSE) || EQ(ScmOp_numberp(scm_n2), SCM_FALSE)) SigScm_Error("number required\n"); (2) if (EQ(ScmOp_numberp(scm_n1), SCM_FALSE) || EQ(ScmOp_numberp(scm_n2…

数値系関数

数値は integer しか扱わない事にしました。高度な計算を要求されるようなシステムで使われる事は無いだろうという判断です。現在約2500行。太ってきたー。 (number? obj) (= z1 z2 z3 ..) (< z1 z2 z3 ..) (> z1 z2 z3 ..) (<= z1 z2 z3 ..) (>= z1 z2 z3 .…

list処理関数残り

(memq obj1 list) (memv obj1 list) (assq obj alist) (assv obj alist)equal?は実装していないので、(member obj list) と (assoc obj alist)は後回し。

eq?系関数実装中

(eqv? obj1 obj2) (eq? obj1 obj2)結構適当に実装。細かい所が違うかもしれないが、それは後でテストスイートで拾う事にしよう。equal?は気持ちが乗らないので後で。

丸ビル

晒されたのでもう一度言っておきますが、大阪の丸ビルは丸いんです!

list処理関数実装中

以下の関数を授業中に実装... (pair? obj) (cons obj1 obj2) (car pair) (cdr pair) (set-car! pair obj) (set-cdr! pair obj) (caar pair) (cadr pair) ... ... ... (cdddar pair) (cddddr pair) (null? obj) (list? obj) (list obj ...) (length list) (ap…

SigScheme開発録 (1)

さてさて、文献を読んでいるだけじゃぁ頭でっかちになってしまうので実際にコーディングを始めました。とりあえず、「軽量」とか「最適化」等を全く考えずにR5RS互換の動くScheme処理系を作成する事を目標にしたいと思います。今月までに出来れば良いと思い…

R5RS

もちろん全部印刷して持ち運んでますよ。