Stream Read Operators(work in progress)

KEY:
D: Dyadic; M: Monadic; N: Niladic

Commentary     Op Code Result
Commentary M ?`@ Current position 'GLEE is fun'=>str;
'<1> ' (str ->> 7 )':'(str ?`@) $;
<1> GLEE is:8
Commentary P .props Properties 'GLEE is fun'=>str;
'<1> ' (str ->> 7 )':'(str ?`@) $;
'<2> ' (str.props) $;
<1> GLEE is:8
<2> D[R]; PPos[0]; B[N]; E[N]; Pos[8]; NE[11]
Commentary M ->> Next Line 13 #asc =>r;13 10 #asc =>n;
'GLEE',r,'is',n,'fun'=>str;
1..(str#) %10 %* ~ $;str :hex $;
'<1> '(str ?`@)r(str ->> :hex ) $;
'<2> '(str ?`@)r(str ->> :hex ) $;
'<3> '(str ?`@)r(str ->> :hex ) $;
'<4> '(str ?`@)r(str ->> :hex ) $;
123456789012
GLEE.is..fun
444406700676
7C55D93DA65E
<1> 0
GLEE.
44440
7C55D
<2> 6
is..
6700
93DA
<3> 10
fun
676
65E
<4> 13
Commentary M <<- Prev Line 13 #asc =>r;13 10 #asc =>n;
'GLEE',r,'is fun'=>str;str @->;
1..(str#) %10 %* ~ $;str :hex $;
'<1> '(str ?`@)n(str <<- :hex ) $;
'<2> '(str ?`@)n(str <<- :hex ) $;
'<3> '(str ?`@)n(str ->> :hex ) $;
'<4> '(str ?`@)n(str <<- :hex ) $;
'<5> '(str ?`@)n(str <<- :hex ) $;
12345678901
GLEE.is fun
44440672676
7C55D93065E
<1> 12
is fun
672676
93065E
<2> 5
GLEE.
44440
7C55D
<3> 0
is fun
672676
93065E
<4> 12
GLEE.
44440
7C55D
<5> 0
Commentary D ->> n Next n bytes 13 #asc =>r;13 10 #asc =>n;
'GLEE',r,'is',n,'fun'=>str;
1..(str#) %10 %* ~ $;str :hex $;
'<1> '(str ?`@)r(str ->> 4 ) $;
'<2> '(str ?`@)r(str ->> 99 :hex) $;
'<3> '(str ?`@)r(str ->> 99 :hex) $;
123456789012
GLEE.is..fun
444406700676
7C55A93AD65E
<1> 0
GLEE
<2> 5
.is..fun
06700676
A93AD65E
<3> 13
Commentary D <<- n Prev n bytes 13 #asc =>r;13 10 #asc =>n;
'GLEE',r,'is',n,'fun'=>str; str @->;
1..(str#) %10 %* ~ $;str :hex $;
'<1> '(str ?`@)r(str <<- 3 ) $;
'<2> '(str ?`@)r(str <<- 99 :hex) $;
'<3> '(str ?`@)r(str ->> 99 :hex) $;
123456789012
GLEE.is..fun
444406700676
7C55D93DA65E
<1> 13
fun
<2> 9
GLEE.is..
444406700
7C55D93DA
<3> 0
fun
676
65E
Commentary D ->>| Next any 13 #asc =>r;13 10 #asc =>n;
'GLEE.is,fun;' => str;
1..(str#) %10 %* ~ $;str :hex $;
'<1> '(str ?`@)' '(str ->>| '.' ) $;
'<2> '(str ?`@)' '(str ->>| ',;' ) $;
'<3> '(str ?`@)' '(str ->>| 'x' ) $;
'<4> '(str ?`@)' '(str ->>| 'x' ) $;
123456789012
GLEE.is,fun;
444426726763
7C55E93C65EB
<1> 0 GLEE.
<2> 6 is,
<3> 9 fun;
<4> 13
Commentary D <<-| Prev any 13 #asc =>r;13 10 #asc =>n;
'GLEE.is,fun;' => str; str @->;
1..(str#) %10 %* ~ $;str :hex $;
'<1> '(str ?`@)' '(str <<-| ',;.' ) $;
'<2> '(str ?`@)' '(str <<-| ',;.' ) $;
'<3> '(str ?`@)' '(str <<-| ',;.' ) $;
'<4> '(str ?`@)' '(str ->>| ',;.' ) $;
'<5> '(str ?`@)' '(str <<-| ',;.' ) $;
'<6> '(str ?`@)' '(str <<-| 'x' ) $;
'<7> '(str ?`@)' '(str <<-| 'x' ) $;
123456789012
GLEE.is,fun;
444426726763
7C55E93C65EB
<1> 13 ;
<2> 11 ,fun
<3> 7 .is
<4> 4 ,
<5> 9 .is
<6> 4 GLEE
<7> 0
Commentary D ->>& Next all 13 #asc =>r;13 10 #asc =>n;
'row,row your boat' => str;
1..(str#) %10 %* ~ $;str :hex $;
'<1> '(str ?`@)' '(str ->>& 'row') $;
'<2> '(str ?`@)' '(str ->>& 'row') $;
'<3> '(str ?`@)' '(str ->>& 'row') $;
'<4> '(str ?`@)' '(str ->>& 'row') $;
12345678901234567
row,row your boat
76727672767726667
2F7C2F709F5202F14
<1> 0
<2> 1 row,
<3> 5 row your boat
<4> 18
Commentary D <<-& Prev all 13 #asc =>r;13 10 #asc =>n;
'row,row your boat' => str; str @->;
1..(str#) %10 %* ~ $;str :hex $;
'<1> '(str ?`@)' '(str <<-& 'row' ) $;
'<2> '(str ?`@)' '(str <<-& 'row' ) $;
'<3> '(str ?`@)' '(str ->>& 'row' ) $;
'<4> '(str ?`@)' '(str <<-& 'row' ) $;
'<5> '(str ?`@)' '(str <<-& 'row' ) $;
12345678901234567
row,row your boat
76727672767726667
2F7C2F709F5202F14
<1> 18  your boat
<2> 7 ,row
<3> 3  your boat
<4> 18 ,row
<5> 3 row