We've seen many problems come up with the current special treatment of
pairs. Here's what I can think of:
* Pairs are restricted to a particular position in the argument list, which
leads to confusion (why isn't this being passed named?) and poor
end-weight in something like this:
On Fri, Aug 19, 2005 at 10:31:34AM +, Luke Palmer wrote:
: I propose that we move the magic out of the Pair type, and into a
: syntactic form.
That's kinda the direction we were already moving with the *%foo proposal,
so I think I like it, but I'll need to steep my brain in a bit more
On Fri, Aug 19, 2005 at 10:31:34 +, Luke Palmer wrote:
In short, me too.
Now some comments:
foo($a, $b, $c)
You *know* that you're passing three positionals.
This is very very important for least surprise and all that.
It's much less work for the runtime. You don't have to scan
Hmm, if we take + away from named, it can become the required marker,
sub foo ($a,$b,?$c)
is really short for
sub foo (+$a,+$b,?$c)
and required named parameters then become
sub bar (+:$key)
And, of course, that means that
sub baz (+?$key)
is a required optional
On Fri, Aug 19, 2005 at 08:27:38 -0700, Larry Wall wrote:
Plus I still think it's a really bad idea to allow intermixing of
positionals and named. We could allow named at the beginning or end
but still keep a constraint that all positionals must occur together
in one zone.
This is something
On Fri, Aug 19, 2005 at 06:30:41PM +0300, Yuval Kogman wrote:
: On Fri, Aug 19, 2005 at 10:31:34 +, Luke Palmer wrote:
: In short, me too.
: Now some comments:
: foo($a, $b, $c)
: You *know* that you're passing three positionals.
: This is very very important for least
On Fri, Aug 19, 2005 at 08:39:24AM -0700, Larry Wall wrote:
: Actually, that's an argument that : is in a different class than the regex
: quantifiers, and required named should be
: sub bar (+$:key)
: as I speculated earlier. Maybe we just force that to bind to $key instead
: of $:key.
What is the resulting data structure in each of the following:
- [1, 2]
- [[1,2], [3,4]]
- [[1,2], 3]
[[1,2], 3] + [[4,5], 6]
[1, 2, ] + [[4,5], 6]
On Sat, Aug 20, 2005 at 04:13:02AM +, Luke Palmer wrote:
: What is the resulting data structure in each of the following:
: - [1, 2]
: - [[1,2], [3,4]]
This is assuming that AoA is treated as a two dimensional shape, of course.
One could imagine
Here is an update to Synopsis 3 incorporating recent additions. If
any of this is wrong or disagreeable, this is the time to say so.
Description: Binary data
Mail list logo