Serialize特化言語
Serializeに特化した言語「Serialisp」Niyarin
View Slide
Serialisp(未完成)の前提JSONで表現される[“list”, 1, 2, 3]・ClojureのCheshireを用いて書きやすくした・常に変更時にコピーして(COW)オブジェクトを共有しないオブジェクトの比較もequal?なものだけ循環参照もできないclosureもJSONで表現される{“args”:[x], “code”:x, “bindings”:{}}・ローカル変数の変更は許容しない
Continuation in SerialispSerialispは継続のシリアライズができる・CPS(継続渡しスタイル) + closureのシリアライズ・”強い”Scheme処理系に搭載されるような機能Gambitとか・活用する場面継続ベースのアプリケーション(Kahua)とか※ 継続を動かすためには環境情報を一部送る必要がある
Serialize copy GC1.グローバルと現在の継続をJSONにして 好きな記憶領域に置く2.システムを落とす & 再起動3.記憶領域からJSONを読み込むSerialispはゴミ集めが楽
Serialispと永続性記憶領域をMongoDBにする・PCが落ちても容易に再開できる・適宜再起動すればゴミ集め完了・DBと連動するアプリケーションもDBを意識せずかける・緩和してRAMとハイブリットなモデルにする予定
Serialispを活用しよう?せっかく作った(ている)ので、実用したいSerialispは汎用向けではない (FFIと相性が悪いので)私の妄想・JSON系 NOSQLクエリ言語関数定義もDBに入っていて自由に定義できると良い・汎用言語に組み込むJSONなので、組み込みやすい永続性や継続を使える・IPLD等を使って、ブロックチェーンとしてキャッシュを持つ人に話したら返ってきたコメントなので詳しくは知らない