Rather than describe it, I have written you verbs to convert symbols
into a list of boxed strings and vice versa. It is up to you to apply
the verbs, save results, etc.:
NB. Returns currently-defined symbols, as (list of characters);(list of
symbol lengths)
getsyms =: {{
indexes =. 0 0 -.~ 2 {."1(0) s: 2 NB. (index,length) of each symbol
symchars =. (,"0 indexes) ;@:(<;.0) 0 s: 3 NB. fetch each symbol and
run them together
symchars ; {:"1 indexes
}}
NB. Applies to result of getsyms, to create boxed strings. Apply s: to
result if desired
setsyms =: {{
'chars lens' =. y
((,:~"0 [: |.!.0 +/\) lens) <;.0 chars NB. create start,:length of
each string and box them
}}
The documentation of /what/ s: does is at
https://www.jsoftware.com/help/dictionary/dsco.htm . /How/ it does it
is to be learned from the source code, and you are own your own there.
There are a few comments.
Henry Rich
On 3/14/2023 1:04 AM, Ak O wrote:
lol a few, and I expect many more.
What command restores each in their correct position
Store is?
(3!:1) (0 s: 3) 1!:2<...'
(3!:1) (2 {."1(0) s: 2) 1!:2 <...'
Restore?
???(3!:2) 1!:1<...'
???(3!:2) 1!:1<...'
Also, I wonder if there is a resource I can consult
to understand better how the Symbols Interpreter works?
Thanks again
Ak.
On Mon., Mar. 13, 2023, 20:15 Henry Rich, <henryhr...@gmail.com> wrote:
You must have a lot of symbols.
A symbol represents a list of characters. If you are trying to
save/restore the symbols, 0 s: 10 is giving much more information th
you need. All you need is the list of strings run end-to-end (0 s: 3)
and the index/lenpgth of each (2 {."1 (0) s: 2) .
Henry Rich.m
On 3/13/2023 9:02 PM, Ak O wrote:
I hope you are all well.
Is there a mechanism for storing the Global Symbols Data in parts? Also
restoring from those parts?
The documented methods of:
((3!:1) 0 s: 10) 1!:2<'symb_tbl_dat.dat'
10 s: (3!:2)1!:1<'symb_tbl_dat.dat'
had been working well but now seems to have hit a limit.
When I try to store the GST, I now trigger the out of memory error.
I thought about storing the columns individually.
((3!:1)0{(0 s: 10)) 1!:2<'symb_tbl_col_0.dat'
...7{(0 s: 10)...
I cannot seem to 'install' the columns to restore the whole table.
Is there some way chunking the Global Symbols Data into pieces?
Or pack it more tightly?
Or some other thing I might not have considered?
Thanks
Ak
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm