mosh

Node.jsのプラットフォーム抽象化ライブラリlibuv

https://github.com/joyent/libuv Node.jsは、WindowsのIOCPによる非同期I/Oに対応するのを機に、プラットフォーム抽象化層を分離して別のライブラリにまとめるようだ。これには、c-ares(非同期DNSリクエストライブラリ)やlibevのような外部ライブラリも同時…

週刊mosh - exactness関連の修正 / 月刊R7RS / プログラミング言語の実装戦略

0.2.8の開発は進行中。 moshは日本語圏のほうがユーザが少ないので週刊moshも英語にしたほうが良いような気もしている。 exactness関連の修正(fixされたIssue) http://code.google.com/p/mosh-scheme/issues/detail?id=217 eqv?がexactnessの違う2値を等価…

週刊mosh - 0.2.8予報 / Makefileパーサ / profile不調とGCオーバヘッド

うーむ 短いペースで0.2.8をスケジュールしちゃうかも。。 今週はちょっと多忙につきmosh-currentを更新できていません。 fixされたIssue GaucheのPEGテストで"[internal error] iform-count-size-upto: unknown iform tag:13"と出て落ちる問題を修正 http:/…

週刊mosh - nmosh Nのひみつ

Homebrewのmoshも0.2.7になりました。 https://github.com/mxcl/homebrew/commit/704e164138432cfea95a8320e1d7196077502bab 最近はGuileも収録されているので唯一では無いですが、コマンド一発で導入できるR6RS Schemeとしてはまだレアな存在です。 今週は…

0.2.7 リリース

R6RS scheme インタプリタ mosh 0.2.7をリリースしました。 http://mosh-scheme.googlecode.com/files/mosh-0.2.7.tar.gz https://github.com/higepon/mosh/blob/mosh-0.2.7/doc/RELNOTE (メインの開発者はid:higeponですが、僕がプラットフォームテストとリ…

週刊mosh - 0.2.7そろそろリリース / GaucheのPEGを移植 の2

COPYINGに不備が見つかったので延期中。あと、Windowsを入れなおしたのでVisualStudioを再インストールしなきゃいけない罠も。。 GaucheのPEGを移植 https://github.com/okuoku/mosh/blob/master/lib/yuni/text/peg.sls GaucheのPEGパーサをR6RSに移植した。…

10 Scheme One Liners to Impress Your Friends

http://d.hatena.ne.jp/y2q_actionman/20110607/p1 のパクりを(n)moshで。 読み方 (import ...)はライブラリの読み込みでプログラム本体では無いです。(Rubyのrequireのような。) SRFI-xというのは、JavaのJSRとかPythonのPEPのようなもので、番号の付いた言…

週刊mosh - GCのアップデート / GCと循環参照 / 月刊R7RS

http://storage.osdev.info/pub/mosh/mosh-current.tar.gz Moshは0.2.7のRC期間。今のところ大きな問題は発覚してないけど、現在様子見中。 GCのアップデート - libtoolを使わなくなった GCをCVS版にアップデートする過程で、autotools版のビルド(./configur…

週刊mosh - BoehmGC 7.1がヒープ壊す問題

0.2.7はGC周りでバグが見つかったのでGCをアップデートすることにしました。。そのうちRC2を出します。 修正されたIssue http://code.google.com/p/mosh-scheme/issues/detail?id=213 Applyの引数チェックが不足している 先月のApplyの修正でエンバグ( http:…

週刊mosh - 0.2.7の変更サマリ / 非同期I/Oと同期I/O

http://storage.osdev.info/pub/mosh/mosh-current.tar.gz というわけで、0.2.7をmilestoneにしていた変更が全て完了した。GUI関連を非同期I/O上に実現することにしたので、今回もバグフィックスがメインのリリースになりそう。 もっとも、ドキュメンテーシ…

Unicode文字列→Multibyte文字列は適当にmapされることがあるらしい。

http://msdn.microsoft.com/en-us/library/dd374130%28v=vs.85%29.aspx For example, the symbol for "∞" (infinity) maps to 8 (eight) in some code pages. てめぇはジャニーズか というわけで、諸般の事情によりANSI codepage→Unicodeの変換を実装した(nm…

非同期 I/O

nmoshの非同期I/O APIにModern IO APIという名前を振った。非同期 I/Oでaioにすると検索性が悪いのと、非同期 I/Oを基本とするけど同期I/Oも混ぜて書けるので。(アイデアとしてはGround Central Dispatchからパクっている) プロセスやI/Oルーチンの起動は非…

CMakeでmoshをクロスコンパイルする

moshはクロスコンパイルに関して結構熱心に対応しているので、autotoolsでもCMakeでも正常にクロスコンパイルできる。ただし、CMake版のmoshはpsyntax-moshが無く、ビッグエンディアンなアーキテクチャに対応していない。 クロスビルドにちゃんと対応してい…

週刊mosh - 組み込み機器とnmosh / 月刊R7RS

nmosh on Kindle2 - 0.2.7の新機能 Portable mode で、キャッシュをhome以外に作ってるのがミソ。 - R6RS test suiteも通る。 というわけでmoshは組み込み機器でも動く時代に。Kindleというか電子書籍端末で動く初のR6RS Schemeだと思う。 nmoshは組み込みの…

CMakeでクロスコンパイル用の.cmakeファイルを書く

/devel/mingwをprefixにツールチェーンをインストールしているとして、 SET(CMAKE_SYSTEM_NAME Windows) SET(CMAKE_C_COMPILER /devel/mingw/bin/i686-mingw32-gcc) SET(CMAKE_CXX_COMPILER /devel/mingw/bin/i686-mingw32-g++) SET(CMAKE_RC_COMPILER /deve…

週刊mosh - メモリ効率の改善 / 非同期I/O / LTOの効能

先週とうってかわって今週は怒涛の動きだった ような気がする。 追記 : higepon先生が一晩でやってくれました(see http://d.hatena.ne.jp/higepon/20110425/1303740074 )。 - http://storage.osdev.info/pub/mosh/mosh-current.tar.gz 今のところ、annotated…

nmoshがメモリを食う理由

nmoshには3つの大きな問題があって: メモリを食う(ことがある) expandが遅い explicit-phasing このうち、(特にWin32環境で)メモリを食うのがそろそろ実際に問題になってきたので、GC_DEBUGやデバッガを駆使して調べたところ、理由が2つわかった。 スタック…

週刊mosh - weak-vectorの追加 / MSYSサポート終了 / R7RS方針

今週もバグフィックス等はなし。そろそろリリースどき? weak-vector、GC collection portのサポート nmoshがweak-vectorとGC回収ポートをサポートした。 weak-vectorは、GCによって回収されても良いものを内包したベクタで、GCによって内容物が回収されると…

R7RSドラフトが公開される

http://lists.scheme-reports.org/pipermail/scheme-reports/2011-April/000366.html http://trac.sacrideo.us/wg/attachment/wiki/WikiStart/r7rs-draft-1.pdf 基本的には、R6RSとは全く互換性が無く、R5RSにモジュールシステムと伝統的なSchemeで一般にサ…

非同期I/Oライブラリ

nmoshに非同期I/Oライブラリを搭載することにした。moshのportが深刻に遅い*1のと、nmoshでネットワークサーバを書く必要が生じてきたので。 他のSchemeに似たような機能をもったものは無いようなので(Gaucheのようにselectを持っていることはあるが。。)、A…

週刊mosh - defineとletrec*の実行順序 / テストモード

あまり大きな動きは無し。 修正されたバグ http://code.google.com/p/mosh-scheme/issues/detail?id=200 (reworked) portの終端にset-position!できない http://code.google.com/p/mosh-scheme/issues/detail?id=201 Nmoshのassertが値を返さない nmoshはプ…

mosh for Windows(ポータブル版)

http://storage.osdev.info/pub/idmjt/diaryimage/1104/mosh-0.2.7-alpha1.zip - MPIRが静的リンクのままだったので削除... http://storage.osdev.info/pub/idmjt/diaryimage/1104/mosh-0.2.7-alpha2.zip - (nmosh process)のひどいバグをついでに修正 とい…

週刊mosh - 0.2.7進捗 / REPL仕様変更

最近 http://code.google.com/p/mosh-scheme/updates/list の存在に気付いた。。 今までこの週刊moshはgitのログを見て書いていたんですが、higeponと僕で書きかたの流儀が統一されてないので地味に面倒でした。updatesを見ればlast 7daysの変更として一覧さ…

週刊mosh - 0.2.7リリースブランチマージ / WG1への対応方針

0.2.7のリリースブランチ(okuoku側)が開発ブランチ(higepon側)にマージされました。 moshはそれなりにテストが有って、0.2.6→0.2.7の変更でビルドの信頼性は相当向上したので今後は(pushする前にcheckさえすれば)開発ブランチとリリースブランチの別は無くな…

週刊mosh - 0.2.7進捗

再起動中... mosh-currentの更新を再開しました。http://storage.osdev.info/pub/mosh/mosh-current.tar.gz 処理中のIssue http://code.google.com/p/mosh-scheme/issues/detail?id=134 psyntax-moshのいくつかのバグフィックス。 このバグはSRFIライブラリ(…

explicit-renaming macroの拡張

今のところ、scheme界のlow-level(= Hygienicでないmacroも書ける) macroには少くとも3つの流儀がある。 伝統的なlispマクロ - defmacro, define-macro。Gaucheやbigloo、Gambit。 syntactic-closureとexplicit-renaming - define-syntax。MIT/GNU SchemeやC…

日刊mosh - clangビルド対応

http://storage.osdev.info/pub/mosh/mosh-current.tar.gz - mosh-0.2.5-508-g040375a Clangでもコンパイルできるようになりました(trunk/2.8で確認)。 微妙に問題だったのは、 inline asmを ; で終端できない 整数レジスタをdoubleに制約できない という非…

週刊mosh - 0.2.7RCフェーズ開始

nmoshの出力がカラー化。環境変数NMOSH_CLICOLORを適当に設定するとカラーになります。 0.2.7には間に合わないけどそのうちREPLやmacro expand traceもカラー化する予定。 今後、週刊moshを書くときは、なるべく週刊moshに対応するtarballが http://storage.…

週刊mosh - 実行権限の管理 / 疑似FFI

0.2.7に向け細かい改善モード のはずなんだけど色々とまだ手を入れています。今週末をメドにRCフェーズを始める予定。 修正されたIssue '("foo"bar) のように文字列直後にシンボルが来るケースを正常に処理しない。 http://code.google.com/p/mosh-scheme/is…

Senselink

moshのGUI/OpenCL対応の次に予定しているのがコラボレーション支援機能で、これを搭載したmoshを窓の杜に載せるのが当面の目標。 もともとmoshにはSchemeオブジェクトをシリアライズする機能があるので、そのオブジェクトをノード間でやりとりする部分を抽象…