Entries from 2008-03-01 to 1 month

最も todo と fix meが多いプログラミング言語は Python かもしれない

プログラムを書いていると todo としてコメントを入れることがあります。 現時点ではこのコードは書けない 余裕のある時にやろう 汚いコードを書いていることに対する言い訳 など理由は様々。 todo コメントの例としては // todo check hogehoge hoge(); の…

2008/3/16 の comp.lang.scheme

help me identify error here: beginners question 初心者の人の質問 FringeDC Formal Meeting March 22nd at 1PM- Haskell Spectacular: XMonad, Zippers and More! ワシントンDC で Fringe Programming に興味のある人たちの集まりがあるらしい。 Fringe P…

南町田のアウトレット的な所へ

南町田にあるというアウトレット的な所へ行く。 わりと名の知れたショップやセレクトショップの服が安く買えるので良いかも。(URBAN RESEARCH とか UNITED ARROWS とか B.C STOCK とか RAGEBLUE とか)ここのすごい所はお客さんのやりたいことを全て満たそ…

C++ で VM 実装中 その2 - Scheme VM を書く

淡々と実装。 R6RS のライブラリを VM でサポートするには VM 自身がコンパイラを内蔵している必要がある。 しかしながら現在ではコンパイラは外にあるので、VM 自身でコンパイラが動くようになるまではライブラリは使えないことに。(具体的には import イ…

2008/3/15 の comp.lang.scheme

TinyTalk tar+gzip available TinyTalk という Scheme のオブジェクトシステムがあってそれのR6RS版とGambit版がでたよという話。 TinyTalk in Launchpadの事か。 ダウンロードしてみた。Tiny というだけあって小さいね。 例を見てみると意外と使えるかもし…

C++ で VM 実装中 - Scheme VM を書く

Gauche を利用してコンパイラが結果を write し、C++ の VM が読み込む。 簡単な命令を実行するというフローを作った。初期の段階ではあっちを立てればこちらが立たずといったような窮屈な思いをするが、少しずつ世界が広がって行くのが楽しいね。 今は完全…

モンテ・クリスト伯を読んでいます

サイボウズ・ラボの同僚にすすめられてモンテ・クリスト伯を読んでいます。全7巻のうち3冊読み終わったところ。 凄いの一言に尽きる。今まで生き残ってきた古典(?)なだけあって濃密なストーリィだしどんどんハマっていく。デュマすごいよデュマ。 あの漫…

2008/3/14 の comp.lang.scheme

Partial evaluation of quoted expression (Scheme48) この流れの中で紹介されているMetaScheme, or untyped MetaOCamlあたりに大事なことが書いてある気がするが今日は頭が働かない。 Scsh (a Unix Scheme shell) FAQ Scsh FAQ 全文が。全部は読んでない。 …

さっそく困難が

Boehm GCで落ちる。まあ気長にデバッグしましょう。

0.0.1 リリースまでの実装計画 - Scheme VM を書く

今作っている Scheme 処理系の実装が C++ で VM を書くことに移行しつつあるので 0.0.1 リリースまでにやることをリストアップ。 0.0.1 では簡単な Wiki が実用的な速度で動くことを目標とする。 多少貧弱で不完全でも一度リリースするかしないかで大きく違…

Fixnumの話

fixnums in the VM : John Rose @ Sun http://blogs.sun.com/jrose/entry/fixnums_in_the_vm

会ってお話ししてみたい人更新

ひげぽん/会ってお話してみたい人リストを更新。 Gauche.Night のおかげで多くの人にお会いすることができました。 あと今日は id:yamanetoshi さんとランチ。はじめてお会いしたのですがうれしい意外性にびっくり。SICPのここがつらかったなどいろいろと話…

read の移植完了 - Scheme VM を書く

read を移植した。数字の read ができるようになったので明日は軽くテストして VM ループの実装へ。 GCが落ちたのは GC_INIT を呼んだら直った。

2008/3/13 の comp.lang.scheme

Gambit-C's FFI and variadic functions - comp.lang.scheme 質問 Gambit-C の ncurses バインディングを書いているんだけど Gambit-C の FFI では printw のような Variadic function はサポートされないんだ。 どうしたらよいだろう? (注)Variadic とい…

Foreign Function Interface その2

同じく M さんに以下の点で理解や調べが足りないとご指摘を受けました。 callback のある関数はどうするのか? C の qsort 関数のようなものを呼ぶときは? mbcsを受けとる関数を呼ぶ時に変換するのは誰の仕事か?またその寿命管理は? 確かに甘かったので調…

2008/3/12 の comp.lang.scheme

(0 2)) in Pocket Scheme? Shouldn't it equal 2? - comp.lang.scheme | Google Groups">Why does (cons + (0 2)) equal ( (0 2)) in Pocket Scheme? Shouldn't it equal 2? 「(cons + (0 2))はなぜ 2 ではないの?」という質問 多分初心者の質問だと思うの…

確保した領域にポインタが含まれないと事前に分かっている場合 - Boehm GC

gc

data_ = new(PointerFreeGC) UCS4Char[bufferSize_];

Linuxに謝られた

su: 認証失敗 ごめんなさい。 追記 Solaris は同情します - tsucchiの日記面白い。

調子良いけど良くない

コード書きの調子がたいへんよろしい。以前書いたものよりも良いコードだと思うものをどばどばっと書いている。 調べ物もして昨日より1mmくらい賢くなった。 ただ1日の大半をそんな風に過ごしたせいか疲れぎみ。 調子の良いときにちゃんとセーブすることを覚…

Foreign Function Interface をいくつか見てまわる

動機 VM を C++ に移植開始したのだけど、以前 M さんから指摘のあった C/C++ を呼び出すインターフェースもしくはその逆、つまりForeign Function Interface について考えるなら今しかないので考えよう。 同年代のスーパープログラマ M さんに「どうやって…

2008/3/11 の comp.lang.scheme

recursion problems 再帰が意図通り動かないんだけど。 今となっては一目で分かるミス。こういう質問が許容されるってのは良いコミュニティだと思う。 I would like for a list to evaluate some terms but not others quasiquote を使いましょうの続き。 qu…

ぱたり

ぱたりと寝る。

Foreign Function Interface をどうするか? - Scheme VM を書く

1つ前の日記で調べて概要が掴めたので自分の処理系でこの辺をどう扱うかを考えてみた。 現時点での結論としては C から VM を呼び出すことはサポートしない 将来的 Scheme から C の関数を呼べるようにサポートする。(Cで書かれたライブラリ libxml などの…

free variableへのアクセスのコストの話

Schemeで free variable をたどるときのコストの話。 static link をたどる方法でない2つのパターンについて簡単にまとめた。情報やご意見があればぜひ。 free variableへのアクセスのコスト 追記 gauche.night でもちらっと喋った気がするのだけど、自分は…

2008/3/10 の comp.lang.scheme

I would like for a list to evaluate some terms but not others 一部分だけを評価してリストを構築したいという話。quasiquoteを使いましょう。 Link to binaries of Stalin (integer->string 456)という手続きから話が膨らんでどの処理系が良いか的な話。…

cxxxxr の定義を作る

match の移植の時 caddadr 手続き的なものが必要で手書きしていたんですが一ヶ所 a と d を書き間違えてひどい目にあいました。 というわけで定義を生成するような手続きを書いてみました。いまいちスマートな方法が思いつかず。リスト同士の操作はもっとう…

Andrew Wright の match を移植する その2 - Scheme VMを書く

昨日の続き。 (cond (3)) => 3 は Scheme の仕様上正しいものだった。ごめんなさい。 quasiquote の展開に仕様の違いが見られると思ったが勘違いで、僕のコンパイラが特定の場合に quasiquote の展開し忘れたいただけだった。 というわけでほぼ完全に動くよ…

[scheme] Andrew Wright の match を移植する

Gauche の util.match となっている Andrew Wright 氏の match を移植しました。 自前の処理系に他人の書いた大きめのコードを投入すると処理系の良くないところや性質が見えてきます。以下移植メモです。 移植対象は match-slib.scm 。ちなみに処理系はまだ…

小黒さんのSchemeにおける glint + Emacs + flymake を試してみた

id:koguro:20080309:1205012807 で公開されている小黒さんの glint を試してみました。 昨日の Gauche.night で発表されていたのものですがこれを待っていました!。 こんな便利なものを作ってくれ小黒さんに感謝。 何ができるか? glint は Gauche 用に書い…

Gauche.night 印象

イベントとしてもとても面白かったしいろいろな人に会えたことが収穫だなあ。 shiroさん ついにお会いできた。 ネット上でうける印象どおりのやさしく丁寧で気さくな方だった。 いろいろ教えていただいた。 ておりあの人 2次会中に何度も僕のことを蹴る人(…