Perl 6
WITCH colon: Revision 2


"pair", "name", "imposter", "aspect", "ditto", "mirror"
-- used to alias identifiers
-- used to create adverbs and pairs
-- used to control what is visible
-- everyone wants the colon

Used alone

: is essentially the sigil for Pair objects
: after a identifier at a statement boundary creates a label as in common parlance
: after an identifier is an invocant marker for indirect object syntax

Operators containing this character

:: sigil and nesting separator for packages (and consequently, types)
:() creates a Signature object and is used in closure parameters
:= aliases an identifier via runtime binding
::= aliases an identifier via compile time binding
.: dotted postfix form of prefix operator
.:: a class qualified method call
=:= container identity comparitor

When used inside regexes

: can apply adverbs (a.k.a. modifiers, like :i) to individual parts rather than the whole expression
: :? :! :: ::: used like a repeat count performs backtracking control
<::> inside extensible metasyntax denotes a symbolic indirect subrule

Special Variables

:: may often be seen after sigils with other special symbols but is only for scoping. Look in this section on the other characters' pages.

As an adverb

: introduces an adverbial Pair constructor which includes also radix in literal numbers.
If you have a short-form adverb you don't understand, see this section in the page for the character after the colon.

Other Uses

: after a parameter name in a Signature names the invocant
: creates named parameters in Signatures

Old, deprecated, or other language uses

? : the ternary operator from perl5 and other languages is ?? !! in perl6
: may not be used as a regexe delimiter as allowed in perl5

Upload Files

Click "Browse" to find the file you want to upload. When you click "Upload file" your file will be uploaded and added to the list of attachments for this page.

Maximum file size: 50MB

File Name Author Date Uploaded Size

Save Page As

Enter a meaningful and distinctive title for your page.

Page Title:

Tip: You'll be able to find this page later by using the title you choose.

Page Already Exists

There is already a page named XXX. Would you like to:

Save with a different name:

Save the page with the name "XXX"

Append your text to the bottom of the existing page named: "XXX"

Upload Files

Click "Browse" to find the file you want to upload. When you click "Add file" this file will be added to the list of attachments for this page, and uploaded when you save the page.

Add Tags

Enter a tag and click "Add tag". The tag will be saved when you save the page.