Size: a a a

2020 March 06

С

Слава in rust_offtopic
У одного 23 часа, у другого 2 часа ночи
источник

𝛈µ

𝛈 µ in rust_offtopic
Монадка помогает тебе построить индиректное представление твоего контролфлоу и налагать какие-то аспекты
источник

𝛈µ

𝛈 µ in rust_offtopic
А тебе нужен прямой контроль над ДАГом твоего процесса плюс возможность этот даг сериализовывать
источник

𝛈µ

𝛈 µ in rust_offtopic
Можно завтра позвездеть про это
источник

𝛈µ

𝛈 µ in rust_offtopic
А то все пиздон-пиздон
источник

𝛈µ

𝛈 µ in rust_offtopic
Совсем ошалели
источник

AZ

Alex Zhukovsky in rust_offtopic
Слава
Завтра уже,а
Да, ты прав. Пойду я.

Всем добра
источник

𝛈µ

𝛈 µ in rust_offtopic
И вообще, приходил бы ты к нам в скалачат
источник

𝛈µ

𝛈 µ in rust_offtopic
Там хоть кто-то о чем-то по делу говорит
источник

𝛈µ

𝛈 µ in rust_offtopic
Хотя тоже половина времени - срач про диай
источник

𝛈µ

𝛈 µ in rust_offtopic
и виды ио-монадки
источник

AZ

Alex Zhukovsky in rust_offtopic
𝛈 µ
И вообще, приходил бы ты к нам в скалачат
Если ты про понв то я пока не очень хочу
источник

𝛈µ

𝛈 µ in rust_offtopic
Alex Zhukovsky
Если ты про понв то я пока не очень хочу
так и будешь всю жизнь дуракам про виды писаной торбы рассказывать?
источник

G

Gymmasssorla in rust_offtopic
polunin.ai
ну я так не думаю. может если скинешь аналогичные программы с ссылочной прозрачностью и без, так чтобы были заметны преимущества, поверю.
Поверил или как?
источник

G

Gymmasssorla in rust_offtopic
polunin.ai
Типикал фпшники, сослать куда-то, а если не поймёшь, то ты тупой (доге не такой)
Сослать куда-то, а если не поймёшь что-то конкретное - вопросы тут
источник

С

Слава in rust_offtopic
Gymmasssorla
Поверил или как?
источник

G

Gymmasssorla in rust_offtopic
@p0lunin @pavlus_0 Т-34

Ссылочная прозрачность - свойство выражения, когда expression можно заменить на его значение без изменения работы программы. Чистая функция - та функция, вызов которой обладает ссылочной прозрачностью.

Посмотрите на этот пример кода на Rust. Здесь функции print_something, our_main и print_really_big чистые (о чём свидетельствует const), т.к. всегда возвращается эквивалентный Future. Внутри себя Future делает I/O.

В самом низу main - это то, что творится в интерпретаторе функционального языка программирования. Он вызывает наш our_main и уже делает грязную работу.

- Но весь мир же грязный!
Да, но нас это не волнует и волновать не должно.

- Но I/O же всё равно делается!
Пусть делается, наша программа же должна как-то работать. Просто мы хотим от ФП языка одновременно и ссылочную прозрачность, и возможность полноценного I/O.
источник

G

Gymmasssorla in rust_offtopic
Слово "интерпретатор" я использовал для простоты объяснения. На самом деле, Haskell компилируется в машинный код. Функциональность языка не означает то, что он обязательно в интерпретаторе будет исполняться.
источник

G

Gymmasssorla in rust_offtopic
Тело функции our_main эквивалентно do-нотации или последовательному вызову andThen.
источник

P

Pavel in rust_offtopic
Gymmasssorla
@p0lunin @pavlus_0 Т-34

Ссылочная прозрачность - свойство выражения, когда expression можно заменить на его значение без изменения работы программы. Чистая функция - та функция, вызов которой обладает ссылочной прозрачностью.

Посмотрите на этот пример кода на Rust. Здесь функции print_something, our_main и print_really_big чистые (о чём свидетельствует const), т.к. всегда возвращается эквивалентный Future. Внутри себя Future делает I/O.

В самом низу main - это то, что творится в интерпретаторе функционального языка программирования. Он вызывает наш our_main и уже делает грязную работу.

- Но весь мир же грязный!
Да, но нас это не волнует и волновать не должно.

- Но I/O же всё равно делается!
Пусть делается, наша программа же должна как-то работать. Просто мы хотим от ФП языка одновременно и ссылочную прозрачность, и возможность полноценного I/O.
ок, а если убрать футуры, то что изменится?
источник