4

C++11 introduced a function called iota. Which "Assigns to every element in the range [first,last) successive values of val, as if incremented with ++val after each element is written."

Can someone explain what "iota" means here though?

I looked up "iota" and it seems to have nothing to do with generating a range.

Jonathan Mee
  • 37,899
  • 23
  • 129
  • 288

3 Answers3

9

Quoting this non-authoritative, but nonetheless correct, wiki:

The function is named after the integer function ⍳ from the programming language APL.

In APL, the ⍳ function (represented with the ninth letter of the Greek alphabet, iota) is used to create a zero-based array of consecutive, ascending integers of a specified length.

ildjarn
  • 62,044
  • 9
  • 127
  • 211
5

It's a Greek letter used in mathematics to denote a set of consecutive numbers. Iota use in APL.

Tyler Jandreau
  • 4,245
  • 1
  • 22
  • 47
2

This page has a very plausible-seeming explanation:

The Greek letter iota is used in the programming language APL to generate a sequence of consecutive integers.

unwind
  • 391,730
  • 64
  • 469
  • 606