Size: a a a

2021 September 26

B

Blanko in Haskell Start
Про 80 баллов IQ маркетологи наверное добавили.
источник

[

[BRM]White Rabbit in Haskell Start
Или РЕФАЛ!
источник

A

Alex in Haskell Start
был еще КуМир
источник

AP

Aleksei (astynax) Pi... in Haskell Start
КуМир, это среда для программирования на ШАЯ
источник

A

Aragaer in Haskell Start
У меня Бейсик был раньше, чем ШАЯ, но просто он был дома.
источник

FL

First name Last name in Haskell Start
Здравствуйте, насколько я понял в haskell (и других функциональных языках) вместо циклов используется рекурсия. Тогда вопрос: что там с переполнением стека? Если у меня, например, есть поток, работающий вечно, или просто некое действие нужно повторить много раз (рекурсия, внутри которой еще несколько рекурсивных функций), то разве моя программа не умрет от переполнения стека?
источник

AP

Artem Pelenitsyn in Haskell Start
Основная реализация Хаскеля (GHC) не использует системный стек. Вместо этого, хаскельный стек это просто объект в куче.
источник

FL

First name Last name in Haskell Start
У него нет ограничений? Я могу наращивать глубину рекурсии столько, сколько захочу?
источник

AP

Artem Pelenitsyn in Haskell Start
У него есть ограничения (в компьютере память ограничена, так что было бы странно, если бы не было), но они намного более гибкие чем у системного стека. Плюс реализация вызова сильно отличается от системных конвенций вызовов: намного дешевле это стоит.
источник

FL

First name Last name in Haskell Start
Я имею в виду условно бесконечна) Я вас понял, спасибо
источник

[

[BRM]White Rabbit in Haskell Start
в хаскеле есть оптимизация хвостового вызова. которая не наращивает стек, а из-за ленивости хаскель умеет превращать некоторые нехвостовые вызовы в хвостовые
источник

[

[BRM]White Rabbit in Haskell Start
оптимизация хвостового вызова это когда

return foo();

оптимизируется до
goto foo
и адрес возврата не ложится на стек
источник

[

[BRM]White Rabbit in Haskell Start
так что в хаскеле нет никаких проблем с бесконечной рекурсией
источник

FL

First name Last name in Haskell Start
Хорошо, спасибо)
источник

AL

Alexander Luzgarev in Haskell Start
Удивительная импликация
источник

[

[BRM]White Rabbit in Haskell Start
??
источник

AL

Alexander Luzgarev in Haskell Start
Не бывает рекурсии кроме хвостовой?
источник

[

[BRM]White Rabbit in Haskell Start
я ответил на вопрос человека
источник

[

[BRM]White Rabbit in Haskell Start
а нехвостовая рекурсия в языках с циклами записывается с использованием структур данных: стека, очереди
источник

[

[BRM]White Rabbit in Haskell Start
которые так же как и несистемный стек в хаскеле, разбухают в куче и могут лопнуть
источник