This is only tangentially related, but I use symbols in my microj and
implemented the equivalent of 10 s: y and and 0 s: 10, using a different
format than J

My use for it was more like kx's symbol enumerations. I use microj for
large data analysis. A common workflow is to convert a csv to a binary
format, like kdb splayed tables (file per column). For text columns with
relatively low cardinality (like a date or category value), I store the
index into the symbol file in addition to the actual character bytes. When
a microj table is read from disk, it will use the symbol index file if it
exists, otherwise it will fall back to the character bytes. In this way, it
has a slight advantage in that the the enumeration can always be rebuilt if
necessary. This makes for quicker reads from disk and comparisons using
interned strings/symbols.

I have thought about doing something similar in J but haven't looked into
it too closely.

On Sun, Mar 19, 2017 at 12:14 AM, Henry Rich <[email protected]> wrote:

> Does anyone use (10 s: y)?
>
> It is problematic in that the hash table (0 s: 4) may depend on the CPU
> and the J release level.
>
> I would rather decommit (10 s: y) and have the user reload the symbol
> table de novo.  Any objections?
>
> Henry Rich
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to