I propose the following:
A) We create an opencard engine, an xTalk interpreter that can be #included
into any project, without any hastle. We shall also have another library, a
library of essential commands, like BEEP, PLAY, SEND, etc. The only things
that I would consider non-essential are commands that manipulate the
environment outside of opencard, like quicktime (although speech and sound
manager support should be included), and games sprockets, etc. We want to have
a good scripting base to make our language attractive to people who just want
to have some MACRO functionality in their programs, or just want to make it
look cooler.
B) The commands like GO CARD should activate another routine in a different
library consisting of routines that need to be changed to bind xTalk with the
program. This would be anything to do with i/o, like file handling and windows
and cards and playing sounds. These should have already-made programming to
serve as an example, and in case the programmer doesn't want to bother with a
particular aspect (ie, the sound manipulation routines could be ok by the
programmer).
C) The engine should be able to communicate with other copies of the engine,
even over networking environment if desired. This would allow programs to work
together.
D) The engine should be small. S M A L L. This does not include the commands
library, but most command should be expendable, and you should be able to
delete them in order to free up room.
E) WE decide the syntax of all additions and modifications to our engine. All
programmers using our engine must submit a form with details on any changes
made, and wait for approval of us. We reserve the right to standardize the
syntax, so JAVA OpenTalk does QT the same way as OpenDoc OpenTalk. This
ensures portability, there should have to be no modifications to a script to
make it work on other versions of the engine