A "pair" argument separator for (datamap:), (cond:) and other things
The readability issue of specifying (datamap:) entries (and (cond:) #28 (closed) entries) by providing name/value pairs, using commas to separate all kinds, is not lost on me. I'm thinking of adding something like this:
(datamap: "weapon" -> "feather", "armour" -> "underoos", )
A pair such as "weapon" -> "feather"
could evaluate to a special "pair" datatype, much as how $a to 4
produces a "VariableToValue" datatype, so that error messages can reason about it more. ((datamap:) would still permit single values to be added as well as pairs, so that spreading an array, etc., would still work.)
The use of "->" is indeed designed to resemble the link syntax, insofar as one can understand a link as being a mapping of link text to passage name. I believe this could be used in (link-goto:) as well: (link-goto: "Keep going" -> "Woods")
. I guess this suggests a reverse separator, "<-", also be available: (link-goto: "Woods" <- "Keep going")
.