NAME ^

src/classes/Junction.pir - Perl 6 Junction and related functions

Methods ^

ACCEPTS

Implements smart-match for junctions.

values()

Get the values in the junction.

!values(...)

Private method to sets the values in the junction.

!type(...)

Private method to set the type of the junction.

clone

Clone v-table method.

perl()

Returns a Perl representation of a junction.

Functions ^

all(...)

Builds an 'all' junction from its arguments.

infix:&(...)

Operator form for building an 'all' junction.

any(...)

Builds an 'any' junction from its arguments.

infix:|(...)

Operator form for building an 'any' junction.

one(...)

Builds a 'one' junction from its arguments.

infix:^(...)

Operator form for building a 'one' junction.

none(...)

Builds a 'none' junction from its arguments.

!junction_dispatcher(...)

Takes a name or Sub PMC along with a set of arguments, and auto-threads the call.

TODO: Collect return values.

TODO: Handle the case where junctions contain other junctions.

TODO: When we get the type system in place, check for Junction in signature of callee; in these cases, we needn't auto-thread, but instead should pass the junction.

postfix:++(...)

Override postfix increment for junctions.

postfix:--(...)

Override postfix decrement for junctions.

prefix:++(...)

Override prefix increment for junctions.

prefix:--(...)

Override prefix decrement for junctions.

prefix:!(...)

Override not for junctions.

prefix:+(...)

Override numification for junctions.

prefix:-(...)

Override negation for junctions.

prefix:~(...)

Override stringification for junctions.

prefix:?(...)

Override boolification for junctions.

prefix:=(...)

Override iteration for junctions.

prefix:~^(...)

Override string bitwise negation for junctions.

prefix:+^(...)

Override numeric bitwise negation for junctions.

prefix:?^(...)

Override boolean bitwise negation for junctions.

infix:**(...)

Override exponentiation for junctions.

infix:%(...)

Override modulo for junctions.

infix:/(...)

Override division for junctions.

infix:*(...)

Override multiply for junctions.

infix:+&(...)

Override numeric bitwise and for junctions.

infix:+<(...)

Override numeric left shift for junctions.

infix:+(...)>

Override numeric right shift for junctions.

infix:div(...)

Override div for junctions.

infix:mod(...)

Override mod for junctions.

infix:~&(...)

Override buffer bitwise and for junctions.

infix:~<(...)

Override buffer bitwise left shift for junctions.

infix:~(...)>

Override buffer bitwise right shift for junctions.

infix:?&(...)

Override boolean bitwise and for junctions.

infix:+(...)

Override addition for junctions.

infix:-(...)

Override subtraction for junctions.

infix:x(...)

Override repeat for junctions.

infix:xx(...)

Override array repeat for junctions.

infix:~(...)

Override concatenation for junctions.

infix:==(...)

Override numerical equality for junctions.

infix:!=(...)

Override numerical inequality for junctions.

infix:(...)>

Override numerical greater than for junctions.

infix:<(...)

Override numerical less than for junctions.

infix:=(...)>

Override numerical greater than or equal to for junctions.

infix:<=(...)

Override numerical less than or equal to for junctions.

infix:eq(...)

Override string equality for junctions.

infix:ne(...)

Override string inequality for junctions.

infix:lt(...)

Override string less than for junctions.

infix:gt(...)

Override string greater than for junctions.

infix:le(...)

Override string less than or equal for junctions.

infix:ge(...)

Override string greater than or equal for junctions.


parrot