Re: Functional-style pattern matching

2010-03-10 Thread Mark J. Reed
Oh, wow. I was just asking about the spec; didn't know this stuff already worked. Rakudos to the team! :) On Wed, Mar 10, 2010 at 9:18 AM, Carl Mäsak wrote: > Mark (>): >> Does the unpacking participate in dispatch?  If a Hash comes in as $t >> with no 'left' key, will it fail to match? > > Yes

Re: Functional-style pattern matching

2010-03-10 Thread Carl Mäsak
Mark (>): > Does the unpacking participate in dispatch?  If a Hash comes in as $t > with no 'left' key, will it fail to match? Yes. $ perl6 -e 'sub foo(%h($left)) { say $left }; foo({ left => "OH HAI" })' OH HAI $ perl6 -e 'sub foo(%h($left)) {}; foo({ no => "left key" })' Not enough positional

Re: Functional-style pattern matching

2010-03-10 Thread Mark J. Reed
Does the unpacking participate in dispatch? If a Hash comes in as $t with no 'left' key, will it fail to match? On Tuesday, March 9, 2010, Little Walker wrote: >> Which is pretty powerful, really. > > Absolutely - I think you're referring to the 'type subset' stuff which > is great. > >> This i

Re: Functional-style pattern matching

2010-03-10 Thread Little Walker
> Which is pretty powerful, really. Absolutely - I think you're referring to the 'type subset' stuff which is great. > This is where Perl 6 is not the same as functional > languages, since it's got an imperative OO element as well. True, there can be friction between the functional style and OO,

Re: Functional-style pattern matching

2010-03-10 Thread Little Walker
> That's almost exactly the example from: > >    http://perlcabal.org/syn/S06.html#Unpacking_tree_node_parameters 1. I feel incredibly embarrassed to have missed this 2. This is awesome!

Re: Functional-style pattern matching

2010-03-10 Thread Moritz Lenz
Hi, Little Walker wrote: > I've been looking around to see if there's been any discussion of > introducing functional programming-style pattern matching for method/ > function dispatch. Could someone point me to any such discussions? It's done multi dispatch in Perl 6, and you can find an introd