Fundamental design flaws
Tom Lord
(29 Oct 2003 17:46 UTC)
|
Re: Fundamental design flaws
scgmille@xxxxxx
(29 Oct 2003 19:13 UTC)
|
Re: Fundamental design flaws
Bradd W. Szonye
(29 Oct 2003 20:06 UTC)
|
Re: Fundamental design flaws
scgmille@xxxxxx
(29 Oct 2003 20:47 UTC)
|
Re: Fundamental design flaws
Tom Lord
(29 Oct 2003 23:24 UTC)
|
Re: Fundamental design flaws
Taylor Campbell
(30 Oct 2003 01:53 UTC)
|
Re: Fundamental design flaws
scgmille@xxxxxx
(30 Oct 2003 04:42 UTC)
|
Re: Fundamental design flaws
Tom Lord
(30 Oct 2003 16:52 UTC)
|
Re: Fundamental design flaws
scgmille@xxxxxx
(30 Oct 2003 17:11 UTC)
|
Re: Fundamental design flaws
Tom Lord
(30 Oct 2003 16:33 UTC)
|
RE: Fundamental design flaws
Anton van Straaten
(30 Oct 2003 16:52 UTC)
|
Re: Fundamental design flaws
Bradd W. Szonye
(30 Oct 2003 17:19 UTC)
|
Re: Fundamental design flaws
scgmille@xxxxxx
(30 Oct 2003 18:13 UTC)
|
Re: Fundamental design flaws
Bradd W. Szonye
(30 Oct 2003 21:18 UTC)
|
Re: Fundamental design flaws
scgmille@xxxxxx
(30 Oct 2003 21:26 UTC)
|
Re: Fundamental design flaws
Bradd W. Szonye
(30 Oct 2003 21:35 UTC)
|
Re: Fundamental design flaws
scgmille@xxxxxx
(30 Oct 2003 21:49 UTC)
|
Re: Fundamental design flaws
Bradd W. Szonye
(30 Oct 2003 21:55 UTC)
|
Re: Fundamental design flaws
scgmille@xxxxxx
(30 Oct 2003 22:05 UTC)
|
Re: Fundamental design flaws
Bradd W. Szonye
(30 Oct 2003 22:28 UTC)
|
Re: Fundamental design flaws scgmille@xxxxxx (30 Oct 2003 22:52 UTC)
|
Re: Fundamental design flaws
Alex Shinn
(31 Oct 2003 03:04 UTC)
|
Re: Fundamental design flaws
scgmille@xxxxxx
(31 Oct 2003 03:20 UTC)
|
Re: Fundamental design flaws
Alex Shinn
(31 Oct 2003 07:13 UTC)
|
RE: Fundamental design flaws
Anton van Straaten
(30 Oct 2003 23:07 UTC)
|
Re: Fundamental design flaws
Bradd W. Szonye
(31 Oct 2003 03:12 UTC)
|
Re: Fundamental design flaws
scgmille@xxxxxx
(30 Oct 2003 21:57 UTC)
|
Re: Fundamental design flaws
Tom Lord
(30 Oct 2003 20:23 UTC)
|
Re: Fundamental design flaws
scgmille@xxxxxx
(30 Oct 2003 20:35 UTC)
|
Re: Fundamental design flaws
scgmille@xxxxxx
(30 Oct 2003 17:06 UTC)
|
Re: Fundamental design flaws
Bradd W. Szonye
(30 Oct 2003 17:26 UTC)
|
Re: Fundamental design flaws
scgmille@xxxxxx
(30 Oct 2003 18:15 UTC)
|
Re: Fundamental design flaws
bear
(30 Oct 2003 18:48 UTC)
|
Re: Fundamental design flaws
scgmille@xxxxxx
(30 Oct 2003 19:35 UTC)
|
Re: Fundamental design flaws
bear
(30 Oct 2003 19:45 UTC)
|
Re: Fundamental design flaws
scgmille@xxxxxx
(30 Oct 2003 20:08 UTC)
|
Re: Fundamental design flaws
bear
(30 Oct 2003 20:40 UTC)
|
Re: Fundamental design flaws
scgmille@xxxxxx
(30 Oct 2003 20:48 UTC)
|
Re: Fundamental design flaws
Tom Lord
(30 Oct 2003 20:49 UTC)
|
Re: Fundamental design flaws
scgmille@xxxxxx
(30 Oct 2003 21:02 UTC)
|
Re: Fundamental design flaws
Bradd W. Szonye
(30 Oct 2003 21:26 UTC)
|
On Thu, Oct 30, 2003 at 02:28:04PM -0800, Bradd W. Szonye wrote: > > Bradd W. Szonye wrote: > >> How do the generic procedures know whether '((a . 1) (b . 2)) is a > >> list or an alist? If it's based on content, you have isomorphism > >> issues to resolve. If you're now using something like a record type > >> for alists, then you're not really handling primitive alists. > > xxxxxx@freenetproject.org wrote: > > They never receive ((a . 1) (b . 2)). They receive an alist-dict, > > which has structure beyond the stored values which it can dispatch on > > (Taylor can comment more). We don't handle primitive alists. > > You make a big deal about how important it is to provide generic > procedures for collections, but you don't support a very common > collection type? Code that uses alists must choose between a complete > port or no support? Actually, I suppose that a genuine alist would look > like a "list" to SRFI-44. Please get out of your head the idea that the 'look' of a datastructure has anything to do with how its dispatched. alists by themselves are not a collection. A collection is a combination of a datastructure (representation, storage model, etc) and a set of operators. Shiro and others pointed out real problems with treating alists as dictionaries without modification. Because those problems exist, we have alist-dicts, which are dictionaries in the SRFI-44 sense, which store the mappings in an alist (which itself may be wrapped in something else to store key and value equivalence functions and to facilitate typing). > Could you please explain how this is consistent with your goals? While > it may be a good idea not to support "primitive" Scheme collections, it > doesn't seem compatible with your goals. The inclusing of concrete collections is in there for prooff of concept. Its a minor subgoal of the SRFI, dwarfed by the naming, semantics and protocol goals. > > So are primitive lists and vectors supposed to be real collections, > implemented by all SRFI-44 providers? If not, then why are they in the > SRFI? If so, then how do you deal with lists and vectors that aren't > *just* lists and vectors? Does SRFI-44 really treat a Scheme alist as if > it were just a simple list? 44 never just takes an existing vector or list and says "Hey, you're an SRFI-44 sequence". Valid 44 collections must be created using the make-list and make-vector or list and vector constructors. Any behavior with primitive Scheme types is undefined. > It'd be better to use distinct, non-primitive types for *all* of them, > rather than fooling around with primitive ADTs inconsistently. If you > do, however, be careful to rename "list" and "vector," like you renamed > "alist." Its not really necessary with list and vector so much since the operators are all largely compatible with R5RS. See also the discussion on c.l.s. about PLT, raise, and modules (which your already involved in, right?) Scott