Depending on the model, var sigs may be used to depict events but keep in mind that, as any sig, a var sig has a bounded scope. Depending on how traces are specified, the bound could implicitly prune interesting behaviours (e.g. suppose that the possible number of move events in a given step can be larger than the scope on Move
, then you may miss traces (depending on your exact model)).
The idiom we recommend does not feature var sigs. The idea is rather the following:
- Create an
Event
enum representing the names of all possible events - For any event (as a predicate), create a fun with the same name, and an arity that accounts for the name and parameters of the event. This fun returns all instances for which the event is true.
- Add and
events
fun which contains the union of all names of events that are known to happen (these are obtained out of the funs defined just above).
This is enough for visualization: all you need now is to play with the theme to tweak the display of all these funs.
This idiom is also described on this page of the forum, you may find it clearer?