NAME ^

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

Methods ^

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