shs(仮)とArc

今回の結論: 暇が出来たら、Arcが「HTTP上の/bin/sh」として使えないか試してみる


色々書いてたが、長くなったので要約だけ残す。

  1. phpはアレだが、「php的なアプローチ」(?)は悪くないとは思ってる。
    • 今のphpは、進化する方向を間違えてしまったように思える。
    • 皆が(昔の)phpに求めたのは、「HTTP上の/bin/sh」的役割ではなかったのか?
  2. んじゃ、「HTTP上の/bin/sh」を再発明してみる?
    • 名前はshs(仮)
    • 構文はsh風(仮)
    • 継続ベースのwebアプリフレームワークになる
      • ユーザからの入力を受け取る為には、bashの組み込みコマンドの「select」や「read」のようなものが必要になる。そこで、「shs:select template.html」のように記述する組み込みコマンドを用意し、form入りhtmlをユーザに見せ、返り値をそれらしく受け取り、その後に続きの継続を実行するものとする
      • 単なる外部コマンドの実行時に得られるstdout等は一旦バッファリングされ、shsの特定の組み込みコマンドを使う事によって、バッファリングされた全体が得られるものとする(こういう方式にしないと、入出力と継続ベースの相性が悪い)
        • 脱線すると、なんとなくここで、継続ベースのwebアプリはHaskell的な入出力(IOモナド)と相性がいい気がちょっとした。既にそういう実装がないかどうか、後で探したい。
    • 目指す方向はArc類似の方向性とする
      • とにかく短く記述できる事を優先する
  3. 最後の条件(Arc類似の方向性)がどうも気になる
  4. よく考えたら、shsじゃなく、Arc単体で充分じゃね?


もう少し、eval/svの開発とかが落ち着いたら、Arcは是非試してみたい。


実は、前はそこまでArcを真剣に試そうとは思ってなかったが、cut-seaさんの「Arcからの挑戦で実はちょっと驚いた」を読んで、

そういう方針でArcが作られてるらしいという事を再認識して、Arcの可能性を真剣に考えるようになってしまった。


追記:
あとで読んでみたら、「どうしてshsは、Arc類似の方向性を目指さなくてはならないのか」がどうも分からない。
考えていた最中は確かに関連性はあった気はするが、もう思い出せない。
shsはshsとして、存在価値はArcとは別にあるような気はする。積極的に「作ろう!」と思う程ではないので、自分では作らないだろうけど。
しかし、それはそれ、これはこれ、という事で、とりあえず、Arcは試したい。