「AliceModel」の版間の差分

編集の要約なし
5行目: 5行目:
=モデルと仕様=
=モデルと仕様=
AliceModelは、AliceScriptのインタプリタとAPIを定めただけにすぎず、そのインタプリタやAPIの詳細な仕様や実装方法について定めるものではありません。それらの仕様はAliceModelを実装する各実装(AliceScriptや[[AliceSister]]など)によって管理されています。
AliceModelは、AliceScriptのインタプリタとAPIを定めただけにすぎず、そのインタプリタやAPIの詳細な仕様や実装方法について定めるものではありません。それらの仕様はAliceModelを実装する各実装(AliceScriptや[[AliceSister]]など)によって管理されています。
それぞれの実装は仕様通りに記述されたAliceScriptのコードを逐次的に読み取り、それに応じた動作を提供します。この点で、AliceModelはAliceScript言語の仕様といえます。
=Alice.Runtime=
AliceModelの各実装は、開発者にとってわかりやすい方法で、AliceModelに実装されるAPIを公開します。このとき、ある実装ではある機能が重視されていて、他のAliceModelの実装ではその機能が重視されていない状況もあります。AliceModelの実装は、その実装間で互換性のない機能を含むことができます。それらをまとめてAlice.Runtime.Extとよぶことにします。ただし、これらの実装間の差異はできる限り埋められるべきで、それがあったとしてもその実装のその機能の部分をAliceModel準拠と称することはできません。これは、同一バージョンのAliceModel実装間で同一のコードを実行できるようにするというAliceModelの策定意図を体現するためです。