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
610
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
550
nanopass-compiler-frameworkを使ってみました
niyarin
0
330
Gorgos-parser-combinator-written-in-scheme
niyarin
0
300
outputting-beautiful-s-expression
niyarin
0
290
Mongo DBとS式検索
niyarin
0
230
goodbye-python-repl
niyarin
0
260
SchemeのEphemeronとWeak Pairの説明
niyarin
0
760
red-paren-scheme-rev-macro.pdf
niyarin
0
330
Other Decks in Programming
See All in Programming
障害対応を起点としたもっといい開発と運用のサイクル作りのためにできること / Hatena Enginner Seminar #29
polamjag
0
230
ゆるい個人開発のススメ
kuroppe1819
10
990
What We Can Learn From OSS
inouehi
0
420
Milestoner
bkuhlmann
1
410
Blue/Greenデプロイの導入による 運用フローの改善
kudoas
1
390
Polars入門
daikikatsuragawa
1
100
Amazon SQSコンシューマー疎結合への旅 - 出張! #DevelopersIO IT技術ブログの中の人が語る勉強会 #3
quiver
0
280
コーンフレークから始める モデリング会話入門
ogurotakayuki
0
380
From Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE
ivargrimstad
0
140
GitHub Actionsで泣かないためにやっておきたい設定 / Recommended GHA settings to avoid crying
pinkumohikan
3
540
SwiftUIで使いやすいToastの作り方 / How to build a Toast system which is easy to use in SwiftUI
lovee
3
150
Rubyでたのしむクリエイティブコーディング/Enjoy Creative coding with Ruby
chobishiba
1
180
Featured
See All Featured
Teambox: Starting and Learning
jrom
128
8.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.9k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
20
1.9k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
241
1.2M
Bash Introduction
62gerente
604
210k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
37
2.5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
19
1.7k
How to train your dragon (web standard)
notwaldorf
73
5.2k
Practical Orchestrator
shlominoach
182
9.7k
Being A Developer After 40
akosma
57
580k
The Invisible Customer
myddelton
114
12k
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等を使って、ブロックチェーンとしてキャッシュを持つ 人に話したら返ってきたコメントなので詳しくは知らない