seeds
Alex Shinn
(08 Oct 2015 05:03 UTC)
|
Re: seeds
taylanbayirli@xxxxxx
(08 Oct 2015 07:55 UTC)
|
Re: seeds
Arthur A. Gleckler
(08 Oct 2015 17:46 UTC)
|
Re: seeds
taylanbayirli@xxxxxx
(08 Oct 2015 19:38 UTC)
|
Re: seeds
Arthur A. Gleckler
(08 Oct 2015 21:47 UTC)
|
Re: seeds
taylanbayirli@xxxxxx
(09 Oct 2015 08:09 UTC)
|
Re: seeds
Kevin Wortman
(09 Oct 2015 17:18 UTC)
|
Re: seeds
taylanbayirli@xxxxxx
(09 Oct 2015 18:33 UTC)
|
Re: seeds
Kevin Wortman
(13 Oct 2015 17:36 UTC)
|
Re: seeds taylanbayirli@xxxxxx (13 Oct 2015 18:28 UTC)
|
Re: seeds
Alex Shinn
(14 Oct 2015 01:59 UTC)
|
Re: seeds
taylanbayirli@xxxxxx
(14 Oct 2015 09:17 UTC)
|
Re: seeds
taylanbayirli@xxxxxx
(14 Oct 2015 10:06 UTC)
|
Re: seeds
Alex Shinn
(16 Oct 2015 01:23 UTC)
|
Re: seeds
taylanbayirli@xxxxxx
(16 Oct 2015 13:34 UTC)
|
Re: seeds
Alex Shinn
(16 Oct 2015 23:48 UTC)
|
Re: seeds
taylanbayirli@xxxxxx
(17 Oct 2015 12:08 UTC)
|
Re: seeds
Alex Shinn
(17 Oct 2015 13:12 UTC)
|
Re: seeds
taylanbayirli@xxxxxx
(17 Oct 2015 14:09 UTC)
|
What SRFIs are for
John Cowan
(17 Oct 2015 14:41 UTC)
|
Re: What SRFIs are for
taylanbayirli@xxxxxx
(17 Oct 2015 15:56 UTC)
|
Re: What SRFIs are for
John Cowan
(17 Oct 2015 16:55 UTC)
|
Re: What SRFIs are for
taylanbayirli@xxxxxx
(17 Oct 2015 18:08 UTC)
|
Re: What SRFIs are for
John Cowan
(17 Oct 2015 18:51 UTC)
|
Re: seeds
John Cowan
(15 Oct 2015 17:49 UTC)
|
Re: seeds
Alex Shinn
(09 Oct 2015 02:54 UTC)
|
Re: seeds
taylanbayirli@xxxxxx
(09 Oct 2015 07:59 UTC)
|
Re: seeds
John Cowan
(15 Oct 2015 17:51 UTC)
|
Re: seeds
taylanbayirli@xxxxxx
(15 Oct 2015 23:08 UTC)
|
Re: seeds
John Cowan
(16 Oct 2015 13:09 UTC)
|
Re: seeds
taylanbayirli@xxxxxx
(16 Oct 2015 14:01 UTC)
|
Kevin Wortman <xxxxxx@gmail.com> writes: > Then please propose an API based on one of those which solves our > problem, without having any of the mentioned issues. I haven't > been able to come up with a satisfactory one. > > > Well, IIRC Alex Shinn has already proposed a procedure-based API and > reiterated it several times. If you mean the proposal of changing the signature of hash functions to hash(object, bound, seed), I explained some issues with that in previous mails on the list. (Please correct me if any of my explanations was wrong.) > And the only complaint lodged against using a parameter object seems > to be that referencing it costs one procedure call, which seems > perfectly acceptable for an infrequent operation in a > functional-leaning language. I would currently summarize my main complaints as: - Things will crash and burn when a hash table is operated on from two dynamic extents with different values for the hash salt. - It might be an intrusive change to the C code of some implementations, similar to (but not as bad as) changing hash function signatures. - Since the only real use-case is determinism for unit tests, even that one procedure-call seems excessive, when it could otherwise be a global variable in C whose value is set once at startup. If one uses functional style, then probably one shouldn't use SRFI-126 or any traditional hash table API at all, since they are intrinsically highly imperative. Other than that, I won't try to make guesses on how people might use hash tables. For instance Alex Shinn mentioned one might want very huge hash tables filling all of memory, or even on-disk ones, and it makes me happy if the specified API doesn't hinder that, although I prefer to not to make sacrifices for uncommon use-cases either so if you think point #1 above is no problem (we could encode exactly the mentioned limitation into the spec, saying a hash table must not cross between dynamic extents with different salts), and if nobody sees any other issues, then I won't clutch onto point #2. > I do not understand why environment variables should not be used > in Scheme specifications. They're a simple, ubiquitous mechanism > for controlling program behavior from the point of process > creation onward, some other alternatives being ARGV, the > filesystem, and standard IO ports, all of which seem inferior in > this case. > > > The problem is that environment variables are not actually ubiquitous > in the full sense of the word. There are Schemes that run on platforms > where environment variables don't exist. Raw-metal embedded systems > have already been mentioned, and there are also Scheme dialects that > run in Javascript and the GPU. Hmm, good point. Especially "web browser as platform" is getting pretty popular (however horrific it may seem in some ways) so it would probably be good not to discriminate against that. I'll ponder on whether it would be OK to just specify that a hash table should not be used across dynamic extents with different values for the salt parameter. Let me know if you have a better idea. Taylan