Alexander
@zraffer я не понимаю, тебя честно
Alexander
ты сидишь считаешь себя на 100% справедливым
Anonymous
Alexander
и вечно пишешь про не переубедить и не слушать
Alexander
давай так
Alexander
я сейчас тебе кидаю статью
Alexander
ты приводишь контр агрументы
Alexander
и после этого продолжаем
Alexander
какую-нить древню wadler
Anonymous
а скажите пожалуйста, почему большинство остальных языков продолжает пользоваться eager, и не спешит пользоваться хаскелльными открытиями?
Alexander
потому, что реализация хорошей ленивости это сложная задача, например?
Евгений
Потому что буржуазное общество ультраконсервативно и не может без насилия принимать революционные изменения :)
Alexander
потому, что для ленивого языка нужно сразу реализовывать половину экосистемы?
Alexander
потому, что людей учат на бейсиках?
Alexander
хотя во всяких FRP и подобном подходы приходят в 99% языков
Alexander
ну и потому, что агрумент про миллионы мух странный?
Anonymous
если "хорошей" подразумевает оптимизацию при постонном ее использовании везде в языке, то да. Если же нужно, грубо говоря, реализовать один тип Stream, то он есть сейчас в большинстве языков, даже в таких "ограниченных", как Агда.
Евгений
В агде граф-редукция по умолчанию вообще-то
Евгений
Сори что разбил иллюзии, придётся тебе выкинуть агду
Alexander
так чтобы использование ленивости не приводило к 2+х просаживанию производительности
Alexander
как в 99% языках
Anonymous
Евгений
Нет, потому что невозможно встроить коиндукцию в язык с зависимыми типами, если редукция не ленивая
Евгений
А вовсе не из-за хаскеля
a66ath
Anonymous
Alexander
@iamweasel давай без картинок плз
Alexander
и так чят тяжело читать
Alexander
там нету ленивости
Alexander
есть некое подобие, которое не работает
Alexander
и работает как call-by-name, а не call-by-need
Alexander
@A64m_qb0 я для денег пишу :( ну и для удовольствия конечно
Anonymous
A64m
Alexander
последний раз когда я сталкивался с идрисом я забил на ленивость вообще
Anonymous
но позор не Идрису как языку, а его текущей реализации.
Alexander
и имел радостный сложный код, частенько ещё и квадратичный вместо линейного
Alexander
но это было 1.0 (за месяц)
A64m
Alexander
у меня ещё тогда он impossible случай выводил, где не impossible
Alexander
и ещё какой-то баг в прувере был
Alexander
последние 2 правда перед релизом поправили
Alexander
в общем интересный язык для type-level вещей
Anonymous
если Вы помните, то я предлагал не углубляться. поскольку вопрос для хаскеллеводов слишком религиозный.
Alexander
где в haskell реально страдаешь, и 50% людей точно эти страдания легко не повторят
Alexander
@zraffer он не религиозный, тут вроде опять пишут агрументы, агрумент против был - почему 99% eager
Alexander
и то, что память сложно посчитать
кана
тут есть тема поважнее, кто сможет этот мемчик объяснить?
кана
кана
ааааа
Alexander
ааааа
отсылка к gc которые марлоу писал и их не включили
A64m
эти паттерны называются "функциональное программирование"
Alexander
@zraffer я попытался в идрисе написать many1 однажды для парсера
A64m
понятно, что если ФП не интересно, то "нормальные языки" вполне годятся
Alexander
я потратил на это 4+ часа
Alexander
количество граблей, которые я собрал было большим
Alexander
ну это про то, что ожидаешь и не ожидаешь ленивости
Alexander
и строгости
Anonymous
реаливовывать обычные вычисления поверх ленивых не просто трудно. тот вопрос с формализацией категории Hask тормозится в том числе из-за seq. Грубо говоря, достаточно просто реализовать семантику функтора Lazy в неленивом языке. а как сделать наоборот - никто не знает.
A64m
также очень смешно что любители строгих ФП называют выстреливанием в ногу то, что делают, к примеру, почти все списковые функции из стандартных библиотек этих языков, т.е. манифестацию полной копии обрабатываемой структуры в памяти одновременно
Alexander
а давайте устроим paper we love и вспомним, the essence of functional programming, вот хорошая статья чтобы поговорить про ленивость
Anonymous
Вы молитесь на авторитеты? я умолкаю.
A64m
не разу ни от одного не слышал, чтоб он свой строгий мап мемори ликом называл, потому что лики только в хаскеле!
Alexander
A64m
Anonymous
Anonymous
а стоп.
Alexander
> Грубо говоря, достаточно просто реализовать семантику функтора Lazy в неленивом языке.
про это было
Anonymous
Вы про что?
Alexander
вот нету ни одного примера эффективной реализации Lazy в неленивом языке
A64m
"достаточно просто реализовать семантику функтора Lazy в неленивом языке"
A64m
да и эффективность половина беды только
A64m
надо же еще и аннотировать везде
Alexander
про сообщение с seq и проблемами с формализацией я наверное даже соглашусь