Size: a a a

2021 September 26

AL

Alexander Luzgarev in Haskell Start
Утверждение «в хаскеле нет никаких проблем с бесконечной рекурсией» а) не следует из написанного выше; б) неверно.
источник

[

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

JS

Jerzy Syrowiecki in Haskell Start
в) в Хаскеле есть проблемы и с хвостовой рекурсией в особых случаях

г) в Хаскеле может оптимально работать и не хвостовая рекурсия
источник

[

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

AL

Alexander Luzgarev in Haskell Start
Да, я и не начал обсуждать, верно ли написанное выше
источник

[

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

JS

Jerzy Syrowiecki in Haskell Start
и спэйслик тоже. ещё можно сделать хвостовую рекурсию без аллокаций, чем перегрузить капабилити
источник
2021 September 27

E

Elijah in Haskell Start
как наилучшим способом использовать seq? или у меня устаревшая информация и его лучше не использовать?
источник

JS

Jerzy Syrowiecki in Haskell Start
лучше использовать его там, где вы уверены в его полезности
источник

E

Elijah in Haskell Start
переведу на занудский)
источник

E

Elijah in Haskell Start
когда можно быть уверенным в его полезности?
источник

E

Elijah in Haskell Start
я вот сейчас на каждый let добавил и вроде немного выиграл, но мне кажется что добавляя его везде я ошибусь
источник

JS

Jerzy Syrowiecki in Haskell Start
это в двух словах не расскажешь. надо изучать, в каких местах могут создаваться задумки, надо профилировать
источник

JS

Jerzy Syrowiecki in Haskell Start
ну и BangPattern выглядит приятнее, чем seq, хотя суть одна
источник

[

[BRM]White Rabbit in Haskell Start
самые простые спейслики в принципе распознать можно, а что-то неочевидное разве что профилированием, да
источник

[

[BRM]White Rabbit in Haskell Start
(самые простые спейслики это когда у тебя рекурсивно вызывается какая-то функция на аккумуляторе без форса значения самого аккумулятора)
источник

[

[BRM]White Rabbit in Haskell Start
т.е. допустим
f 0 x y = y
f n x y = f (n - 1) (x + y) x

значение n тут матчится каждую итерацию и потому задумки тут не копятся. Иная ситуация у x и y - вычисление x + y можно форсить seq-ом или бангпаттерном
источник

[

[BRM]White Rabbit in Haskell Start
ха, ещё красивым решением будет сделать так
f 0 x y = y
f n x y = y `seq` f (n - 1) (x + y) x


это по идее даже должно работать
источник
2021 September 29

FL

First name Last name in Haskell Start
Здравствуйте, чего он от меня хочет?)
источник

A

Aleksandr Khristenko in Haskell Start
А чего ты от него хочешь?
источник