Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Implement junction invocation.
  • Loading branch information
jnthn committed Aug 3, 2011
1 parent d9a6cfa commit 275e3db
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion src/core/Junction.pm
Expand Up @@ -41,6 +41,12 @@ my class Junction is Mu {
multi method perl(Junction:D:) {
$!type ~ '(' ~ $!storage.map({$_.perl}).join(', ') ~ ')'
}

method postcircumfix:<( )>($c) {
AUTOTHREAD(
-> $obj, **@cpos, *%cnamed { $obj(|@cpos, |%cnamed) },
self, |$c);
}
}

sub any(*@values) { Junction.new(@values, :type<any>); }
Expand Down Expand Up @@ -92,7 +98,7 @@ sub AUTOTHREAD(&call, **@pos, *%named) {

sub AUTOTHREAD_METHOD($name, **@pos, *%named) {
AUTOTHREAD(
-> $obj, *@cpos, *%cnamed { $obj."$name"(|@cpos, |%cnamed) },
-> $obj, **@cpos, *%cnamed { $obj."$name"(|@cpos, |%cnamed) },
|@pos, |%named);
}

Expand Down

0 comments on commit 275e3db

Please sign in to comment.