powered by Authenteo
by Xucia  

Learn more

Aspects

Authenteo supports aspect oriented programming. A function can be a persistent object (in JavaScript functions are first class objects). A persistent function can have an aspect by defining a persistent property of the function to be an aspect function, that is a function that is an instance of the aspect template. New aspects can be defined by a function that is an instance of the aspect template and setting it as a property on the function to be modified by the aspect.

Aspects can be used to modify the behavior of one or many functions. Authenteo aspects are compiled time aspects unless the runtime property is set to true. A compile time aspect is run when a function object is modified (the source property is changed, for instance, which hold the source code for a function). A compile time aspect take in a string and return a string (the source code before and after processing). Almost all persistent functions in Authenteo are instances of the function template object, which has an aspect that performs the persistent mutation Transformation and Narrative JavaScript continuation processing which is a compile time aspect.

A runtime aspect is run after the processed source code is evaluated and made into a function object. Therefore a runtime aspect takes a function as its argument and returns the modified function. It would be possible to add logging for every function call by adding, a runtime aspect to the function template object. By having multiple functions that inherit form a single template it is possible for an aspect to be applied cross-cutting manners to numerous functions.

News

Authenteo 1.1 is available.

Firebug - Web Development Evolved 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:

Authenteo beta