Repository navigation
Release v4.25.0
A command can read the same view more than once by naming each read. This is the first increment of decision 0003; the executable semantic model still does not bind reads (the runtime mapping waits on Cratis/Chronicle#4138).
Added
reads <View> as <alias> [by <property>]names a read, so a command can read the same view twice, for examplereads Account as source by fromIdandreads Account as destination by toId. Arequirepath can use the alias as its qualifier:require source.balance >= amount.- PLAY0410: a command reads the same view more than once and not every read has an alias.
- PLAY0411: two reads of one command use the same alias.
- PLAY0412: a reads alias has the same name as one of the command's properties.
ReadsSyntax.Alias, an init-only property, carries the alias in the syntax tree, syntax JSON, the printer, the TextMate grammar and the Monaco language package (completion, keyword docs, symbols).
Changed
- A
requirepath qualified with a view the command reads more than once now says to use one of that view's aliases and lists them, instead of claiming the command does not read the view. - PLAY0175 also reports
as,byorreadsused as an alias. Aliases, likebyproperties, are lower-case identifiers. - Decision 0003 notes that its runtime precondition is only partly met (tracked in Cratis/Chronicle#4138).
Deprecated
- PLAY0176 is retired and no longer reported. Two identical
readslines used to give one PLAY0176 with the second line dropped; now both lines are kept and reported as PLAY0410. TheDiagnosticCodes.DuplicateReadsconstant remains for compatibility.