Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Serialisp
Search
Niyarin
October 09, 2020
Programming
710
1
Share
Serialisp
Serialize特化言語
Niyarin
October 09, 2020
More Decks by Niyarin
See All by Niyarin
Scheme用nREPLの開発(エラー出力の改善)
niyarin
0
170
bel lispの紹介
niyarin
0
780
nanopass-compiler-frameworkを使ってみました
niyarin
0
470
Gorgos-parser-combinator-written-in-scheme
niyarin
0
410
outputting-beautiful-s-expression
niyarin
0
410
Mongo DBとS式検索
niyarin
0
350
goodbye-python-repl
niyarin
0
390
SchemeのEphemeronとWeak Pairの説明
niyarin
0
1.1k
red-paren-scheme-rev-macro.pdf
niyarin
0
450
Other Decks in Programming
See All in Programming
CursorとClaudeCodeとCodexとOpenCodeを実際に比較してみた
terisuke
1
430
Feature Toggle は捨てやすく使おう
gennei
0
570
「話せることがない」を乗り越える 〜日常業務から登壇テーマをつくる思考法〜
shoheimitani
4
760
存在論的プログラミング: 時間と存在を記述する
koriym
5
870
おれのAgentic Coding 2026/03
tsukasagr
1
140
Vibe NLP for Applied NLP
inesmontani
PRO
0
380
PHPで TLSのプロトコルを実装してみるをもう一度しゃべりたい
higaki_program
0
200
KagglerがMixSeekを触ってみた
morim
0
370
AIエージェントで業務改善してみた
taku271
0
520
Radical Imagining - LIFT 2025-2027 Policy Agenda
lift1998
0
280
10 Tips of AWS ~Gen AI on AWS~
licux
5
340
AI時代の脳疲弊と向き合う ~言語学としてのPHP~
sakuraikotone
1
1.9k
Featured
See All Featured
Speed Design
sergeychernyshev
33
1.6k
My Coaching Mixtape
mlcsv
0
98
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.3k
Done Done
chrislema
186
16k
Side Projects
sachag
455
43k
Context Engineering - Making Every Token Count
addyosmani
9
820
Become a Pro
speakerdeck
PRO
31
5.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
180
Mobile First: as difficult as doing things right
swwweet
225
10k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Transcript
Serializeに特化した言語 「Serialisp」 Niyarin
Serialisp(未完成)の前提 JSONで表現される [“list”, 1, 2, 3] ・ClojureのCheshireを用いて書きやすくした ・常に変更時にコピーして(COW)オブジェクトを共有しない オブジェクトの比較もequal?なものだけ 循環参照もできない
closureもJSONで表現される {“args”:[x], “code”:x, “bindings”:{}} ・ローカル変数の変更は許容しない
Continuation in Serialisp Serialispは継続のシリアライズができる ・CPS(継続渡しスタイル) + closureのシリアライズ ・”強い”Scheme処理系に搭載されるような機能 Gambitとか ・活用する場面
継続ベースのアプリケーション(Kahua)とか ※ 継続を動かすためには環境情報を一部送る必要がある
Serialize copy GC 1.グローバルと現在の継続をJSONにして 好きな記憶領域に置く 2.システムを落とす & 再起動 3.記憶領域からJSONを読み込む Serialispはゴミ集めが楽
Serialispと永続性 記憶領域をMongoDBにする ・PCが落ちても容易に再開できる ・適宜再起動すればゴミ集め完了 ・DBと連動するアプリケーションもDBを意識せずかける ・緩和してRAMとハイブリットなモデルにする予定
Serialispを活用しよう? せっかく作った(ている)ので、実用したい Serialispは汎用向けではない (FFIと相性が悪いので) 私の妄想 ・JSON系 NOSQLクエリ言語 関数定義もDBに入っていて自由に定義できると良い ・汎用言語に組み込む JSONなので、組み込みやすい
永続性や継続を使える ・IPLD等を使って、ブロックチェーンとしてキャッシュを持つ 人に話したら返ってきたコメントなので詳しくは知らない