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
620
Serialisp
Serialize特化言語
Niyarin
October 09, 2020
Tweet
Share
More Decks by Niyarin
See All by Niyarin
Scheme用nREPLの開発(エラー出力の改善)
niyarin
0
120
bel lispの紹介
niyarin
0
590
nanopass-compiler-frameworkを使ってみました
niyarin
0
350
Gorgos-parser-combinator-written-in-scheme
niyarin
0
320
outputting-beautiful-s-expression
niyarin
0
300
Mongo DBとS式検索
niyarin
0
250
goodbye-python-repl
niyarin
0
270
SchemeのEphemeronとWeak Pairの説明
niyarin
0
800
red-paren-scheme-rev-macro.pdf
niyarin
0
350
Other Decks in Programming
See All in Programming
Webエディタライブラリ 「CodeMirror」から学ぶ Webアプリ開発のテクニック
ryosukeigarashi
0
250
今こそ始める、CDKコンストラクトライブラリ開発 ― 入門から実践まで
tmokmss
1
930
APIのない大学ログインWebサービスをWKWebViewとJavaScriptでアプリ化した話
akidon0000
1
330
生成AIをkintoneに連携してみた
hideg
0
230
小さな開発会社を作った理由
polidog
0
1.9k
Polarsの成長: v0.14からv1.0までの変遷と今後の展望
zerebom
1
350
AWSでゲームサーバーを運用! Amazon GameLiftのお話
iriikeita
0
200
CSC307 Lecture 11
javiergs
PRO
0
240
初心者がおさえておきたいAWS CDKのベストプラクティス 2024
konokenj
15
7.3k
The rollercoaster of releasing an Android, iOS, and macOS app with Kotlin Multiplatform | droidcon Berlin
prof18
0
110
Architectures with Lightweight Stores: New Rules and Options
manfredsteyer
PRO
0
100
AWS初心者ってどうやってAWSを学ぶ?〜アプリエンジニアがやってよかったアーキテクチャ学習方法〜
yamanashi_ren01
0
190
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
37
2.2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
90
47k
How To Stay Up To Date on Web Technology
chriscoyier
784
250k
No one is an island. Learnings from fostering a developers community.
thoeni
17
2.8k
Navigating Team Friction
lara
181
13k
We Have a Design System, Now What?
morganepeng
46
7k
Thoughts on Productivity
jonyablonski
64
4.1k
Music & Morning Musume
bryan
43
5.9k
Facilitating Awesome Meetings
lara
46
5.8k
Principles of Awesome APIs and How to Build Them.
keavy
124
16k
Speed Design
sergeychernyshev
9
270
GitHub's CSS Performance
jonrohan
1026
450k
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等を使って、ブロックチェーンとしてキャッシュを持つ 人に話したら返ってきたコメントなので詳しくは知らない