時の羅針盤@blog
オランダの生活、自身が行っているSagittarius Schemeの開発日誌、
その他雑多なことをつづってます。
Let's start Scheme
(Move to ...)
(はじめよう Scheme 0)
(はじめよう Scheme 1)
(はじめよう Scheme 2)
(はじめよう Scheme 3)
(はじめよう Scheme 4)
(はじめよう Scheme 5)
(はじめよう Scheme 6)
(はじめよう Scheme 7)
(はじめよう Scheme 8)
▼
2013-01-31
Reading a smart card with Sagittarius
›
If you are a lisp user (whichever your preference is), you would already know S-expression is the best way to write DSL. I have been writing...
2013-01-28
evalとdatum->syntax
›
packとunpackの実装をしていて、実行時にbytevector-**-native-ref/set!系の手続きを生成してごにょごにょしようかなぁと思ってこんなのが有効かちょっと試してみた。別にR6RSな処理系コンパチにする必要はないだけど、なんとなく。以下がちょっとしたテス...
2 comments:
2013-01-25
pack for Sagittarius
›
I have committed the pack library. The implementation is influenced Industria's (weinholt struct pack) library. The string format, proc...
2013-01-24
補助構文の挙動
›
バグの調査を兼ねていろいろな処理系の補助構文を調べている。といってもmosh、nmosh、Ypsilon、Chezの4種類だけだけど。とりあえず、以下のようなファイルを用意する。ライブラリの名前が変なのは気にしない。 ;; named prob.scm or so. (libr...
pack
›
Sagittarius currently doesn't have pack procedure (or macro). That's simply because I wrote specific procedures to handle binary pa...
2013-01-21
デバッグしづらいバグ
›
(多分)マクロ周りの識別子問題なのだが、非常にデバッグしづらいバグの報告を受けた。とりあえず、考えうる限りもっとも小さいと思われる再現コードは以下 (import (rnrs)) (define-syntax foo (lambda (x) (syntax-case...
2013-01-19
なんとなく分かってきた(昨日の続き)
›
いろいろ動作確認をChezでしているうちになんとなくどうあるべきかが分かってきた。 基本的にはマクロが定義されたライブラリ内にあるシンボルはそこで、展開時のライブラリにあるシンボルはそこでという感じで定義時のコンテキストを使って識別子を変換すればいいような気がする。 問題...
2013-01-18
マクロがスコープを壊していた
›
まぁ、マクロ周りは完全とは言いがたいと分かってはいたのだがこうも立て続けに不具合が出てくるとは・・・ Google code上でIssueを発行したのだけど、まぁ前回のマクロの不具合とばっちり関連している、というかそれの延長線上である。 Vicareの中の人が報告してくれ...
Sagittarius 0.4.1リリース
›
Sagittarius Scheme 0.4.1がリリースされました。今回のリリースはメンテナンスリリースです。 ダウンロード 修正された不具合 同名の内部defineが存在した場合にASSERTで落ちる不具合が修正されました sqrt手続きにBignumを渡すとASS...
2013-01-16
winscardを使ってみる
›
仕事柄最近UICC(SIM)を扱うことが多い。まぁ、基本的には中にインストールされているアプリケーションを覗いたり、APDUを実行したりするだけではあるのだが。 こういった作業をするツールとしてGPShellというものがあるのだが、いかんせんドキュメントが少ない上に今一使い勝...
マクロ(戦争)は続くよどこまでも
›
Vicareの中の人からバグ報告があって、まぁマクロ周りだろうということまで判明していた。っで、実際に問題が起きるコードを見てみると、「あぁ、やっぱりこのコードはバグを含んでいたか」というまさにドンピシャの部分のバグであった。実際のコード(Sagittariusのマクロ展開器側)...
2013-01-12
2013年始動
›
あけましておめでとうございます(遅 日本にいた3週間はブログ、コードともにほとんど何もしないという快挙(?)を達成したのでそろそろ始動しないと鈍るなぁと思い開始します。 About Sagittarius 直近は今週か、来週末当たりに0.4.1をリリースする予定。前回の...
2012-12-31
2012年を振り返って
›
今年はなんだかいろいろ激変した感じがある年ではあるが、プライベートなことを振り返ると気分がへこむのでとりあえずはSagittarius周りのことだけで。 【達成したこと】 R6RSマクロ展開器が標準により準拠した R7RS対応がほぼ終わった 月1リリースの継続 あ...
2012-12-18
TLVパーサがほしい
›
最近仕事でAPDUをいじる必要があるのだが(正確には眺めてるだけなんだけど・・・)、中に入ってるデータとかSIMが返すデータとかがTLV形式であることが多い。っで、TLV自体は別に何か特別な仕様というわけでもないのでこのパーサがあってもいいかなぁと思っていたりする。 問題は、...
2012-12-15
Enbug
›
かなり大きめなバグを0.4.0で埋め込んだみたいである。問題になるのは以下のコード。 (define (foo) (define (bar n) (print n)) (bar 1) (let () (define (bar n) (print 'h...
2012-12-14
Sagittarius 0.4.0リリース
›
Sagittarius Scheme 0.4.0がリリースされました。 ダウンロード 。 今回のリリースはマイナーバージョンアップリリースです。大きな変更点は以下、 R6RS準拠度(マクロ周り)の改善 R7RS small (draft 8)の要求仕様への準拠 修正さ...
2012-12-12
パターン変数
›
リリース直前にバグに気づいた。もちろんマクロ周り・・・ 問題となるのは以下のようなコード。 (define-syntax loop (lambda (x) (syntax-case x () [(k e ...) (with-syntax...
2012-12-10
R7RS 8thドラフト斜め読み
›
7thドラフトから1ヶ月しか経っていないのにもう8thが出るとは。ちょっと油断していた。 今回のドラフトは7thのtypoと非正確数のeqv?あたりぐらいだろうと思っているので軽く斜め読み。Chibi-Schemeもこれにあわせてか、0.6.1とバグフィックス版を出してきてい...
2 comments:
2012-12-09
Rewrote case-lambda
›
Sometimes it's good to review what I've done so far. Yes, I've found something not efficient and it can be more efficient. This ...
2012-12-08
最後の砦
›
マクロの書き換えを始めて1週間(以上か?)、大詰めまで来ている気がする。美しくなかった機能をばっさりと切り捨て、マクロ展開器は(個人的に)かなりシンプルになったと思う。既存のテストが全て通るようになり、いよいよ本丸のindustriaを走らせて見たら、以前と同じエラーで落ちる。こ...
‹
›
Home
View web version