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

Reply via email to