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
1
640
Serialisp
Serialize特化言語
Niyarin
October 09, 2020
Tweet
Share
More Decks by Niyarin
See All by Niyarin
Scheme用nREPLの開発(エラー出力の改善)
niyarin
0
140
bel lispの紹介
niyarin
0
690
nanopass-compiler-frameworkを使ってみました
niyarin
0
410
Gorgos-parser-combinator-written-in-scheme
niyarin
0
370
outputting-beautiful-s-expression
niyarin
0
360
Mongo DBとS式検索
niyarin
0
290
goodbye-python-repl
niyarin
0
340
SchemeのEphemeronとWeak Pairの説明
niyarin
0
950
red-paren-scheme-rev-macro.pdf
niyarin
0
390
Other Decks in Programming
See All in Programming
バックエンドNode.js × フロントエンドDeno で開発して得られた知見
ayame113
4
1.2k
goにおける コネクションプールの仕組み を軽く掘って見た
aronokuyama
0
110
新卒から4年間、20年もののWebサービスと 向き合って学んだソフトウェア考古学
oguri
7
6.4k
Go1.24 go vetとtestsアナライザ
kuro_kurorrr
2
350
複雑なフォームと複雑な状態管理にどう向き合うか / #newt_techtalk vol. 15
izumin5210
4
2.4k
PsySHから紐解くREPLの仕組み
muno92
PRO
1
480
Go1.24で testing.B.Loopが爆誕
kuro_kurorrr
0
140
AWS CDKにおけるL2 Constructの仕組み / aws-cdk-l2-construct
gotok365
4
920
リアクティブシステムの変遷から理解するalien-signals / Learning alien-signals from the evolution of reactive systems
yamanoku
1
190
OpenTelemetryを活用したObservability入門 / Introduction to Observability with OpenTelemetry
seike460
PRO
0
190
Fluent UI Blazor 5 (alpha)の紹介
tomokusaba
0
110
CRE Meetup!ユーザー信頼性を支えるエンジニアリング実践例の発表資料です
tmnb
0
150
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
50
2.4k
The Cult of Friendly URLs
andyhume
78
6.3k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.5k
Bash Introduction
62gerente
611
210k
Designing Experiences People Love
moore
140
23k
Docker and Python
trallard
44
3.3k
Adopting Sorbet at Scale
ufuk
75
9.3k
Done Done
chrislema
183
16k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
8
690
Building Adaptive Systems
keathley
40
2.5k
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等を使って、ブロックチェーンとしてキャッシュを持つ 人に話したら返ってきたコメントなので詳しくは知らない