https://www.jsoftware.com/help/dictionary/dsco.htm
"Incorrect global symbols data may cause misinterpretation of symbol arrays, or data corruption, or a system crash, or the end of civilization as we know it." Thanks, -- Raul On Mon, Nov 18, 2019 at 11:50 AM Gilles Kirouac <g1...@myriade.ca> wrote: > > Why can't such a class be implemented using s: Symbols? > It does calculate hashes and seems appropriate for dictionaries. > What is deficient in the implementation of s: ? > Why a new hash function? > > ~ Gilles > > Le 2019-11-18 à 08:09, Henry Rich a écrit : > > Right now I am thinking that the need for dictionaries could be met by > > a class whose instances are associative memories. Key, values, > > hashtables, chains if needed would be stored inside the instance. The > > interface would be simply x Put y and Get y. I reckon this would be > > fast enough without any special support from the interpreter beyond > > the hash calculation that is there now. > > > > Henry Rich > > > > On 11/18/2019 6:10 AM, Danil Osipchuk wrote: > >> symbols are essentially names optimized for lookup and comparison, as > >> such > >> they are useful to implement locales efficiently, if one to build an map > >> using those as keys, indeed one gets something resembling K dictionaries > >> http://www.math.bas.bg/bantchev/place/k.html : > >> > >> "Another distinguishing feature of K is the use of dictionaries: > >> associative tables whose keys are symbols, i.e., internalized > >> strings. In > >> turn, dictionaries are the building material of a hierarchically > >> organized > >> global data space called the K-tree" > >> > >> https://github.com/kevinlawler/kona/wiki/Dictionaries > >> > >> This is important case of course, but still a restriction. Tables in Lua > >> are more fundamental: > >> > >> "The table type implements associative arrays. An associative array > >> is an > >> array that can be indexed not only with numbers, but also with > >> strings or > >> any other value of the language, except *nil*. Moreover, tables have no > >> fixed size; you can add as many elements as you want to a table > >> dynamically. Tables are the main (in fact, the only) data structuring > >> mechanism in Lua, and a powerful one. We use tables to represent > >> ordinary > >> arrays, symbol tables, sets, records, queues, and other data > >> structures, in > >> a simple, uniform, and efficient way. Lua uses tables to represent > >> packages > >> as well. When we write io.read, we mean "the read entry from the io > >> package". For Lua, that means "index the table io using the string > >> "read" > >> as the key". > >> > >> > >> > >> пн, 18 нояб. 2019 г. в 13:11, 'Mike Day' via Programming < > >> programm...@jsoftware.com>: > >> > >>> It's a long time since I played with s: - do J symbols have any > >>> relevance to dictionaries/directories? > >>> > >>> APL/J cousin, K, appears to have the dictionary as pretty central to > >>> its > >>> data organisation, but maybe > >>> that's more akin to J's locales. > >>> > >>> Neither topic helpful probably relevant here, but might start a hare! > >>> > >>> Mike > >>> > >>> On 18/11/2019 02:49, Henry Rich wrote: > >>>> In J I find myself coming back to simple arrays for most data > >>>> structures. > >>>> > >>>> Trees can be represented as boxes containing subtrees. That works, > >>>> but is usually more trouble than simply managing an array. > >>>> > >>>> Linked lists are used only for efficiency, and in the cases where that > >>>> matters you can easily have a list of indexes to an array of data > >>>> items. > >>>> > >>>> Stacks are just lists, as Devon said. > >>>> > >>>> The datatype I really want is a directory object that acts as an > >>>> efficient and easy-to-use associative memory. You put key/values in > >>>> and then retrieve a value by presenting its key. Has anyone written > >>>> an addon for that? > >>>> > >>>> (Note: the primitive 128!:8 (create a hash for a noun) was added to > >>>> J9.01 with this in mind) > >>>> > >>>> Henry Rich > >>>> > >>>> On 11/17/2019 8:16 PM, 'Bo Jacoby' via Programming wrote: > >>>>> I failed to communicate the links before, but here they are. > >>>>> Ordinal fractions are somewhat like infinite-dimensional arrays. > >>>>> > >>> https://www.academia.edu/10031088/ORDINAL_FRACTIONS_-_the_algebra_of_data > >>> > >>>>> > >>>>> > >>>>> http://www.statemaster.com/encyclopedia/Ordinal-fraction > >>>>> Bo. > >>>>> > >>>>> Den søndag den 17. november 2019 22.07.28 CET skrev Devon > >>>>> McCormick <devon...@gmail.com>: > >>>>> Trees are simple to implement in J - > >>>>> https://code.jsoftware.com/wiki/User:Devon_McCormick/Trees - as are > >>>>> graphs > >>>>> - > >>>>> > >>> https://code.jsoftware.com/wiki/NYCJUG/2009-11-10/BreadthFirstGraphTraversal > >>> > >>>>> . > >>>>> A stack is simple to implement too but I'm not sure why you would > >>>>> want to > >>>>> as it's simply a vector with very restrictive rules to manipulate it. > >>>>> Linked lists make no sense in a language with dynamic arrays for much > >>>>> the > >>>>> same reason since a linked list is mainly a way of implementing > >>>>> dynamic > >>>>> arrays but has benefit only in a language which lacks these natively. > >>>>> > >>>>> On Sun, Nov 17, 2019 at 8:24 AM 'Bo Jacoby' via Programming < > >>>>> programm...@jsoftware.com> wrote: > >>>>> > >>>>>> ORDINAL FRACTIONS - the algebra of data > >>>>>> > >>>>>> > >>>>>> > >>>>>> | > >>>>>> | > >>>>>> | > >>>>>> | | | > >>>>>> > >>>>>> | > >>>>>> > >>>>>> | > >>>>>> | > >>>>>> | | > >>>>>> ORDINAL FRACTIONS - the algebra of data > >>>>>> > >>>>>> This paper was submitted to the 10th World Computer Congress, > >>>>>> IFIP 1986 > >>>>>> conference, but rejected by the referee.... > >>>>>> | > >>>>>> > >>>>>> | > >>>>>> > >>>>>> | > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> Den søndag den 17. november 2019 07.12.02 CET skrev Raul > >>>>>> Miller < > >>>>>> rauldmil...@gmail.com>: > >>>>>> > >>>>>> Arrays are roughly analogous to computer memory. > >>>>>> > >>>>>> Put different: I think you are asking the wrong question. > >>>>>> > >>>>>> (Partially: it's worth thinking about why you pick whichever data > >>>>>> structures...) > >>>>>> > >>>>>> ((It can also sometimes be useful to look on rosettacode for > >>>>>> examples of > >>>>>> various daya structure handling mechanisms.)) > >>>>>> > >>>>>> Thanks, > >>>>>> > >>>>>> -- > >>>>>> Raul > >>>>>> > >>>>>> On Sat, Nov 16, 2019 at 6:00 PM Jimmy Gauvin > >>>>>> <jimmy.gau...@gmail.com> > >>>>>> wrote: > >>>>>> > >>>>>>> Hi, > >>>>>>> > >>>>>>> when dealing with data structures other than arrays such as trees, > >>>>>> graphs, > >>>>>>> stacks, linked lists what other programming language do you resort > >>>>>>> to ? > >>>>>>> > >>>>>>> Or do stick with J for all endeavours? > >>>>>>> > >>>>>>> > >>>>>>> Jimmy > >>>>>>> ---------------------------------------------------------------------- > >>>>>>> > >>>>>>> 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 > >>> ---------------------------------------------------------------------- > >>> 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 ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm