開発や思考の記録を、公開して見ることにしました。
第一ステップ(完)
- テキストを入出力するモジュールを直列につないで順に実行可能(前回の記事を参照)
第二ステップ以降
- テキスト以外の入出力に拡張していく -> より汎用的に使えるようにするため
- io.jsonの作成を自動化できるように設計していく -> より簡単に使える・開発効率が上がるようにするため
- 直列ではなく、条件分岐やループもできるように拡張 -> より複雑な処理を記述可能にするため
- その場で実行するのではなく、コンパイルして新たな実行ファイルを生成する機能を実装
- 入出力jsonのバイナリ化による高速化
ゴール
- モジュールをホスティングするサイトを開設
- モジュールをつなげて、新しいアプリを作成可能
- そのアプリはまた、一つのモジュールとして使用できる
- 開発が速くなる
- コードを書く量が少なくなる
- ここにあるものを使えば一定の品質を担保できる
- サイト上で、グラフィカルにアプリを作成できる
happとは何か
app-composerで作られたアプリケーションをhappといいます。happは、入力を受け取って出力をする機械です。
happは様々な入出力機械を抽象化します。happはより小さなhappの集まりからなります。小さなhappが様々な結合を持ち、全体として一つのhappを構成します。小さなhappは単に集まっているのではなく、それぞれが役割を持ち、特定の結合構造を持ちます。この結合はグラフ構造として表現されます。
happは、それを構成する小happの存在場所を規定しません。小happAはhappの中にあるかもしれません。小happBはhappの外にあるかもしれません。小happBが例えhappの外にあっても必要な時に呼び出され、その役割を果たします。
happの構成要素がその外にある場合でも、それを含めた全体としては一つの閉じたシステムと見ることができるでしょう。
happの本質はそれを構成する小happではなく、それらを適切に接続し、制御して一つのシステムとして機能させる特定の構造とその制御機構です。
- G(H):happ Hの構造を規定するグラフ
- S:happの制御機構