Size: a a a

2021 March 15

AK

Aleksey Kislitsa in Scala Jobs
Αγβεκ
получается он строит эту ленивую конструкцию из Eval
понятно что стек не взорвешь - но может ведь случится что в куче
создастся довольно большая структура
В куче при любом раскладе может что то неподьемное создасться, мало ли что за функцию туда передашь. Разве нет?
источник

A

Alex in Scala Jobs
Αγβεκ
получается он строит эту ленивую конструкцию из Eval
понятно что стек не взорвешь - но может ведь случится что в куче
создастся довольно большая структура
Это как раз трамполайнинг и есть
источник

A

Alex in Scala Jobs
В хаскеле есть проблема с длинными thunk и там для этого есть костыль в виде seq оператора который форсит вычисление
источник

AK

Aleksey Kislitsa in Scala Jobs
Αγβεκ
точно в котах смотришь?
Коты только для Scala2? Для Scala3 3.0.0-RC1 их еще нет?
источник

Α

Αγβεκ in Scala Jobs
Aleksey Kislitsa
В куче при любом раскладе может что то неподьемное создасться, мало ли что за функцию туда передашь. Разве нет?
Согласен
источник

EK

Evgenii Kuznetcov in Scala Jobs
А foldr вообще нужен в неленивых языках?
источник

Α

Αγβεκ in Scala Jobs
Aleksey Kislitsa
Коты только для Scala2? Для Scala3 3.0.0-RC1 их еще нет?
https://mvnrepository.com/artifact/org.typelevel/cats-core
вроде поддерживает
но я не пробовал
источник

Α

Αγβεκ in Scala Jobs
Evgenii Kuznetcov
А foldr вообще нужен в неленивых языках?
неленивые языки существуют?
источник

ΛВ

Λнтон Войцишевский... in Scala Jobs
Αγβεκ
неленивые языки существуют?
Все кроме хаскеля и рядом
источник

Α

Αγβεκ in Scala Jobs
Λнтон Войцишевский
Все кроме хаскеля и рядом
в си чувак один написал ленивые конструкции
источник

NV

Nikita Vilunov in Scala Jobs
Αγβεκ
в си чувак один написал ленивые конструкции
ну это конструкции, а не язык
источник

ΛВ

Λнтон Войцишевский... in Scala Jobs
Поддержка ленивости != Полной ленивости языка
источник

Α

Αγβεκ in Scala Jobs
тонкий момент - дабы дальше не спорить о пустом
давайте определимся
ленивый язык - это язык в котором нельзя создать ленивые конструкции
или это язык в котором нет встроенно этой возможности?
источник

AS

Artem Sokolov in Scala Jobs
в том в котором по умолчанию принята ленивость
источник

Α

Αγβεκ in Scala Jobs
Artem Sokolov
в том в котором по умолчанию принята ленивость
а в скале по умолчанию ленивость?
и что значит по умолчанию?
источник

AS

Artem Sokolov in Scala Jobs
ленивые конструкции можно в любом. в большинстве они есть в стдлибе или даже в языке. но они не являются поведением по умолчанию
источник

NV

Nikita Vilunov in Scala Jobs
ленивый язык это где много платят за мало работы
источник

AS

Artem Sokolov in Scala Jobs
Αγβεκ
а в скале по умолчанию ленивость?
и что значит по умолчанию?
ну кмк - по умолчанию значит что либо большинство конструкций стдлибы рассчитываю/подразумеваю/выдают ленивые конструкции
также возможно что большниство кода, который считается сообществом языка идиоматическим на большую часть состоит из ленивых конструкций
источник

Α

Αγβεκ in Scala Jobs
Artem Sokolov
ну кмк - по умолчанию значит что либо большинство конструкций стдлибы рассчитываю/подразумеваю/выдают ленивые конструкции
также возможно что большниство кода, который считается сообществом языка идиоматическим на большую часть состоит из ленивых конструкций
через бабло определение проще
источник

ΛВ

Λнтон Войцишевский... in Scala Jobs
Artem Sokolov
ну кмк - по умолчанию значит что либо большинство конструкций стдлибы рассчитываю/подразумеваю/выдают ленивые конструкции
также возможно что большниство кода, который считается сообществом языка идиоматическим на большую часть состоит из ленивых конструкций
Там же есть вполне конкретное определение через модель вычислений. Вряд ли можно сделать ленивый язык не на экспрешнах.
источник