Although it looks probable that one who writes

T1:=table([])

typically want new empty list for each element, if table is initialized with variable, let's say

T1:=table(F)

one might (and perhaps even more frequently) really want that F, not copy of its value. For example, in my theorem proving program I could wrote something like

Minimal_superformula:=table(Theory)

where default (for example Minimal_superformula["x1"]) should be exactly that Theory (its only one in whole program) - and if program find some smaller superformula on his way, he can change it individually. Copy might cause unpredictable problems on this place.

So, it seems that with proposed change, just as much as you get on one side, you lose on other. You can have both, if table initialization is more complex, for example:

T:=table([],&levels)

where if &level is 0 (default), then it is like it is now, if it is n>0 then that much levels are copied, and if it is -1 (like &trace) then whole structure is copied. It can be implemented gradually, only 0 and 1 for beginning ...

Any case, tables, list and sets should stay consistent. (and maybe multisets and ordered_sets in future.)




--------------
Kazimir Majorinc, Zagreb, Croatia




-------------------------------------------------------
This SF.net email is sponsored by: VM Ware
With VMware you can run multiple operating systems on a single machine.
WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the
same time. Free trial click here: http://www.vmware.com/wl/offer/345/0
_______________________________________________
Unicon-group mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/unicon-group

Reply via email to