!7 static withToList record Did$HappenBefore$(O event1, O event2) {} static withToList record WhenDid$Happen(O event) {} static withToList record $HappensAtSecond$(O event, O y) {} sO parseArg(S s) { ret isInteger(s) ? parseInt(s) : s; } sO parse(S s) { ret defaultClassesAndPatterns().parse(s, if1 parseArg); } p-exp { testFunctionValues parse( "Did X happen before Y?" := Did$HappenBefore$("X", "Y"), "when did Z happen" := WhenDid$Happen("Z"), "{event 1} happens at second 100" := $HappensAtSecond$("event 1", 100) ); }