Authenteo is built upon the Narrative JavaScript library/preprocessor. This is a powerful library that provides coroutine & continuation capabilities to JavaScript. This library makes it possible for code to call getters that may make asynchronous remote calls with a continuous code, instead of callbacks. Because all code is preprocessed with Narrative JavaScript that goes in the Authenteo database and Narrative runtime is utilized, you may use Narrative Syntax and library functions in your code to perform coroutines and confirmations. However, Narrative is modified in Authenteo. The most significant modification is the yield (->) operator is switched purposes in Authenteo. In Authenteo all function calls are assumed to be yield capable calls or blocking calls.
The (->) operator between the function name and the opening parenthesis (func ->()) indicates a direct call to a function. This direct call has a couple of purposes. First it can be used to create a new (Narrative JavaScript) thread. If the called function encounters an asynchronous operation the calling code will resume control (instead of waiting for the called function to finish) while the called function is waiting to finish (it will still finish). A direct call can also be used to improve performance. If the called function is known not to block (as external library functions or native JavaScript calls behave), the call may be made with a direct call which has slightly less overhead. The performance difference is small but may be important for heavily executed code
Blocking Call Explanation
This is what the calling code will always wait for the called function to finish before resuming execution. This is the default behavior for function calls and is generally appropriate in most situations. Continuations may also be used for pausing code execution while waiting for user feedback.
Refer to the Narrative JavaScript documentation for more information on utilizing continuations and coroutines.
Authenteo 1.1 is available.
Now with
Firebug integration
. Make changes to CSS and HTML with Firebug and save the changes
Check out press releases and the following articles on Authenteo: