Yellow is an engine for web sites with certain characteristics:
Each page has a "back" and a "next" button.
A page may collect data from the user via input-elements.
The choice of next page and what it shows may depend on previously entered data.
The user may go back to change their previously entered data.
Such web sites could be:
an interactive tutorial
an interactive story
a registration process
a payment process
an interactive problem solver.
together with some page templates and auxiliary files. Let's call all this together a story.
The program is executed once for every user that visits the web.
It is executed on the server.
It constructs the pages for the user.
The user-entered data appears as variables in the program.
The author of a story has to write:
for each page, an html template for the page
any CSS or images that appear in the pages.
The data that the user entered may appear in a page and influence its composition.
Which skills must a story author have?
standard html 5
a little bit of syntax for using user data in the pages.
This web site is a proof-of-concept implementation of the idea.
In principle, any imperative language can be used.
On the technical side, for the implementation, I need continuations,