Size: a a a

Compiler Development

2020 February 18

M

MaxGraey in Compiler Development
Yuriy Syrovetskiy
нет, должен быть ещё кэш
Это уже особенности реализации
источник

YS

Yuriy Syrovetskiy in Compiler Development
MaxGraey
Это уже особенности реализации
нет, это определение лени. ленивое вычисление не должно вычисляться больше одного раза (в Хаскеле теоретически может больше одного, но это как раз особенности)
источник

PS

Peter Sovietov in Compiler Development
источник

M

MaxGraey in Compiler Development
Yuriy Syrovetskiy
нет, это определение лени. ленивое вычисление не должно вычисляться больше одного раза (в Хаскеле теоретически может больше одного, но это как раз особенности)
Так кто говорил про ленивость? Ну и вообще танки обычно используются с трамплинами (точнее батутами =))
источник

YS

Yuriy Syrovetskiy in Compiler Development
MaxGraey
Так кто говорил про ленивость? Ну и вообще танки обычно используются с трамплинами (точнее батутами =))
thunk без кэша (не в контексте лени) — это просто замыкание. разве термин thunk в таком случае употребляется?
источник

PS

Peter Sovietov in Compiler Development
Yuriy Syrovetskiy
thunk без кэша (не в контексте лени) — это просто замыкание. разве термин thunk в таком случае употребляется?
источник

M

MaxGraey in Compiler Development
Yuriy Syrovetskiy
thunk без кэша (не в контексте лени) — это просто замыкание. разве термин thunk в таком случае употребляется?
Скажем так, без lazy evaluation в них нет особо смысла проще вызывать напрямую, но это не значит, что танки нельзя реализовать в ЯП без LE
источник

MS

Mikola Summer Duck in Compiler Development
K R
Раз уж так много обсуждений языков - вот Rust весь построен на unique_ptr из C++, Хаскель - на futures. А какой язык целиком построен на корутинах?
эммм
источник

MS

Mikola Summer Duck in Compiler Development
нет и нет?
источник

MS

Mikola Summer Duck in Compiler Development
Ой пардон, не прогрузились сообщения
источник

YS

Yuriy Syrovetskiy in Compiler Development
MaxGraey
Скажем так, без lazy evaluation в них нет особо смысла проще вызывать напрямую, но это не значит, что танки нельзя реализовать в ЯП без LE
я говорил о противоположном. в языке без лени можно реализовать и задумки, и лень, но задумка и создаёт лень
источник

YS

Yuriy Syrovetskiy in Compiler Development
кажется, не отличается от замыкания
источник

M

MaxGraey in Compiler Development
Yuriy Syrovetskiy
я говорил о противоположном. в языке без лени можно реализовать и задумки, и лень, но задумка и создаёт лень
В общем то да, можно сказать что она симулирует ленивость, так же как и промисы в Scheme:
https://www.gnu.org/software/mit-scheme/documentation/mit-scheme-ref/Promises.html
источник

АУ

Анна Удовиченко in Compiler Development
Yuriy Syrovetskiy
кажется, не отличается от замыкания
Ну это идиома, в которой замыкание можно применить, так что логично
источник

YS

Yuriy Syrovetskiy in Compiler Development
Анна Удовиченко
Ну это идиома, в которой замыкание можно применить, так что логично
а можно не применить?
источник

KR

K R in Compiler Development
Thunk & promise - две фигни, которые можно раскрыть в значение. В одном случае оно вычисляется вот прямо сейчас, а в другом оно могло быть вычислено перед этим. В однопотоке вся разница - thunk от undefined безопасен до раскрытия. Но вещи очень родственные.
источник

KR

K R in Compiler Development
Mikola Summer Duck
нет и нет?
unique_ptr - это и есть владение. В Rust просто он засунут в язык.
источник

MS

Mikola Summer Duck in Compiler Development
K R
unique_ptr - это и есть владение. В Rust просто он засунут в язык.
Неа
источник

MS

Mikola Summer Duck in Compiler Development
В расте скорее shared_lock какой-нибудь.
источник

KR

K R in Compiler Development
> std::unique_ptr is a smart pointer that owns and manages another object
источник