shs(仮)とArc
今回の結論: 暇が出来たら、Arcが「HTTP上の/bin/sh」として使えないか試してみる
色々書いてたが、長くなったので要約だけ残す。
- phpはアレだが、「php的なアプローチ」(?)は悪くないとは思ってる。
- んじゃ、「HTTP上の/bin/sh」を再発明してみる?
- 名前はshs(仮)
- 構文はsh風(仮)
- 継続ベースのwebアプリフレームワークになる
- ユーザからの入力を受け取る為には、bashの組み込みコマンドの「select」や「read」のようなものが必要になる。そこで、「shs:select template.html」のように記述する組み込みコマンドを用意し、form入りhtmlをユーザに見せ、返り値をそれらしく受け取り、その後に続きの継続を実行するものとする
- 単なる外部コマンドの実行時に得られるstdout等は一旦バッファリングされ、shsの特定の組み込みコマンドを使う事によって、バッファリングされた全体が得られるものとする(こういう方式にしないと、入出力と継続ベースの相性が悪い)
- 目指す方向はArc類似の方向性とする
- とにかく短く記述できる事を優先する
- 最後の条件(Arc類似の方向性)がどうも気になる
- よく考えたら、shsじゃなく、Arc単体で充分じゃね?
- ArcならS式が使える(S式は素晴らしい!)
- 自分がわざわざ新しい言語を実装する必要もない
- 「said」アプリの例を見ても、Arcは「HTTP上の/bin/sh」的に使える可能性を既に持っている?
もう少し、eval/svの開発とかが落ち着いたら、Arcは是非試してみたい。
実は、前はそこまでArcを真剣に試そうとは思ってなかったが、cut-seaさんの「Arcからの挑戦で実はちょっと驚いた」を読んで、
そういう方針でArcが作られてるらしいという事を再認識して、Arcの可能性を真剣に考えるようになってしまった。
追記:
あとで読んでみたら、「どうしてshsは、Arc類似の方向性を目指さなくてはならないのか」がどうも分からない。
考えていた最中は確かに関連性はあった気はするが、もう思い出せない。
shsはshsとして、存在価値はArcとは別にあるような気はする。積極的に「作ろう!」と思う程ではないので、自分では作らないだろうけど。
しかし、それはそれ、これはこれ、という事で、とりあえず、Arcは試したい。