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)
|
> From: xxxxxx@freenetproject.org >> 1) [call/cc cursors capture protect their continuation] > This is nothing compared to the kind of leaks that are possible with > cursors alone. Thats one of the major arguments for enumeration after > all. I have no idea what you're talking about. > Btw, you're mistaken about call/cc and dynamic environments, I believe. > Try this code in a Scheme system: > (define x #f) > (begin (call/cc (lambda (k) (set! x k))) (display "hi")) > (current-output-port (open-output-file "/tmp/foo")) > (x) What do you think I'm mistaken about? I was thinking about typical implementations of WITH-{INPUT,OUTPUT}-FILE which handle escape continuations as you'd expect (which, admittedly, is not required by R5RS). In general, any feature of a program that uses dynamic scope is going to interact awkwardly, at best, with call/cc-cursors. > > > > (error "there is no such thing as a set")) > Hardly. A function like the one taylor wrote is explicitly illegal=20 > based on the definition of union, assuming a real set is being passed. But since 44 gives no way to create a real set, a conforming implementation can use implementations that just call error. > > I'm saying: either don't try to operate on the Scheme types at all, or > > design 44 in such a way that the collections procedures work on (at > > least): [e.g., uses of lists as sequences, sets, ordered > > sequences, and (as association lists) dictionaries.] > The problem here is that the generic inter-collection operators > (add-all, etc) are too useful. There are plenty of ways to do operations like that that don't rely on a collection type -- and some of those ways are better. If I want to ADD-ALL from some list, I want different things depending on whether I'm using the list as a sequence or a dictionary. Do you think it's impossible to provide interfaces that let me make that distinction? > Changing the SRFI to support non-collection datastructures at > the expense of this flexibility is just not an option. There is > also a lot of new formalism in this SRFI that you often need a > more complicated datastructure to encapsulate, and which needs > to be passed around with the collection. > I think your mistake is confusing datastructures, which are low > level (lists, pairs, vectors) with collections. A collection is > a combination of datastructure, semantics, and interface. That's a red herring. Lists and associatve lists are an example of non-disjoint types both of which have a clear interpretation both as a sequence and a dictionary but I don't think they are the only one. It is an inessential property of a sequence that it also be not-a-dictionary. Introducing collection procedure which require sequences to be disjoint from dictionaries treats that inessential distinction as an essential one: it makes the interfaces in 44 less suitable for future extension. -t