Мне интересно, если кто-нибудь знает, почему библиотека Scala останавливается на 22
с его типом tuple Tuple22
?
Имеет ли таинственный номер 22
особый скрытый смысл?
Это внутренняя шутка?
Почему библиотека Scala определяет только кортежи до Tuple22?
Ответ 1
Этот вопрос не является новым, см. http://scala-programming-language.1934581.n4.nabble.com/Why-tuples-only-to-22-td1945314.html или почему FunctionN (0-22 ) ProductN (1-22) TupleN (1-22)?
AFAIK нет "технического" объяснения, просто нужно было где-то остановиться.
Ответ 2
Я полагаю, что это связано с трудностями при внедрении системы статического типа с использованием переменных функций (произвольных аргументов). Я считаю, что apply
можно записать в Scala (хотя и не в Haskell, по крайней мере, не изящно).
Ответ 3
Лимит класса case был снят в 2.11 https://github.com/scala/scala/pull/2305