I dunno. Does taking away some sugar and infixity make some things more clear?
Some Standard ML:
(We removed the infix thing from +
and ::
(the plus function and the list “cons”). They take tupled arguments. Infix 1 + 2
is nonfix + (1, 2)
, and so on.)
Here, I guess we can say that
is kind of equivalent to
And it is maybe more clear how
is similar to the list
It is like the list we but with the list constructors, ::
and nil
, replaced with +
and 0
(the first two values we gave to foldr
).
Also maybe unsurprising that
will be equivalent to
and evaluate to a list that looks like the one we started with?
(At least, more clear than when saying that
is equivalent to
And also like maybe not I dunno.