mosh

mjt さんへ

0.2.7 で nmosh の phase2 が上手くいかないので展開ができる current の tar.gz をいただけませんか。

brew install mosh

src/FFIProcedures.cpp:725: error: unsupported inline asm: input constraint with a matching output constraint of incompatible type! src/FFIProcedures.cpp:766: error: unsupported inline asm: input constraint with a matching output constraint…

Mosh on Lion 環境構築中

configure で configure: error: C++ preprocessor "/lib/cpp" fails sanity check とか言われてる。

R7RS large

月刊R7RS - R7RS概要スライドが公開される - .mjtの日記復帰計画。 pattern matching, threads, regexp, simple posix, udp など結構攻めるのね。udp やるならほかも頑張ってほしい。

OSX に Mosh をインストール

brew install mosh とっても簡単。id:mjt ++。

Mosh 0.2.7 リリース

詳細はリリースマネージメントやプラットフォームテストを担当してくれている id:mjt さんのブログをご参照下さい。 0.2.7 リリース - .mjtの日記復帰計画 個人的に頑張ったのは annotated-pair 最適化と Mona OS 対応、Facebook Graph API ライブラリ。

Mosh 0.2.7 RCのバグが取れない

うーむ。Annotated pair が悪いのか。GC_pthread_join なのか。もう少し時間がかかりそうだ。

Mosh の apply が末尾最適化ではなかった

Issue 204 - mosh-scheme - receive(call-with-values) primitive does not perform proper-tail-recursionというバグを調査していたら問題は apply であることが分かった。apply の末尾呼び出しがうまく最適化されておらず再帰ごとに 2 word スタックを使う…

Mosh に annotated pair を導入

現状の pair はソースコード行番号などを格納するために 4 ワードなのだが、これを 2 ワードとした。そのかわり特別な annotated-pair というものを用意。通常の pair と全く同じように使えるのだが annotation を付加できるようになっていてそこにソースコ…

Mosh on Mona が heap 使い過ぎる

500MB以上使っててカーネル巻き込んでた。カーネルは巻き込まれないように整備。さて原因を探るのが難しいな。

file->string を C++ で書きなおし

よく使われるのだが大きなファイルでボトルネックになっていたので C++ で書きなおした。

Mosh の mecab バインディングライブラリ

mecab のバインディングライブラリを追加しました。lib/mecab.ss。自分が使う範囲のみ手続きを実装してあります。もし他に必要なものがあればここで要望を頂くか、github で fork して pull request を投げて頂けるとありがたいです。 なおこの実装は id:nao…

Mosh における正規表現変遷

1期 Gauche の正規表現リテラルと match オブジェクトを適用できる素晴らしさに感動。そのままパクる。バックエンドは鬼車。 2期 正規表現リテラルが R6RS 準拠でないことに悩む。他の処理系でも使ってもらえるようなライブラリにしたい時にどうしようか。 3…

OpenSSL 対応 - 週刊 Mosh

Mona 版の Mosh を master にマージした。いくつか軽微なバグが残っていたのを id:mjt さんが直してくれた。ようやく1つのレポジトリだけを気にすれば良い状態になった。あまりに master から離れると戻れるか不安になる。 configure 時に libssl の存在を…

Mosh 0.2.6 リリース

Mosh 0.2.6 がリリースされました。今回も id:mjt さんがリリースマネージメントを引き受けてくれたのでとても助かりました。 ダウンロード(mosh-0.2.6.tar.gz)メンテナンスリリースです。多くのバグが修正され、種々の環境で正しくビルド・動作するように…

Mosh on Mona

mount した

FAT32 を実際にマウントした。うまく動いている。さて Mosh で例のスクリプトを動かすかな。

Mosh on Mona と Boehm GC

Mosh のテストを Mona 上で走らせるとたまに Boehm GC の mark_from, mark_some で落ちる。Mona 上の Boehm GC 自体は旧 Scheme シェルで動作している実績がある。 Linux 上の Mosh と GC_FLAGS を比べてみると LARGE_CONFIG を有効にしていなかったことに気…

Mosh on Mona passed R6RS test suite

自作OS上で動かす R6RS 処理系でテストを全て通すのは結構大変だった。おかげで Mona がだいぶ強くなった。 最後の砦は file open の create と truncate だった。 今日は暇だったので作業は、Smiley Hackathonに参加してコードを書いた。主催者id:acotieさ…

最近の Mosh on Mona

45 of 8917 tests failed. な状態。もう少し。 追記 11 of 8917 になった。

Mona への gmp 移植メモ

まず安定版の gmp-4.3.2 を入手。次に Mona のビルド環境に近いパラメータでクロスコンパイルしてみる。 % ./configure --enable-assert=yes --enable-cxx=no --build=i586 --host=i586-mingw32msvc トップディレクトリにある .c ファイルのビルド assert.c …

GNU MP Mona に移植完了

正味の作業時間 2時間くらいな気がする。mpz と mpq のテストを書いて Mosh でも動いた。 数値演算のライブラリなだけあって、そこまで環境依存が高くないので移植しやすかった。

Mosh on Mona

mosh -5 相当で fib(10) と display が動いた。monapi_file_read が ISO9660 と ram_disk で offset を更新しないというひどいバグがあって、fib の定義が無限に read される事件などに巻き込まれた。 Mosh は Linux、OSX、Windows を深く信頼し OS に寄りか…

今日の Mona

Mona 用の Mosh がビルドできた。あまり期待せず起動してみたら Process Server が死んだ。おそらくバイナリサイズが大きいのが原因だろうとあたりをつける。死ぬアドレスから見て間違いないので上限を 4MB から 6MB に上げた。起動した。REPLが起動する事が…

Porting Mosh to Mona

Adding stubs for Threads. Sockets on Mona is enough for Mosh. Should I port GNU MP library to Mona? Is it difficult?

Mosh 修正1件 改善1件

expt が遅かったので gmp の pow を使うように ("ciao". #t) が read できないバグを修正

Mosh バグ修正2件

Bignum の log 実装が抜けてた。

mosh 0.2.5 リリース

mosh 0.2.5をリリースしました - .mjtの日記復帰計画 今回は nmosh という新しい R6RS 実装が id:mjt さんにより追加されています。現在の psyntax mosh よりもいくつかの面で優れているので近い将来 nmosh が本流になる予定です。 ダウンロードはこちらから…

lambda 式を短くする shorten ライブラリを公開

lambda 式を短くするshorten ライブラリを公開しました。 このライブラリは元々 Shiro さんが「Gauche Devlog - Shorter names」で公開されていたアイデアを R6RS ライブラリとして実装したものです。実装は id:mjt さんの「Gaucheのlambda shorter-namesをR…

JIT のバグがとれないので寝かせる

1ヵ月くらい JIT のバグがとれない。ずっともやもや。きっちり再現する方法(Mosh/0.3.0/JIT/KnownIssue)をまとめ、再現コードを Git のブランチとして保存し寝かせる事にする。 JIT でネストした eval がらみだと思うんだが。