### Boolean Operators(work in progress)

KEY:

Note: The symbols making up the operators should have no intervening white space. The symbol groupings (e.g. ~&) are called operators. Operators occurring adjacent to each other in code must be separated by white space. Glee matches up the longest sequence of symbols which identify an operator.

.

Op Code Result
D & AND "0011"&"0101" 0001
D | OR "0011"|"0101" 0111
D ^ XOR "0011"^"0101" 0110
D *< Mark Less Than 10 20 30 *< (30 20 10) 100
D *<= Mark Less Than or Equal To 10 20 30 *<= (30 20 10) 110
D *= Mark Equal To 10 20 30 *=(30 20 10) 010
D *~= Mark Not Equal TO 10 20 30 *~= (30 20 10) 101
D *>= Mark Greater Than or Equal To 10 20 30 *>= (30 20 10) 011
D *> Mark Greater Than 10 20 30 *> (30 20 10) 001
D *| Mark Any '<1>'('abcde' *|('bd'))\$;
'<2>'(1 2 3 4 5 *|(2 4))\$;
'<3>'('1' '2' '3' '4' '5' *|('2' '4'))\$;
<1>01010
<2>01010
<3>01010
D *& Mark All '<1a>'('abcdebc'    *&('bc'))\$;
'<1b>'('abcdebc' @> *&('bc'))\$;
'<2a>'('abcdebc'    *&('bc'#grep))\$;
'<2b>'('abcdebc' @> *&('bc'#grep))\$;
'<3a>'(1 2 3 4 5 2 3    *&(2 3))\$;
'<3b>'(1 2 3 4 5 2 3 @> *&(2 3))\$;
'<4a>'(1 2 3 4 5 2 3,|    *&(2 3,|))\$;
'<4b>'(1 2 3 4 5 2 3,| @> *&(2 3,|))\$;
<1a>0100010
<1b>0010001
<2a>0100010
<2b>0010001
<3a>0100010
<3b>0010001
<4a>0100010
<4b>0010001
D ^| Contains Any '<1a>'('aBCe'      ^|('bd'))\$;
'<1b>'('aBCe' @==  ^|('bd'))\$;
'<2 >'(1 2 3 4 5   ^|(5 6))\$;
'<3 >'(1 2 3 4 5,| ^|(5 6,|))\$;
<1a>1
<1b>0
<2 >1
<3 >1
D ^& Contains All '<1a>'('aBCe'      ^&('bc'))\$;
'<1b>'('aBCe' @==  ^&('bc'))\$;
'<2 >'(1 2 3 4 5   ^&(4 5))\$;
'<3 >'(1 2 3 4 5,| ^&(4 5,|))\$;
<1a>1
<1b>0
<2 >1
<3 >1
D *^| Mark contains any 'how,''now.''brown-cow'*^|',-' 101
D *^& Mark contains all 'how''now''brown''cow'*^&'ro' 0010
M ~ Not 10 20 *=10 ~ 01
D ~& NAND "0011"~&"0101" 1110
D ~| NOR "0011"~|"0101" 1000
N #TRUE True #true =>true 1
N #FALSE False #false =>false 0
M ` To index "0010110"&"1"` 3
M `` To indices "0100100"&"1" `` 2 5
M \| Any "101101"&"1" \| \$;
"000000"&"1" \| \$;
1
0
M \& All "101101"&"1" \& \$;
"111111"&"1" \& \$;
0
1
M bit /# Partition size "101001011"&"1" /# \$; 1 2 3 2 1
D /| n Moving Any "1001101"&"1" /| 2 1101111
D /& n Moving All "1001101"&"1" /& 2 1000100
M /<- First on "00100100"&"1" /<- 00111111
M /-> Last off "00100100"&"1" /-> 11111100
M *< Mark On "0011010011100"&"1" *< 00100100 10000
M *> Mark Off "0011010011100"&"1" *> 00010100 00100
M *<> Mark On/Off "0011010011100"&"1" *<> 00110100 10100
M /* Span on "01001001010"&"1" /* \$;
"111011010"&"1" /* \$;
01111001 110
11111111 0
D /* Monostable "01000010000"&"1" /* 3 \$;
"01010010001"&"1" /* 2 \$;
01110011 100
01111011 001
M /*~ Fire "01111001110"&"1" /*~ \$; 01000001 000
D /*~ Fire n or pattern "<1>---------"\$;
"100000100010"&"1" /*~ 3\$;
"<2>---------"\$;
"100000100000"&"1" =>b;
b /*~ "1101" \$;
<1>---------
11100011 1011
<2>---------
11010011 0100
M <-< Shift 1 Left "01011"&"1" <-< \$;  10110
D <-< Shift Left "01011"&"1" => b \$;
b <-< 2 \$;
b <-< _2 \$;
01011
01100
00010
M >-> Shift 1 Right "01011"&"1" >-> \$; 00101
D >-> Shift Right "01011"&"1" => b \$;
b >-> 2 \$;
b >-> _2 \$;
01011
00010
01100
M <%< Rotate 1 Left "11010"&"1" <%< \$;  10101
D <%< Rotate Left "01011"&"1" => b \$;
b <%< 2 \$;
b <%< _2 \$;
01011
01101
11010
M >%> Rotate 1 Right "11010"&"1" >%> \$; 01101
D >%> Rotate Right "01011"&"1" => b \$;
b >%> 2 \$;
b >%> _2 \$;
01011
11010
01101
M >%< Flip "11010"&"1" >%< \$; 01011
M %% Shape "11010"&"1" %% 9 %% \$; 9
D %% Reshape "11010"&"1" %% 9 \$;  11010110 1