Re: [go-nuts] why "iota"?

2,206 views
Skip to first unread message

Martin Schnabel

unread,
Apr 27, 2013, 8:52:36 PM4/27/13
to golan...@googlegroups.com
> Wikipedia says it's a greek alphabet that looks like i, and I am seeing
> APL used iota for something like range() in python, which makes
> go-lang's use of iota a bit different from that in APL.
>
> iota sounds cool, and I like it, but I wonder if that coolness was the
> primary reason behind the name of an important language construct, or
> there are some relevant legacy behind the character.

from http://en.wiktionary.org/wiki/iota#Noun
... 2. A jot; a very small, inconsiderable quantity.

hope that helps to clarifies it

yy

unread,
Apr 27, 2013, 9:42:09 PM4/27/13
to nemo...@gmail.com, golang-nuts
On 27 April 2013 20:38, <nemo...@gmail.com> wrote:
iota sounds cool, and I like it, but I wonder if that coolness was the primary reason behind the name of an important language construct, or there are some relevant legacy behind the character.

Limbo has iota too. It is a bit different, but I'd consider it a relevant legacy.


--
- yiyus || JGL .

Steven E. Harris

unread,
Apr 28, 2013, 11:08:37 AM4/28/13
to golan...@googlegroups.com
nemo...@gmail.com writes:

> iota sounds cool, and I like it, but I wonder if that coolness was the
> primary reason behind the name of an important language construct, or
> there are some relevant legacy behind the character.

I can't speak to the binding between the character and its meaning in
programming, but there is precedent for "iota" meaning "generate a
sequence of increasing integers from one number to another."

C++ has std::iota: http://en.cppreference.com/w/cpp/algorithm/iota.
Scheme has an "iota" function, as does APL.

The behavior is common, even if it appears under a different
name. Clojure has "range,"¹ and the SERIES Common Lisp library has
"scan-range."²


Footnotes:
¹ http://clojure.github.io/clojure/clojure.core-api.html#clojure.core/range
² http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node350.html#SECTION003421000000000000000

--
Steven E. Harris


Lucio

unread,
Apr 29, 2013, 12:19:23 AM4/29/13
to golan...@googlegroups.com


On Sunday, 28 April 2013 17:08:37 UTC+2, Steven Harris wrote:
nemo...@gmail.com writes:
Scheme has an "iota" function, as does APL. 

I seem to recall it was "iota" for "index" in APL.

Lucio.

Tobia

unread,
Aug 21, 2013, 4:26:08 PM8/21/13
to golan...@googlegroups.com
On Monday, April 29, 2013, Lucio wrote:
I seem to recall it was "iota" for "index" in APL.

That's right. To this day ⍳N is recognized in all dialects of APL. It generates an array of integers from 1 to N, or from 0 to N-1, depending on the index origin of the particular dialect.

It was described in Kenneth Iverson's 1962 book A Programming Language (hence APL) and before that it was part of the so-called Iverson notation, created in 1957 and used for many years in academic circles. So it predates C (1972), UNIX (1969) and most probably even LISP (1958).

Kudos to the Go team for using the correct names for ideas that are older than most of us.


By the way, APL is a great language. I'm currently studying and comparing the existing dialects and working on my own highly concurrent implementation, in Go. I will post an announcement as soon as I have something ready on my Github profile (but don't hold your breath, it could be months away.)

Tobia

liyu...@gmail.com

unread,
Nov 9, 2016, 8:26:03 AM11/9/16
to golang-nuts
I don`t know how to speak 'iota' too,I have to say "i---o---t---a" when I talk with somebody. 

在 2013年4月28日星期日 UTC+8上午8:52:36,mb0写道:

Marvin Renich

unread,
Nov 9, 2016, 9:30:54 AM11/9/16
to golang-nuts
* liyu...@gmail.com <liyu...@gmail.com> [161109 08:26]:
Speaking as a former APL language implementer, I think the Go use of
iota is very much in line with the APL definition: it produces
successive integers. APL, being an array oriented language, produces
them all at once, but the basic idea is the same.

In APL, ⍳7 produces the vector (one-dimensional array) 1 2 3 4 5 6 7.

Iota is pronounced eye-OH-tuh.

...Marvin

John McKown

unread,
Nov 9, 2016, 9:33:33 AM11/9/16
to liyu...@gmail.com, golang-nuts
On Wed, Nov 9, 2016 at 12:04 AM, <liyu...@gmail.com> wrote:
I don`t know how to speak 'iota' too,I have to say "i---o---t---a" when I talk with somebody. 


​Being a crude Texan, I pronounce it like "eye ough ta"​
 
​(which is also how I pronounce "i ought to" because, well, I'm a Texan! [grin]). BTW, it's also the 9th letter in the Greek alphabet.​
​ref: https://www.youtube.com/watch?v=0T1sUNyqWPo which is not how I pronounce it, but more like Marvin says.​


--
Heisenberg may have been here.


Maranatha! <><
John McKown

Michael Jones

unread,
Nov 9, 2016, 10:02:55 AM11/9/16
to liyu...@gmail.com, golang-nuts

Iota is indeed a Greek letter, the one from which western alphabets inherited the letter ‘i’ (⍳). If you read Comparative Grammar of Greek and Latin (Darling, 1933) or the New Comparative Grammar of Greek and Latin (Sihler), you’ll discover that iota and its friend upsilon share quite a bit of history. They both come from Phoenician, and they both brought the magic now exhibited by the modern English ‘Y’ (Υ), of having both consonantal and nonconsonantal forms.

 

This was one of the great mysteries from my childhood, where I was taught in school that the English vowels were A, E, I, O, U, and sometimes, Y. That baffled me, how Y could be a “sometimes” vowel, as if that made it “less than a real vowel.” That seemed crazy to me. Certainly Superman was not less of a superman because he was sometimes Clark Kent. In fact, I tried to recruit people to my Vowel Movement to get Y classified as a vowel that was sometimes a consonant, more in keeping with its gravitas from the special vowel role. Amazingly nobody in my school cared and no teacher could explain the dual status of ‘Y’.

 

You can imagine my delight to learn that I and Y came to English from Phoenicia by way of Greece and in both languages they had this kind of dual citizenship—but in both they were regarded as vowels with specialness. So the vowel movement turns out to be historical fact and not just a little boys hope.

 

Iota’s role in APL as an index generator is also central as the basis of many vector functions—a typical Go loop on an index variable “for i:=0; I < N; i++{x[i] = F(y[i])}”is natural in J or APL as “F()” mapped across “iota N.” The index generator role, “ 5” -> “1 2 3 4 5” is the inspiration for Go’s iota in blocks of constant declarations. It is very common in C and C++ CPP headers to see long chains of definitions like:

 

#define ConditionA 0

#define ConditionB 1

#define ConditionC 2

:

 

and the Go team (Ken Thompson IIRC) saw that “0 1 2…” and thought of iota. This was great!

 

Pronunciation is simply the natural way, if you’re Phoenician or Greek. If not, have a listen at the Oxford website, which has “real” and Americanized pronunciations:

 

https://painfulenglish.wordpress.com/2013/08/03/how-to-pronounce-greek-letters-in-english/

http://www.oxfordlearnersdictionaries.com/definition/english/iota

 

According to the OED, the meaning of iota as “a small or insignificant quantity” derived from iota being the smallest letter in the Greek alphabet (i.e., physical orthography.)

 

P.S. Yes, this is a little bit more detailed than was necessary…but…many of us are working hard to find joy today.

--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Rob Pike

unread,
Nov 9, 2016, 10:25:42 AM11/9/16
to Michael Jones, liyu...@gmail.com, golang-nuts
It is my understanding that the use of iota in the phrase "not one iota of difference" relates to the epistemological debate about the difference of the (Greek) terms homoousian and homoiousian.

But yes, Ken suggested iota for the counter and, since all three of us (Ken, Robert, Rob) had implemented APL interpreters, it seemed a perfect thing to us, however insignificant iotas may or may not be in gnosiology.

-rob


To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.

andrey mirtchovski

unread,
Nov 9, 2016, 11:01:10 AM11/9/16
to Rob Pike, Michael Jones, liyu...@gmail.com, golang-nuts
> gnosiology.

not to be confused with "gnusiology", the philosophy of using two
dashes where one would suffice.

Konstantin Khomoutov

unread,
Nov 9, 2016, 11:15:04 AM11/9/16
to Michael Jones, liyu...@gmail.com, golang-nuts
On Wed, 09 Nov 2016 07:02:38 -0800
Michael Jones <michae...@gmail.com> wrote:

[...]
> According to the OED, the meaning of iota as “a small or
> insignificant quantity” derived from iota being the smallest letter
> in the Greek alphabet (i.e., physical orthography.)
>
> P.S. Yes, this is a little bit more detailed than was necessary…but…
> many of us are working hard to find joy today.

Make Iota great again!

P.S.
Thanks for your write up. ;-)

David Chase

unread,
Nov 9, 2016, 3:37:20 PM11/9/16
to golang-nuts
If you're looking for Greek pronunciation of Greek letters, there's this:
which agrees with what I learned in high school (and what is now stuck in my head).

Dan Kortschak

unread,
Nov 9, 2016, 6:58:30 PM11/9/16
to Marvin Renich, golang-nuts
Or yoh-ta (like Yoda, but with s/d/t/) if not in America.

On Wed, 2016-11-09 at 09:30 -0500, Marvin Renich wrote:
> Iota is pronounced eye-OH-tuh.

Konstantin Khomoutov

unread,
Nov 10, 2016, 7:09:59 AM11/10/16
to Dan Kortschak, Marvin Renich, golang-nuts
On Thu, 10 Nov 2016 10:27:49 +1030
Dan Kortschak <dan.ko...@adelaide.edu.au> wrote:

> On Wed, 2016-11-09 at 09:30 -0500, Marvin Renich wrote:
> > Iota is pronounced eye-OH-tuh.
>
> Or yoh-ta (like Yoda, but with s/d/t/) if not in America.
>

I concur that here in Russia we taught to spell it yoh-ta on our math
high school courses.

Michael Jones

unread,
Nov 10, 2016, 9:43:40 AM11/10/16
to Konstantin Khomoutov, Dan Kortschak, Marvin Renich, golang-nuts
“…on our math high school courses.”

Which I imagine are like my college math courses!


-----Original Message-----
From: <golan...@googlegroups.com> on behalf of Konstantin Khomoutov <flat...@users.sourceforge.net>
Date: Thursday, November 10, 2016 at 4:09 AM
To: Dan Kortschak <dan.ko...@adelaide.edu.au>
Cc: Marvin Renich <mr...@renich.org>, golang-nuts <golan...@googlegroups.com>
Subject: Re: [go-nuts] why "iota"?

--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.

Rob Pike

unread,
Nov 10, 2016, 9:50:11 AM11/10/16
to Michael Jones, Konstantin Khomoutov, Dan Kortschak, Marvin Renich, golang-nuts
You had math in high school?

-rob


    To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.

    For more options, visit https://groups.google.com/d/optout.



--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.

Konstantin Khomoutov

unread,
Nov 10, 2016, 10:28:38 AM11/10/16
to Michael Jones, Konstantin Khomoutov, Dan Kortschak, Marvin Renich, golang-nuts
On Thu, 10 Nov 2016 06:43:09 -0800
Michael Jones <michae...@gmail.com> wrote:

> “…on our math high school courses.”
>
> Which I imagine are like my college math courses!

Oh, yes, I meant college; silly me ;-)

The problem is that we have somewhat incompatible denominations for
these education-related terms, and what americans call "high school" is
called with what translates like "middle school" here.

Michael Jones

unread,
Nov 10, 2016, 10:50:19 AM11/10/16
to Konstantin Khomoutov, Dan Kortschak, Marvin Renich, golang-nuts
…I was not correcting you. I was saying that the whole world appreciates the strength of Russian math education as consistently demonstrated in the International Mathematical Olympiad. (This is the Olympics that excites me, the place for people who can wrestle with exponential generating functions as ably as people in the other Olympics can throw a stick or kick a ball.)

поздравления

-----Original Message-----
From: Konstantin Khomoutov <flat...@users.sourceforge.net>
Date: Thursday, November 10, 2016 at 7:28 AM
To: Michael Jones <michae...@gmail.com>
Cc: Konstantin Khomoutov <flat...@users.sourceforge.net>, Dan Kortschak <dan.ko...@adelaide.edu.au>, Marvin Renich <mr...@renich.org>, golang-nuts <golan...@googlegroups.com>
Subject: Re: [go-nuts] why "iota"?

Reply all
Reply to author
Forward
0 new messages