## tlcore with demands

When the **–demands** option is set in tlcore, then it can handle demands. In this case, in each instant, there are *four* parts, not three. The fourth part is introduced with another %% pair, as follows:

*header*

%%

*equations*

%%

*demands*

%%

*expressions*

$$

*header*

%%

*equations*

%%

*demands*

%%

*expressions*

$$

...

A demand requests that a variable be computed in a specific context. It is written as a pair

(*x*,*tuple*);;

and it is registered internally by the system with a UUID. At each instant, should the *tuple* be valid in that instant, then this pair is evaluated, producing the result, along with the other expressions. The response for an instant therefore looks like this:

*dem*_{1} → *demanswer*_{1};;

...

*dem*_{m} → *demanswer*_{m} ;;

%%

*answer*_{1};;

...

*answer*_{n};;

If the **–uuid** option is set, then the UUID of the demands is printed out, as it is for equations:

*eqnuuid*_{1};;

...

*eqnuuid*_{l};;

%%

*dem*_{1} → *demuuid*_{1} → *demanswer*_{1};;

...

*dem*_{m} → *demuuid*_{m} → *demanswer*_{m} ;;

%%

*answer*_{1};;

...

*answer*_{n};;

Should the **–verbose** option also be set, then the results will be of the form

*eqn*_{1} → *eqnuuid*_{1};;

...

*eqn*_{l} → *eqnuuid*_{l};;

%%

*dem*_{1} → *demuuid*_{1} → *demanswer*_{1};;

...

*dem*_{m} → *demuuid*_{m} → *demanswer*_{m} ;;

%%

*expr*_{1} → *answer*_{1};;

...

*expr*_{n} → *answer*_{n};;

## jarro2783 14:00

on2010/06/20 Permalink |Are demands always added to the previous demands? So at any time instant, all the demands from previous instants are evaluated if valid?

Also where is this context for demands coming from?

Suppose I write

(fact, [0:15]);;

Where does the 0 dimension come from?

## cartesianprogramming 19:37

on2010/06/24 Permalink |Yes, demands are added to previous demands. But, because there are UUIDs, you can also replace and delete demands, as you can for definitions.

The 0 dimension just is.

## yvdriess 13:02

on2010/06/30 Permalink |Could you give a usage example of tlcore? I’ve managed to compile everything, but I cannot seem to get anything out of tlcore.

## yvdriess 13:43

on2010/07/07 Permalink |Do you have some example input you can pass to tlcore for this? I tried out the repository code, but it isn’t reacting to any input.

## cartesianprogramming 11:26

on2010/08/26 Permalink |tlcore now works up to the level of

tlcore –reactive, so it is possible now to have an interactive session. The manual is not yet written, so we will put some examples on the blog.## cartesianprogramming 05:25

on2012/05/22 Permalink |The first release of TransLucid is now out. See the post from today for downloading TransLucid from Sourceforge. Also see the examples available at

http://translucid.web.cse.unsw.edu.au

## superspreadsheet 05:47

on2010/08/24 Permalink |Dimension 0 comes from the equations, right? What would happen differently if there were an aether? I’m still looking for the notion of a context in the way TransLucid is running now.