時の羅針盤@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)
▼
2012-07-31
Racketが異様に速い
›
Sagittariusはfibを走らせる程度ならGaucheやYpsilonと同じくらいの速度で走るのだが、Racketはさらにその倍くらいの速度が出る。 正直、なにこれ?状態なのだが、ちょっとテストコードを書いてみてなんとなくどうやっているのかが分かった。(追いつけるという意...
2012-07-27
Cygwinのmprotect
›
mprotectだけではなくposix_memalignもなのか、さらにこれがCygwin限定なのか他のUnix系環境もなのか調査してない。 (少なくともCygwinのposix_memalignはあるサイズを境に同一のアドレスを返すっぽいが) 何が問題か?とりあえず2つほ...
2012-07-25
JIT苦戦中
›
正直これだけ苦労してまで入れる意味はあるのだろうかと思い始めていたりはする。他の処理系に速度で差をつけるという意味では重要なのかもしれないけど、いまいち速度も出てないし・・・ とりあえず、現状では末尾再帰が上手いこと動かない場合がある。理由もある程度分かっていて、RETが一回...
2012-07-22
JITアイデアメモ
›
そんなにナイーブな実装ではないとは思いたいのだが、速度が出ない。多分いたるところでVMのレジスタを参照したり書き換えたりしているからだろう。(主にスタックポインタなんだけど) GaucheのJIT予備実験を見る限り、(多分)似たような壁にぶち当たっていると思われる。 Gauc...
2012-07-20
JIT実装中
›
目指せRacketの速度ということでJITを実装中。とりあえず、X86でfibとtakが動くようにしてみた。(どうでもいいが、X86はレジスタの本数が少なすぎて辛い。やりくりを考える主婦の気分を味わえる)。 とりあえず方針として、 Xbyakを使ってC側で実装する。 コ...
2012-07-16
Muiden and Pampus
›
Be activeの第2弾。(要はmeetupに行っただけとも言うが)、Daytripに行ってきた。 場所はAmsterdamからバスで20分くらいのMuidenとそこから更にボートに乗って15分くらいのところにある要塞跡地Pampus。 Muidenは古い感じのオランダの...
BoehmGCとCMakeとMSVC
›
あんまりCMakeは関係ないかも。 BoehmGCをMSVC上のマルチスレッドでコンパイルしようとすると/MDオプションによって暗黙的に定義される「_DLL」というマクロを期待している。困る。という話。 事の発端はMSVCR100.dllを依存関係に入れたくないために/M...
2012-07-14
逆FizzBuzz問題
›
逆FizzBuzz問題なるものを発見した。元ネタ5月だから遅れること2ヶ月くらいか。 逆FizzBuzz問題をTrieでトライ - athosの日記 とりあえず、Schemeで解いてみた。(#0=記法をサポートしてれば、どの処理系でも動くはず・・・) #!/bin/env...
2012-07-13
なんとなく、REPLに色をつけてみた。
›
別に0.3.4固有のものでもないのだけど、なんとなくREPLの画面に色をつけてみた。 WindowsのDOS窓は無理だけど。 (import (sagittarius vm) (sagittarius vm debug) (sagittarius interactive)...
Sagittarius 0.3.4リリース
›
Sagittarius Scheme 0.3.4がリリースされました。 今回のリリースはメンテナンスリリースです。 修正された不具合 bytevector-***-set! (*** はs32、s64)にfixnumのマイナス値を与えるとエラーを投げる不具合が修正されま...
2 comments:
2012-07-12
マクロ、マクロ、マクロ・・・
›
マクロの不具合を少しでも潰していこうと思っているのだが、いろいろげんなりしてきた。 とりあえず、現状でもっとも問題になっているのは、free-identifier=?とbound-identifier=?が正しく動いていないこと。後者はあんまり気にしていないんだけど、前者がま...
2012-07-04
構造体のアライメント
›
X86_64な環境で構造体のアライメントが不思議な現象を起こしている気がする。 (そういえば、以前FFIをサポートした際に問題になるかも的なことを書いたような・・・) 以下のコードが予想と違う。 #include <stddef.h> #include ...
2012-07-03
64bit environment
›
I have received an email that said Sagittarius build process crashed on Open SUSE 64 bit. This is the first email I've got, yes, I was r...
2012-07-01
3,2,1,0 バグッてハニー
›
コンパイラに少し手を入れたらなんだかSEGVが起きるようになった。 まぁ、普通はいじった部分がおかしいだろうということになるのだが、どうも様子がおかしい。 Cygwinではいまいちなにが起こっているのかわからなかったのでUbuntuで走らせてみてなんとなく見えてきた。(Cy...
2012-06-29
英語というより国語の問題だろうこれ?
›
世の中頭のいい奴はいるもんだ、ということを実感できるスレ。 東大の入試問題すごすぎワロタwwwwwwwwww っで、上記のスレで紹介されていた問題回答速報が以下。 東京大学解答速報 この前期外国語の最初の問題。非常に平易な英語で書かれていて読むのは全然苦労しない。英語...
2012-06-27
REPL support
›
Before when I forgot the signature of procedures, I always search the internet (usually these procedures were defined in R6RS). However Sagi...
2012-06-24
(lambda ())
›
What should this expression return? According R6RS and R7RS (draft 6), lambda form must have at least one expression. So I guess this must...
Githubのアカウントを作ってみた
›
Mercurialに慣れていて、Gitは構ったこと無かったんだけど、Googleコードですごく小さなリポジトリを作るのに気が退けてなんとなくGithub。 Githubはチュートリアル充実してるなぁというイメージだった。Googleコードはどうだったかなぁ?難しくは無かった記...
2 comments:
2012-06-23
正規表現
›
#/(?:aa?){n}a{n}/という正規表現(nは任意の数)がどれくらい遅くなるかをチェックしようとしたら正規表現のコンパイラがエラーを飛ばした。ソースを見ると特にコメントも無く、 /* ugh, ugly */ とだけある。(よくこういうのを書く。)問題はこう書いて...
Lisp
›
声優ユニットではない。(違ったっけ?名前だけで見たことないから) ふと昨日のレーベンシュタイン距離の実装でScheme(というかSagittarius)では速度が出ないので、バイナリ吐けるSBCLで書き直した時に思ったこと。(そのうちLisp版のコードも貼り付けよう。汚いけど...
‹
›
Home
View web version