February 12, 2011
On Friday, February 11, 2011 17:02:18 Michel Fortin wrote:
> On 2011-02-11 19:55:05 -0500, bearophile <bearophileHUGS@lycos.com> said:
> > I am not going to invent a new wonderful name for it, sorry :-) My
> > votes, in decreasing order of preference:
> > 1) By far, a syntax like a..b:c, or missing that, a syntax like a..b
> 
> No one noticed yet that the a..b:c syntax causes ambiguity? Tell me, how do you rewrite this using the new proposed syntax:
> 
> 	auto aa = [iota(a, b, c): 1, iota(d, e): 2];
> 
> > 3) If you refuse the word "range", then my third choice is "interval". It's as cleas as range, but it's a bit worse because it's longer.
> 
> Interval is clear only as long as there's no step value mentioned. Having a step value is quite a stretch from the usual notion of an interval.
> 
> I like a lot so's suggestion "walk". I'm not sure it's much clearer than iota though.

Honestly, I'd prefer iota to walk or interval. I see walk and I think about walkLength. It certainly isn't enough to tell me what the function does. interval is slightly better, but as you mention, the step value muddles that abstraction. While iota isn't clear, it _does_ have the advantage that you're not going to _mis_understand what it does based on its name, and it is _highly_ memorable. It's also short, which is nice. genSequence is pretty much the only thing that I've been able to think of that I like at all, but I'm perfectly fine with keeping iota, honestly. It's short, and I'll actually remember it, even if I don't use it all of the time.

The thing about this kind of voting though is that it's likely that all of the folks who dislike the status quo will comment/complain and vote, whereas the people who don't really care or who actually really like the status quo mostly probably already stop reading this thread and won't say anything. So, it will look like the consensus is that the status quo is bad even if the majority actually don't agree. So, if we want to actually vote on this, then we should come up with a set of suggestions for the name and then start a new thread vote the vote. Personally, I'd just as soon leave iota as-is.

- Jonathan M Davis
February 12, 2011
On 02/12/2011 02:36 AM, Daniel Gibson wrote:
> Am 12.02.2011 02:25, schrieb bearophile:
>> Michel Fortin:
>>
>>> No one noticed yet that the a..b:c syntax causes ambiguity? Tell me,
>>> how do you rewrite this using the new proposed syntax:
>>>
>>> 	auto aa = [iota(a, b, c): 1, iota(d, e): 2];
>>
>> Right, that's why in another post I have said that syntax replaces most iota usages. There are some situations where you can't use it well. This is another situation I've shown in the enhancement request:
>> iota(10.,20.)
>> Writing it like this is not sane:
>>   10...20.
>>
>>
>>> Interval is clear only as long as there's no step value mentioned.
>>> Having a step value is quite a stretch from the usual notion of an
>>> interval.
>>
>> Right, but I think it's acceptable still, and better than iota.
>>
>>
>>> I like a lot so's suggestion "walk". I'm not sure it's much clearer
>>> than iota though.
>>
>> It's better than iota, but not by much.
>>
>> Bye,
>> bearophile
>
> I think it's much better. Even having "steps" (or a stepsize) is obvious with walk.
>
> iota only makes sense when you know this from other languages/libraries or if
> your native spoken language has a similar word that can be somehow connected.
> http://en.wiktionary.org/wiki/iota doesn't give a real connection (and two
> English->German dictionaries I've checked don't either - one only listed iota as
> the greek letter, the other had mentions about something tiny) - it's just
> something small like that greek i-without-a-dot letter.
> There's nothing that connects it to a range of values with a fixed step size.

That page looks listing various meanings in foreign languages, but mostly stincks with the greek letter; it does not mention any sense everday sense iota actually has. Example fro fr.wiktionary:

# Nom de ι, Ι, neuvième lettre et quatrième voyelle de l’alphabet grec. Équivalent du i latin.
# Petite quantité négligeable, presque rien.

Free translation: little negligible quantity, nearly nothing.
There are good chances iota has a similar meaning in numerous languages, especially romance ones. Bearophile, Andrei?

Denis
-- 
_________________
vita es estrany
spir.wikidot.com

February 12, 2011
On 02/12/2011 03:05 AM, Jonathan M Davis wrote:
> While iota isn't clear, it _does_ have the advantage that you're
> not going to _mis_understand

Maybe you say this because iota does not mean anything for you (?). I can easily imagine various appropriate uses of iota in a PL, like:

* smallest representable value in a given numeric format
* threshold over which some measure should be taken into account
* threshold under which some difference should be ignored
* range for approximate equality (approxEquals: |x - y| < iota)
* tolerance interval of technical measures (similar)
* ...what else?

(I would be surprised if actual uses of iota in english do not point toward this kind of senses.)

Denis
-- 
_________________
vita es estrany
spir.wikidot.com

February 12, 2011
Am 12.02.2011 04:49, schrieb spir:
> On 02/12/2011 02:36 AM, Daniel Gibson wrote:
>> Am 12.02.2011 02:25, schrieb bearophile:
>>> Michel Fortin:
>>>
>>>> No one noticed yet that the a..b:c syntax causes ambiguity? Tell me, how do you rewrite this using the new proposed syntax:
>>>>
>>>>     auto aa = [iota(a, b, c): 1, iota(d, e): 2];
>>>
>>> Right, that's why in another post I have said that syntax replaces most iota
>>> usages. There are some situations where you can't use it well. This is
>>> another situation I've shown in the enhancement request:
>>> iota(10.,20.)
>>> Writing it like this is not sane:
>>>   10...20.
>>>
>>>
>>>> Interval is clear only as long as there's no step value mentioned. Having a step value is quite a stretch from the usual notion of an interval.
>>>
>>> Right, but I think it's acceptable still, and better than iota.
>>>
>>>
>>>> I like a lot so's suggestion "walk". I'm not sure it's much clearer than iota though.
>>>
>>> It's better than iota, but not by much.
>>>
>>> Bye,
>>> bearophile
>>
>> I think it's much better. Even having "steps" (or a stepsize) is obvious with
>> walk.
>>
>> iota only makes sense when you know this from other languages/libraries or if
>> your native spoken language has a similar word that can be somehow connected.
>> http://en.wiktionary.org/wiki/iota doesn't give a real connection (and two
>> English->German dictionaries I've checked don't either - one only listed iota as
>> the greek letter, the other had mentions about something tiny) - it's just
>> something small like that greek i-without-a-dot letter.
>> There's nothing that connects it to a range of values with a fixed step size.
> 
> That page looks listing various meanings in foreign languages, but mostly stincks with the greek letter; it does not mention any sense everday sense iota actually has. Example fro fr.wiktionary:
> 
> # Nom de ι, Ι, neuvième lettre et quatrième voyelle de l’alphabet grec.
> Équivalent du i latin.
> # Petite quantité négligeable, presque rien.
> 
> Free translation: little negligible quantity, nearly nothing.
> There are good chances iota has a similar meaning in numerous languages,
> especially romance ones. Bearophile, Andrei?
> 
> Denis

I don't think a iota representing something small is too helpful.
iota() produces a (possibly very long) range of values with a possibly huge step
size (but even with a fixed step size of one it wouldn't make much sense to me).

Cheers,
- Daniel
February 12, 2011
On Friday 11 February 2011 20:01:23 spir wrote:
> On 02/12/2011 03:05 AM, Jonathan M Davis wrote:
> > While iota isn't clear, it _does_ have the advantage that you're not going to _mis_understand
> 
> Maybe you say this because iota does not mean anything for you (?). I can easily imagine various appropriate uses of iota in a PL, like:
> 
> * smallest representable value in a given numeric format
> * threshold over which some measure should be taken into account
> * threshold under which some difference should be ignored
> * range for approximate equality (approxEquals: |x - y| < iota)
> * tolerance interval of technical measures (similar)
> * ...what else?
> 
> (I would be surprised if actual uses of iota in english do not point toward
> this kind of senses.)

iota is almost entirely unused in English. You might say something like "that doesn't make an iota of sense," but it's pretty rare. And even if you do, it's an iota of _something_, so something like |x - y| < iota would be just plain weird. Regardless, iota would be a weird name to use for _anything_ when naming variables or functions. It just isn't used much in English. And there are pretty much always going to be better names for the function or variable if you're trying to use iota for something similar to its actual meaning. If anyone tried to use iota to actually mean something as a variable or function name, I'd be suggesting that they pick a better nam.

- Jonathan M Davis
February 12, 2011
On 2/11/2011 4:07 PM, Andrei Alexandrescu wrote:
> On 2/11/11 8:32 AM, Daniel Gibson wrote:
>> Am 10.02.2011 12:40, schrieb spir:
>>>
>>> Certainly, because it's /highly/ important for a community of programmers to share the same "culture". And names are the main support&  vehicle for this culture.
>>>
>>> Denis
>>>
>>> (For this reason, I stoppped aliasing size_t and size_diff_t to Ordinal and
>>> Cardinal ;-) I use uint everywhere)
>>>
>>
>> This will cause trouble on 64bit systems, because there size_t is ulong.
>>
>> Cheers,
>> - Daniel
> 
> Yah... big problems on Phobos' 64-bit port.
> 
> Andrei

There were a lot of places that needed to change from uint to size_t, yes.  But bugs by the use of unsigned.. a rather small number.  Considering that I did the majority of the d2 64 bit work, I think I can say that with confidence in it's accuracy.

Later,
Brad
February 12, 2011
spir wrote:
> On 02/12/2011 03:05 AM, Jonathan M Davis wrote:
>> While iota isn't clear, it _does_ have the advantage that you're not going to _mis_understand
> 
> Maybe you say this because iota does not mean anything for you (?). I can easily imagine various appropriate uses of iota in a PL, like:
> 
> * smallest representable value in a given numeric format
> * threshold over which some measure should be taken into account
> * threshold under which some difference should be ignored
> * range for approximate equality (approxEquals: |x - y| < iota)
> * tolerance interval of technical measures (similar)
> * ...what else?
> 
	Range with a single element (i.e the smallest non-empty range).
Which is actually how I interpreted “iota” the first time I saw it
(since it was obvious from the context that it was a range).

		Jerome
-- 
mailto:jeberger@free.fr
http://jeberger.free.fr
Jabber: jeberger@jabber.fr



February 12, 2011
Jonathan M Davis wrote:
> On Friday 11 February 2011 20:01:23 spir wrote:
>> On 02/12/2011 03:05 AM, Jonathan M Davis wrote:
>>> While iota isn't clear, it _does_ have the advantage that you're not going to _mis_understand
>> Maybe you say this because iota does not mean anything for you (?). I can easily imagine various appropriate uses of iota in a PL, like:
>>
>> * smallest representable value in a given numeric format
>> * threshold over which some measure should be taken into account
>> * threshold under which some difference should be ignored
>> * range for approximate equality (approxEquals: |x - y| < iota)
>> * tolerance interval of technical measures (similar)
>> * ...what else?
>>
>> (I would be surprised if actual uses of iota in english do not point toward
>> this kind of senses.)
> 
> iota is almost entirely unused in English. You might say something like "that doesn't make an iota of sense," but it's pretty rare. And even if you do, it's an iota of _something_, so something like |x - y| < iota would be just plain weird. Regardless, iota would be a weird name to use for _anything_ when naming variables or functions. It just isn't used much in English. And there are pretty much always going to be better names for the function or variable if you're trying to use iota for something similar to its actual meaning. If anyone tried to use iota to actually mean something as a variable or function name, I'd be suggesting that they pick a better nam.
> 
	It is used enough to make it into the Collins Cobuild dictionary,
which uses statistics on word occurrences to decide whether they
should be included. One of the examples they regard as typical is:
“I don't think you've change an iota”, which means more or less
“|new - old| < iota”, so it is not that far fetched.

		Jerome
-- 
mailto:jeberger@free.fr
http://jeberger.free.fr
Jabber: jeberger@jabber.fr



February 12, 2011
On 02/11/11 19:36, Daniel Gibson wrote:
> Am 12.02.2011 02:25, schrieb bearophile:
>> Michel Fortin:
>>
>>> No one noticed yet that the a..b:c syntax causes ambiguity? Tell me, how do you rewrite this using the new proposed syntax:
>>>
>>> 	auto aa = [iota(a, b, c): 1, iota(d, e): 2];
>>
>> Right, that's why in another post I have said that syntax replaces most iota usages. There are some situations where you can't use it well. This is another situation I've shown in the enhancement request:
>> iota(10.,20.)
>> Writing it like this is not sane:
>>  10...20.
>>
>>
>>> Interval is clear only as long as there's no step value mentioned. Having a step value is quite a stretch from the usual notion of an interval.
>>
>> Right, but I think it's acceptable still, and better than iota.
>>
>>
>>> I like a lot so's suggestion "walk". I'm not sure it's much clearer than iota though.
>>
>> It's better than iota, but not by much.
>>
>> Bye,
>> bearophile
> 
> I think it's much better. Even having "steps" (or a stepsize) is obvious with walk.
> 
> iota only makes sense when you know this from other languages/libraries or if
> your native spoken language has a similar word that can be somehow connected.
> http://en.wiktionary.org/wiki/iota doesn't give a real connection (and two
> English->German dictionaries I've checked don't either - one only listed iota as
> the greek letter, the other had mentions about something tiny) - it's just
> something small like that greek i-without-a-dot letter.
> There's nothing that connects it to a range of values with a fixed step size.
> 
> Cheers,
> - Daniel

We have a related usage around here, but it's probably a local thing (western Kentucky).  I grew up hearing "iota" as a word for the shortest/smallest distance/difference between two things, or (indirectly) the frequency of a thing.

Not really an argument in favor of the name, mind you; but the usage had to originate from *somewhere* and so I submit that it has probably never been "official" but yet common at various times and places.

-- Chris N-S
February 12, 2011
On 02/11/2011 11:14 PM, Jonathan M Davis wrote:
>
> If anyone tried to use iota to actually mean something as a variable
> or function name, I'd be suggesting that they pick a better nam.

So you're saying you don't like Andrei's chosen name? ;)