Conservation des dates de changement

Toutes les expressions peuvent fonctionner sur des chronologies de telle sorte que les dates de changement des valeurs chronologiques d'entrée soient naturellement associées aux dates de changement de la valeur chronologique obtenue.

Les exemples ci-dessus ont introduit la notion d'exploitation des chronologies (chronologies est marié, a une personne à charge de moins de 16 ans) pour produire une chronologie de sortie (chronologie est chef de famille monoparentale avec mineur à charge).

Plus formellement, pour n'importe quelle expression CER exploitant une ou plusieurs valeurs, CER permet à cette expression de fonctionner également sur une chronologie de ces valeurs. En général, toute exploitation pouvant être appliquée à des types primitifs (par ex. Date, Number, String, Boolean, etc.) en vue d'obtenir un résultat, peut à la place être appliquée à des chronologies appartenant à ces types (par ex. Timeline<Date>, Timeline<Number>, Timeline<String>, Timeline<Boolean>) pour arriver à un résultat qui est une valeur chronologique.

CER contient des expressions spéciales nommées timelineoperation et intervalvalue, qui empêchent les autres expressions CER de reconnaître qu'elles fonctionnent sur Timelines.

Par exemple, CER contient une expression sum permettant d'ajouter une liste de nombres. Si une personne possède plusieurs revenus, il est possible d'en faire la somme à un moment donné afin d'obtenir les revenus globaux de la personne à ce moment. Toutefois, dans le cas de chronologies présentant l'évolution des montants de ces revenus au fil du temps, il est possible d'utiliser aussi facilement l'expression sum pour obtenir l'évolution des revenus globaux au fil du temps :

Figure 1. Une chronologie des revenus globaux, calculée à l'aide de sum Exemple de chronologie de revenus globaux.