Size: a a a

Compiler Development

2019 September 29

AT

Alexander Tchitchigin in Compiler Development
Алексей
Там нет State monad. Там монад и нет никаких в чистом виде.
Да. Но хуки всё равно предоставляют (более-менее) функциональный интерфейс к состоянию.
источник

AT

Alexander Tchitchigin in Compiler Development
Впрочем, поскольку почти у каждого своё понимание что такое "функциональный" договориться тут почти ни о чём нельзя. 😊
источник

А

Алексей in Compiler Development
Что в них такого функционального?
источник

AT

Alexander Tchitchigin in Compiler Development
Алексей
Что в них такого функционального?
Собственно, вызовы функций. 😃
источник

А

Алексей in Compiler Development
ну так можно любой код на Си назвать функциональным, там тоже вызовы функций
источник

M

MaxGraey in Compiler Development
Непоймешь этих функциональщиков - раньше они все наперебой доказывали, что наличеие замыканий, функций и ADT это не признак функциональности, а теперь наоборот даже дедушка С стал вдруг фукциональным? =)
источник

S

Safort in Compiler Development
MaxGraey
Непоймешь этих функциональщиков - раньше они все наперебой доказывали, что наличеие замыканий, функций и ADT это не признак функциональности, а теперь наоборот даже дедушка С стал вдруг фукциональным? =)
Времена меняются)
источник

M

MaxGraey in Compiler Development
Если все отлично ложиться в функциональное программирование, то зачем тогда был придуман C--?) Который использовался для кодогенерации в GHC (Haskell) ?=)
источник

AT

Alexander Tchitchigin in Compiler Development
Алексей
ну так можно любой код на Си назвать функциональным, там тоже вызовы функций
Всё-таки хуки в React создают локальное состояние, поэтому не слишком сильно отличаются от State Monad, IMHO. 😊
источник

AT

Alexander Tchitchigin in Compiler Development
MaxGraey
Если все отлично ложиться в функциональное программирование, то зачем тогда был придуман C--?) Который использовался для кодогенерации в GHC (Haskell) ?=)
Процессоры-то продолжают производить императивные в силу длинного рядо причин. Но как мы уже выяснили, это не означает, что программировать их обязательно нужно в маш. кодах.
источник

M

MaxGraey in Compiler Development
Alexander Tchitchigin
Процессоры-то продолжают производить императивные в силу длинного рядо причин. Но как мы уже выяснили, это не означает, что программировать их обязательно нужно в маш. кодах.
Именно что на машинных кодах или универсальном ассемблере (то есть Cи или подобным ему). Потому что городить GC, CTO, СPS для того что бы более не менее генерить машинные команды - ну такое)
источник

AT

Alexander Tchitchigin in Compiler Development
MaxGraey
Именно что на машинных кодах или универсальном ассемблере (то есть Cи или подобным ему). Потому что городить GC, CTO, СPS для того что бы более не менее генерить машинные команды - ну такое)
источник

M

MaxGraey in Compiler Development
В Rust например есть макрос который инжектит ассемблерные вставки - собственно так и решается кодогенерация в большинстве случаев, но конечно можно написать совй DSL в функциональном стиле, что бы наслоить одну сложность (понимание низкоуровневого кода asm) на другую сложность (понимание функционально программирования) и получить продукт который никто не будет сопровождать
источник

AT

Alexander Tchitchigin in Compiler Development
MaxGraey
В Rust например есть макрос который инжектит ассемблерные вставки - собственно так и решается кодогенерация в большинстве случаев, но конечно можно написать совй DSL в функциональном стиле, что бы наслоить одну сложность (понимание низкоуровневого кода asm) на другую сложность (понимание функционально программирования) и получить продукт который никто не будет сопровождать
Ты зачем всю малину job secutity палишь?! 😂
источник

А

Алексей in Compiler Development
Alexander Tchitchigin
Всё-таки хуки в React создают локальное состояние, поэтому не слишком сильно отличаются от State Monad, IMHO. 😊
Оно настолько же локальное, насколько локален this в компонентах, написанных через классы. То есть принципиальное отличие хуков лишь в сокрытии того самого инстанса компонента.
источник

AT

Alexander Tchitchigin in Compiler Development
Алексей
Оно настолько же локальное, насколько локален this в компонентах, написанных через классы. То есть принципиальное отличие хуков лишь в сокрытии того самого инстанса компонента.
Но поскольку в функциональных компонентах нихрена кроме самой функции рендеринга нет - оно локально для функции.
источник

А

Алексей in Compiler Development
Фактически методы запихали внутрь одной функции (которая теперь раздуется и будет делать фактически всё, вместо собственно рендера). Ну и от классов избавились (они и так нормально не использовались и больше мешали). Если вам такого достаточно для того чтобы назвать эти штуки функциональщиной, которые кстати реализуются с помощью того самого злосчастного shared mutable state, то хорошо, называйте.
источник

AK

Andrei Kurosh in Compiler Development
Алексей
Фактически методы запихали внутрь одной функции (которая теперь раздуется и будет делать фактически всё, вместо собственно рендера). Ну и от классов избавились (они и так нормально не использовались и больше мешали). Если вам такого достаточно для того чтобы назвать эти штуки функциональщиной, которые кстати реализуются с помощью того самого злосчастного shared mutable state, то хорошо, называйте.
Эта функция теперь по сути получается конструктором компонента?
источник

А

Алексей in Compiler Development
Andrei Kurosh
Эта функция теперь по сути получается конструктором компонента?
Не совсем
источник

А

Алексей in Compiler Development
лучше документацию почитать по хукам
источник