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
