On Mon, 21 Sep 2020 at 15:08, Wendell Piez wapiez(_at_)wendellpiez(_dot_)com <
Aside from the name question (I'd maybe like first-available()?) the
question arises, what would be the difference between
first-defined(($a,$b,$c)) and head(($a,$b,$c)) or ($a,$b,$c) => head() as
the case may be?
It would need to be an overloaded function like concat taking any number of
arguments so first-defined($a,$b,$c) if you ,-join the lists first you no
longer can return $a if non empty, head(($a,$b,$c)) is the head of the
sequence ($a,$b,$c) which is the flattened sequence of items from $a $b and
$c so would just return the first item in $a not all of $a.
On Mon, Sep 21, 2020 at 9:41 AM Graydon graydon(_at_)marost(_dot_)ca <
On Mon, Sep 21, 2020 at 01:25:56PM -0000, Chris Papademetrious
Good point. Perhaps this could be handled by chaining them?
$a otherwise $b otherwise $c otherwise $default
I think "otherwise" is fine for the pair case!
It's clearer and easier to read than ($a,$b) and it'll be easier to
search for in documentation.
Chaining otherwise as you propose doesn't strike me as clearer or easier
to read; the location of the implicit parentheses is extremely important
in that example and as soon as the values are the least bit complex all
the parens will likely need to be made explicit.
On the other hand, we've already got a concept of sequence, and commas,
so ($a,$b,$c,$default) => first-defined()
strikes me as clearer and easier to read than chaining "otherwise".
Could even add a two-parameter version so the second parameter defines
how to handle values which are false(). :)
Graydon Saunders | graydonish(_at_)gmail(_dot_)com
Þæs oferéode, ðisses swá mæg.
-- Deor ("That passed, so may this.")
...Wendell Piez... ...wendell -at- nist -dot- gov...
...wendellpiez.com... ...pellucidliterature.org... ...pausepress.org...
XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list>
EasyUnsubscribe <http://lists.mulberrytech.com/unsub/xsl-list/2739265> (by
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com