This is an example draft documenting the Rank conjunction -- it has plenty of room for improvement. This page was initially created to demonstrate a possible page naming convention.
Rank
Introduction
i.2 3
0 1 2
3 4 5
1 2 3 + i.2 3
|length error
1 2 3 +"1 i.2 3
1 3 5
4 6 8J's rank conjunction, which looks like a double quote, tells the interpeter how you want to split up arguments. In the above example "1 means that we want to split up our argument into arrays of one dimension (we want to add the list of numbers from the left side to the lists of numbers on the right side).
Diaeresis
Diaeresis is the name of the diacritic mark (which looks like two dots next to each other and is placed over vowels to show that its pronunciation should be seperate from the vowel which preceeds it). Its name comes from a greek word for taking something apart or dividing something. Since the diaeresis mark sometimes gets messed up by email programs (and other programs), J uses the double quote to represent this operation. For quotation purposes J uses single quotes.
Some Examples
The number following " says how many dimensions we want in our arguments:
F=: <@,&<
This function will put each argument in a box and puts both of them in a surrounding box representing the result.
1 2 F i.2 2 ┌─────────┐ │┌───┬───┐│ ││1 2│0 1││ ││ │2 3││ │└───┴───┘│ └─────────┘
With this function we can explore the effects of using different argument ranks:
1 2 F"0 i.2 2 ┌─────┬─────┐ │┌─┬─┐│┌─┬─┐│ ││1│0│││1│1││ │└─┴─┘│└─┴─┘│ ├─────┼─────┤ │┌─┬─┐│┌─┬─┐│ ││2│2│││2│3││ │└─┴─┘│└─┴─┘│ └─────┴─────┘ 1 2 F"1 i.2 2 ┌─────────┬─────────┐ │┌───┬───┐│┌───┬───┐│ ││1 2│0 1│││1 2│2 3││ │└───┴───┘│└───┴───┘│ └─────────┴─────────┘ F"0 i.2 2 ┌───┬───┐ │┌─┐│┌─┐│ ││0│││1││ │└─┘│└─┘│ ├───┼───┤ │┌─┐│┌─┐│ ││2│││3││ │└─┘│└─┘│ └───┴───┘ F"1 i.2 2 ┌─────┬─────┐ │┌───┐│┌───┐│ ││0 1│││2 3││ │└───┘│└───┘│ └─────┴─────┘ F"2 i.2 2 ┌─────┐ │┌───┐│ ││0 1││ ││2 3││ │└───┘│ └─────┘
If we want, we can have different numbers for our left and right arguments.
1 2 F"0 1 i.2 2 ┌───────┬───────┐ │┌─┬───┐│┌─┬───┐│ ││1│0 1│││2│2 3││ │└─┴───┘│└─┴───┘│ └───────┴───────┘ 1 2 F"0 2 i.2 2 ┌───────┬───────┐ │┌─┬───┐│┌─┬───┐│ ││1│0 1│││2│0 1││ ││ │2 3│││ │2 3││ │└─┴───┘│└─┴───┘│ └───────┴───────┘ 1 2 F"1 0 i.2 2 ┌───────┬───────┐ │┌───┬─┐│┌───┬─┐│ ││1 2│0│││1 2│1││ │└───┴─┘│└───┴─┘│ ├───────┼───────┤ │┌───┬─┐│┌───┬─┐│ ││1 2│2│││1 2│3││ │└───┴─┘│└───┴─┘│ └───────┴───────┘
Rank can also be used when we have just one argument.
F"0 i.2 2 ┌───┬───┐ │┌─┐│┌─┐│ ││0│││1││ │└─┘│└─┘│ ├───┼───┤ │┌─┐│┌─┐│ ││2│││3││ │└─┘│└─┘│ └───┴───┘ F"1 i.2 2 ┌─────┬─────┐ │┌───┐│┌───┐│ ││0 1│││2 3││ │└───┘│└───┘│ └─────┴─────┘
