To be removed just let me know . Pass on to any interested
friend
CoSy
αs & friends ,
I'm going to move to more casual and frequent emails . A major
factor is that I've worked thru a lot of the basic vocabulary for
extracting and constructing email lists in
CoSy . See
below .
That's all I'm going to talk about here . There are a number of
comments I need to reply to , now that I've settled somewhat on a
format . I continue to be extremely interested in suggestions as to
best community building interfaces .
Some Mailing List manipulations :
Text searching and manipulation are of the highest
priority in CoSy
, higher even than numeric . As I've commented , F11 ,
inserting a time stamp is perhaps the highest use , the one that
counts in court -- along with the adjacent notes .
I wanted to directly test the email addresses for my legacy Yahoo
CoSy-Notes mail group to see if any were still active . I
screenscraped the members table and edited it to the following
sort of informal table :
` T0 ->
Amir bukhari ; amirbuk@aol.com ; Nov
22, 1999
; arnold.peters@mail.ing.nl
; Dec 23, 1999
Bob Armstrong ; bob@cosy.com ; Apr 28,
1999
dalis_basel ; dalis@balcab.ch ;
Dec 28, 1999
; feliciano@ibm.net
; May 13, 1999
; ic1n-ymgc@asahi-net.or.jp
; Dec 23, 1999
; limhk@acm.org ; Jun
16, 2000
maxym70 ; m.dentico@tunes.org
; Jan 18, 2001
T0 rho
363 | T0 is
a string ' rho is the traditional APL term for number
of items .
I've interspaced the results of executions with the lines executed
altho they normally are displayed in the res window .
The Forth concatenative syntax is very convenient for
splitting almost anywhere .
T0 vm >T0> ' rho 'm ,/
| split on line feeds and find the length of each string
. ' vm is old vector to matrix . ( Sorry , some
old APL names used for 40 years are hard to drop . )
' ,/ concatenates across results reducing to simple
integer list .
47 2 45 1 45 1 46 1 36 1 44 1 32 1 46
R0 2 _i >i
| which lines are longer than 2 characters . R0 always
contains the last result .
1 0 1 0 1 0 1 0 1 0 1
0 1 0 1
R0 & | what are the
indices of the 1s . Arthur Whitney's where
function . See definition .
0 2 4 6 8 10 12 14
T0 R0 at >T0> |
select non blank lines
(
Amir bukhari ; amirbuk@aol.com ;
Nov 22, 1999
; arnold.peters@mail.ing.nl
; Dec 23, 1999
Bob Armstrong ; bob@cosy.com ; Apr
28, 1999
dalis_basel ; dalis@balcab.ch ;
Dec 28, 1999
; feliciano@ibm.net
; May 13, 1999
; ic1n-ymgc@asahi-net.or.jp
; Dec 23, 1999
; limhk@acm.org ; Jun
16, 2000
maxym70 ; m.dentico@tunes.org
; Jan 18, 2001
)
T0 { s" ;" toksplt } 'm
>t0> | split each line on semicolons
(
(
Amir bukhari
amirbuk@aol.com
Nov 22, 1999
) (
arnold.peters@mail.ing.nl
Dec 23, 1999
) (
Bob Armstrong
bob@cosy.com
Apr 28, 1999
) (
dalis_basel
dalis@balcab.ch
Dec 28, 1999
) (
feliciano@ibm.net
May 13, 1999
) (
ic1n-ymgc@asahi-net.or.jp
Dec 23, 1999
) (
limhk@acm.org
Jun 16, 2000
) (
maxym70
m.dentico@tunes.org
Jan 18, 2001
) )
t0 { 1 _at } 'm >t1> | grab item 1 ( 0
based indexing ) from each
(
amirbuk@aol.com
arnold.peters@mail.ing.nl
bob@cosy.com
dalis@balcab.ch
feliciano@ibm.net
ic1n-ymgc@asahi-net.or.jp
limhk@acm.org
m.dentico@tunes.org
)
t1 { 1 _cut* -1 _cut* } 'm
| remove leading and trailing blanks from each
(
amirbuk@aol.com
arnold.peters@mail.ing.nl
bob@cosy.com
dalis@balcab.ch
feliciano@ibm.net
ic1n-ymgc@asahi-net.or.jp
limhk@acm.org
m.dentico@tunes.org
)
s" <" R0 ' cL eachright {
s" >" cL } 'm >T1> | bracket each
address as email addresses
(
<amirbuk@aol.com>
<arnold.peters@mail.ing.nl>
<bob@cosy.com>
<dalis@balcab.ch>
<feliciano@ibm.net>
<ic1n-ymgc@asahi-net.or.jp>
<limhk@acm.org>
<m.dentico@tunes.org>
)
t0 { 0 _at } 'm T1 ' cL
each | grab name fields and catinate onto
each email addr
(
Amir bukhari <amirbuk@aol.com>
<arnold.peters@mail.ing.nl>
Bob Armstrong <bob@cosy.com>
dalis_basel <dalis@balcab.ch>
<feliciano@ibm.net>
<ic1n-ymgc@asahi-net.or.jp>
<limhk@acm.org>
maxym70 <m.dentico@tunes.org>
)
Then , I just copied and pasted the resulting list into
my Thunderbird mail client . ( I also saved it in my `
CoSy.ml job , too . )
The functions prefixed with a s" _" are short for preceding
the function with _i to convert Top of Stack to a 1
item integer list . Remember all this vocabulary is actually just
executing directly in Forth .
Well that's it for this first αs
& friends note . A main point is demonstrating the interactive
working thru of a problem with CoSy's
APL level functionality . Of course a number of these lines can
be easily defined as new words and several will . Everything is
open and definable or re-definable down to the chip .
If you don't yet have a
CoSy Stick
get one and join in making
CoSy
the company it can become . Anybody on this list gets 1%3 off the
standard price . Just make a note it on the PayPal checkout .
Bob A
--
|
I
reserve the right to post all communications
I receive or generate to CoSy website for
further reflection
|
--
_._,_.___
Posted by: Bob Armstrong <bob@cosy.com>