Sequences (work in progress)

Sequences in Glee are vectors of pointers. Glee resorts to sequences when hetrogeneous data needs to be managed. The simplest example is mixing character strings with numeric vectors. This section describes sequences, their behavior, and techniques for managing and manipulating them.

Commentary Code Result
Commentary 'answer is '(123.45) answer is 123.45
Commentary 'answer is '(123.45) %** $; Seq[R1C2:K]
[1]String[R1C10:C]answer is
[2]Num[R2C1:F]123.45
Commentary 'answer is '(123.45)[2 1] %** $; Seq[R1C2:K]
[1]Num[R2C1:F]123.45
[2]String[R2C10:C]answer is
Commentary '<1>---------' $;
5*->10?2 => x $;
'<2>---------' $;
x `` (5`) %** $;
<1>---------
1 1 5 4 4 3 4 3 4 3
<2>---------
Seq[R1C5:K]
[1]Num[R1C2:I]1 2
[2]KNum[0]NULL
[3]Num[R1C3:I]6 8 10
[4]Num[R1C4:I]4 5 7 9
[5]Num[R1C1:I]3
Commentary '<1>---------' $;
5*->10?2 => x $;
'<2>---------' $;
x `` (5`) => y ; y #ea '#' %** $;
<1>---------
1 1 5 4 4 3 4 3 4 3
<2>---------
Seq[R1C5:K]
[1]Num[R1C1:I]2
[2]Num[R1C1:I]0
[3]Num[R1C1:I]3
[4]Num[R1C1:I]4
[5]Num[R1C1:I]1
Commentary '<1>---------' $;
5*->10?2 => x $;
'<2>---------' $;
x `` (5`) => y ; y @& # %** $;
'<3>---------' $;
x `` (5`) => y ; y @& # < %** $;
<1>---------
1 1 5 4 4 3 4 3 4 3
<2>---------
Seq[R1C5:K]
[1]Num[R1C1:I]2
[2]Num[R1C1:I]0
[3]Num[R1C1:I]3
[4]Num[R1C1:I]4
[5]Num[R1C1:I]1
<3>---------
Num[R1C5:I]2 0 3 4 1
Commentary '<1>---------' $;
5*->10?2 => x $;
'<2>---------' $;
x `` (5`) => y ; y /# %** $; 
<1>---------
1 1 5 4 4 3 4 3 4 3
<2>---------
Num[R1C5:I]2 0 3 4 1
Commentary '<1>---------' $;
5*->10?2 => x $;
'<2>---------' $;
x `` (5`)#ea '#' =>y ;
'y Depth is ' (y **) $;
'<3>---------' $;
y < => z $;
'<4>---------' $;
'z Depth is ' (z **) $;
'<5>---------' $;
'total elements: '(z \+) $;
<1>---------
1 1 5 4 4 3 4 3 4 3
<2>---------
y Depth is 1
<3>---------
2 0 3 4 1
<4>---------
z Depth is 0
<5>---------
total elements: 10
Commentary '<1>---------' $;
"Hello ","World" %**$;
'<2>---------' $;
"Hello " "World" %** $;
'<3>---------' $;
(1 2) (3 4 5) %**$;
'<4>---------' $;
(1 2),(3 4 5) %**$;
'<5>---------' $;
(1 2>) (3 4 5>) %**$;
<1>---------
String[R1C11:C]Hello World
<2>---------
Seq[R1C2:K]
[1]String[R1C6:C]Hello
[2]String[R2C5:C]World
<3>---------
Seq[R1C2:K]
[1]Num[R1C2:I]1 2
[2]Num[R2C3:I]3 4 5
<4>---------
Num[R1C5:I]1 2 3 4 5
<5>---------
Seq[R1C2:K]
[1]Seq[R1C1:K]
*[1]Num[R1C2:I]1 2
[2]Seq[R2C1:K]
*[1]Num[R1C3:I]3 4 5
Commentary '<1>----------' $;
("Name:" "GLEE")
("ID: " 12345) => x %**$;
'<2>----------' $;
'Depth is: '(x **) $;
<1>----------
Seq[R1C2:K]
[1]Seq[R2C2:K]
*[1]String[R1C5:C]Name:
*[2]String[R1C4:C]GLEE
[2]Seq[R2C2:K]
*[1]String[R1C4:C]ID:
*[2]Num[R1C1:I]12345
<2>----------
Depth is: 2
Commentary '<1>----------' $;
10 'Now''Is''The''Time' 5.1 ``> $;
'<2>----------' $;
10 'Now ''Is''The''Time' 5.1 >>> ,, $;
'<3>----------' $;
10 'Now''is''The''Time' 5.1 ``< $;
'<4>----------' $;
10 'Now''Is''The''Time' 5.1 <<< ,, $;
<1>----------
6 1 3 2 4 5
<2>----------
5.1 10 Is Now  The Time
<3>----------
5 4 2 3 1 6
<4>----------
Time The Now Is 10 5.1
Commentary '<1>----------' $;
'abc', %** $ ;
'<2>----------' $;
123, %** $ ;
'<3>----------' $;
'abc'123'def' $;
'<4>----------' $;
'abc'123'def',, $;
'<5>----------' $;
'abc'123'def' ,, '-' $;
'<6>----------' $;
'abc'123'def' ,, '-' %** $ ;
<1>----------
Seq[R1C1:K]
[1]String[R2C3:C]abc
<2>----------
Seq[R1C1:K]
[1]Num[R2C1:I]123
<3>----------
abc123def
<4>----------
abc 123 def
<5>----------
abc-123-def
<6>----------
Seq[R1C5:K]
[1]String[R1C3:C]abc
[2]String[R3C1:C]-
[3]Num[R1C1:I]123
[4]String[R3C1:C]-
[5]String[R1C3:C]def
Commentary '<1>----------' $;
'abc' 'de' %** $;
'<2>----------' $;
'abc' 'de'< %** $;
'<3>----------' $;
'abc' 'de',, < %** $;
'<4>----------' $;
'value is ' 10 %** $;
'<5>----------' $;
'value is ' 10 %* %**$;
'<6>----------' $;
(('a'>)'b'>) 123 %**$;
'<7>----------' $;
(('a'>)'b'>) 123,,';' %* $;
<1>----------
Seq[R1C2:K]
[1]String[R1C3:C]abc
[2]String[R2C2:C]de
<2>----------
String[R1C5:C]abcde
<3>----------
String[R1C6:C]abc de
<4>----------
Seq[R1C2:K]
[1]String[R1C9:C]value is
[2]Num[R2C1:I]10
<5>----------
String[R1C11:C]value is 10
<6>----------
Seq[R1C2:K]
[1]Seq[R1C2:K]
*[1]String[R1C1:C]a
*[2]String[R1C1:C]b
[2]Num[R2C1:I]123
<7>----------
a;b;123
Commentary '<1>----------' $;
10=>i;i i=>j %** $;
'<2>----------' $;
j j=>k %** $;
'<3>----------' $;
i j %** $;
<1>----------
Seq[R1C2:K]
[1]Num[R5C1:I]10
[2]Num[R5C1:I]10
<2>----------
Seq[R1C2:K]
[1]Seq[R5C2:K]
*[1]Num[R3C1:I]10
*[2]Num[R3C1:I]10
[2]Seq[R5C2:K]
*[1]Num[R3C1:I]10
*[2]Num[R3C1:I]10
<3>----------
Seq[R1C2:K]
[1]Num[R4C1:I]10
[2]Seq[R5C2:K]
*[1]Num[R4C1:I]10
*[2]Num[R4C1:I]10
Commentary '<1>----------' $;
1 2 @& %** $;
'<2>----------' $;
1 2 @& - %** $;
'<3>----------' $;
'ab' @& %** $;
'<4>----------' $;
'ab' @& %/ %** $;'
<5>----------' $;
1.2'ab' @& %/ %** $;
<1>----------
Num[R2C1:I]1Num[R2C1:I]2
<2>----------
Seq[R1C2:K]
[1]Num[R1C1:I]_1
[2]Num[R1C1:I]_2
<3>----------
String[R2C1:C]aString[R2C1:C]b
<4>----------
Seq[R1C2:K]
[1]String[R1C1:C]A
[2]String[R1C1:C]B

<5>----------
Seq[R1C2:K]
[1]Num[R1C1:I]2
[2]String[R2C2:C]AB
Commentary '<1>----------' $;
1 2 @& - 3 %** $;
'<2>----------' $;
'ab' @& (,'xyz')%** $;
<1>----------
Seq[R1C2:K]
[1]Num[R1C1:I]_2
[2]Num[R1C1:I]_1
<2>----------
Seq[R1C2:K]
[1]String[R1C4:C]axyz
[2]String[R1C4:C]bxyz
Commentary '<1>-------'$;
0@ =>p;
1 2 3 @&(=>i;i p[.i.p]{p+i=>p;});
p %**$;
'<2>-------'$;
0@ =>p;
1 2 3 @&( p[.i.p]{p+i=>p;});
p %**$;
<1>-------
Num[R1C1:I]6
<2>-------
Num[R1C1:I]6