HTTP関数
代替haskellやな
背後にはJSの関数がある
静的サイト
sveltekitを使ったSPA
動作は全てクライアントで
クエリに変数を渡す
リッチなUIもついていて,クエリに渡す変数を設定できる
どんな関数なのかの説明もついている
変数をセットするとインタラクティブに動き,自動で計算して,結果も表示する
.jsonを指定すると,マシン向けのjsonファイルを開く
まるでAPIのように振る舞う
変数が確定していない場合には,JSの関数を返す
一部変数が確定している場合には,全て代入して,該当する変数を削除する
json表記は普段は非表示だが,プルダウンになっていてクリックするとリアルタイムに更新されて表示するようにする
プルダウンのタイトルはaタグで実装して,リンク先は.jsonを末尾につけたURL
リンクをクリックして開く機能は無効化して,プルダウンの開閉に使う
新しいウィンドウで開くなどの動作はブラウザ標準の機能を使う
URLのパスから関数名が渡される
テストのため,(a, b) => a + bを名前にかかわらず内部の関数として使って
scrapboxみたいにURLをリアルタイムに操作することってすごいことなのでは?
面白機能
関数名からコードを作ったり,コードから関数を作ったりする機能
ドキュメントも作ってもいいかも
CURLからはどう見えるか
ダメそう
ブラウザエンジン付きのCURLみたいなのあるか
FETCHやCURLは計算しない
iframeを使えば計算できそう
インスタント実行できるAPIドキュメントと変わらなくね?
クライアントに計算させる
ドキュメントいじりながら作った関数をそのままコピペできる
ドキュメントを呼び出すURLからAPIを呼び出すURLを用意に予測できる
逆もまた然り
.jsonを外せば,リッチなエラーコードを見ることができる
コメントとドキュメントとコードの統合
頑張ってドキュメント作る代わりに,小さい関数にもドキュメントをつけられる
検索可能な関数
無名関数はできていないことになっている?
コードにhttpも受け入れるようにすればいい?
基本的には結果欄には,解決したものを表示する?
jsonでは解決前のを渡す?
いや,解決できるところは解決していいでしょ
画像はわざわざbase64で送らないのはサイズの問題
画像も表示できるようにしたり
アドレスバーの再開発やってる?
そもそもhaskellの再開発しているだけ
いや,scrapboxの再開発かもしれない
blobとdataは違う?
dataにはリダイレクトさせられないらしい
iframeの時は行けるみたい
URLは関数名に置き換えられて表示されるため,クリック可能
クリックして編集して戻ることはできるのか
なんかscrapboxでも同じ悩みあったな
URLを取ってくるという作業
取ってきて,探しにきた場所に置く
重複しなければパスが表示されるし,重複するならドメインから表示される
はたしてドメインは何を使えばいいのかは不明
コンパイルとは,URLを解決することである
データの保管もできる
scrapboxのように履歴が残る
基本的には最新のものがその値として振る舞う
リネームもできる
変数に入るものを丁寧に説明したい
unixの哲学を飲んで思ったが,インターネットに接続されたシェルを作りたいのか? データはURLで指定できるが,コマンドはURLで指定できない
JsをラップするUnixみたいな環境