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

リスト実装したぜー

リスト実装しました。 作ってる途中に、いくつかバグを見つけたので、次はそれを潰そうと思う。 swfがエラーを吐く。 -> ブート用のクラスが必要 Windowsでビルドできない -> Windowsかぁ

リスト対応を目指します

Schemeを名乗ってるのに、リストが使えないのはいいかげんマズい気がしてきたのでリスト対応を目指します。TODO: 複数モジュールを使えるようにする 標準ライブラリを作る 標準ライブラリにリストを実装する リストのシンタックスシュガーを実装する

リファクタリング終了

いいかげんコードがぐちゃぐちゃになってきたので、大規模なリファクタリングをしました。 ソースコードをディレクトリに分けたり、バリアントを多相バリアントで書き直すなどの変更を行ないました。

バックパッチしようぜ

みんなバックパッチ(backpatch)って知ってる? ほらコンパイラとかでジャンプとかを作るときに使うやつだよ。gotoでもいいけどさ。 a; b; goto LABEL; // <- ここを生成しているときは、LABELのアドレスが分からない c; d; LABEL: // <- ここでLABELのアドレ…

モジュール名をcapitalizeに

モジュール名をOCaml風にcapitalizeにしてみた。 (define-class Main (Flash.Display.Sprite) ()) (define-method init ([self Main]) (let [(t (new Flash.Text.TextField))] (. t (appendText "Hello,world!!")) (. self (addChild t)))) これがいいのか、…

開発日記もここに書こう

リリース通知なんてしてもだれも見てないんだから、開発日記もここに書こう。 今は、リストを使えるようにするために、がんばってますよー。

HappyABC 0.5.0リリース

http://happyabc.org 久しぶりにリリースします。今回は、リリースを自動化するための仕組み作りに力をいれたため、リリースそのものが遅くなってしまいました。今回の目玉は、external/external-class宣言の廃止です。なにも指定せずに、flash.display.Spri…

スナップショットビルド、始めました

http://happyabc.org/deploy/index.html 誰かかがコミットするたびに、自動でビルドしてサーバにアップロードしてくれる仕組みを作りました。 EURO 2016 NewsとSinatraを組合せています。詳しくは、capistrano/を参照してください。 Windowsバイナリはまだ不…

自動ビルドの仕組みを考えてみた

毎回、ソースコードのtarballとWindowsバイナリを作るのが面倒すぎる。なので、githubにコミットするたびに、自動したい。 なんとなく、概要は考えたので明日から実装しよう。

ドライバを書こうとして、やめた

habc-scmに追加した機能を使えるようにドライバであるhabcを改造としたら、いろいろやりたいことがでてきてしまった。 それを全部アッドホックに実装してたら大変なことになりそうだったので、一度整理してたほうがよさそう。 とりあえず適当に書いたコード…

ライブラリのスタブを書いた

id:happyabc:20090117で書いたモジュールのインポート機能がそこそこ形になってきました。というわけで、インポートされる側のライブラリのスタブを書いてます。 (module text () (define-class CSMSettings (Object) ()) (define-method fontSize ((self CS…

モジュールの自動インポート

早いもので、年が明けてからもう2週間以上たっています。 今のHappyABCは、flashがどういう関数を持っているか知らないので、毎回コンパイラに指示しなければなりません。 (external-class flash.display.Sprite (...)) .... これは面倒なので、どう解決する…

HappyABC 0.4.0リリース

http://happyabc.orgあけましておめでとうございます。今年もよろしくお願いいたします。 というわけで、新年早々、新バージョンをリリースです。今回は、ActionScriptのpackageに対応するモジュールという仕組みを追加しました。 (module foo () (define x …

バグ管理初めました

Overview - HappyABC - mzp そろそろバグが溜ってきたので、バグ管理を初めました。