Perl 6
WITCH lboxy: Revision 5


"box", "array", "square"
-- main use is for arrays
-- also to create reduce meta operators
-- as opposed to alternative parenthesisers it generates "square" things (as in fuddy, old-fashioned, plain, vanilla)

Used alone

Used as a brace pair or quote pair

[] in a term treats it as an array
[] instead of () around list values creates an Array object and can explicitly make a list from a single value
[] around an operator creates a reduce meta operator
[] can be used for several radix-related purposes when defining literals
[] use of an empty pair of boxy brackets after an array allows it to be interpolated into double quoted strings.

Operators containing this character

[;] interpolates a list into a semicolon list, which is just a reduce meta operator but worth noting.
[*-1] is not special sugar, but will appear often to find the last element of an array

When used inside regexes

[] groups without capturing
<[]> creates a character set

Special Variables

As an adverb

[] after an adverb can assign an Array object to an adverb
[] ...if empty the adverb is probably being used to specify a type of key for .k or .kv
[] where an adverb would appear creates an identifier extension ??? What is that ???

Hyper operator and meta operator restrictions

When used as the reduce meta-operator, only certain reducer operations have identity, others require multiple elements.

Old, deprecated, or other language uses

[] is no longer a regular expression character set as in perl5. That is now <[]>
[^] is no longer an inverted regex character set as in perl5. That us now <-> and <!>

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.