Size: a a a

2020 March 14

DS

Doge Shibu in rust_offtopic
Julian =) Coffee
И компилятор проверит?
Оно верно по построению. У тебя IO в хаскеле сделано так, что оно ссылочно прозрачно.

Ты можешь выстрелить себе в ногу через unsafePerformIO, но на то оно и unsafe
источник

JC

Julian =) Coffee in rust_offtopic
Bogdan
И при чем тут ссылки? Хз
Ну функция это ж указатель :D
источник

B

Bogdan in rust_offtopic
Так это лейзи евалуейшен с хачкеля)
источник

СД

Стас Донцов... in rust_offtopic
ссылки: просто, ты такую функцию можешь заменить на таблицу и убрать ее нахрен, используя кеширование
источник

B

Bogdan in rust_offtopic
Вот мне взрывают мозг все эти усные термины
источник

JC

Julian =) Coffee in rust_offtopic
Bogdan
Так это лейзи евалуейшен с хачкеля)
не совсем понял, как оно связано
источник

B

Bogdan in rust_offtopic
Julian =) Coffee
не совсем понял, как оно связано
let a = foo b c
источник

B

Bogdan in rust_offtopic
Вместо foo b c можем написать а
источник

B

Bogdan in rust_offtopic
И нам не важно это вызов фи или ее результат
источник

JC

Julian =) Coffee in rust_offtopic
Ну, типо ленивое вычисление завязано на ссылочной прозрачности
источник

СД

Стас Донцов... in rust_offtopic
Julian =) Coffee
Ну, типо ленивое вычисление завязано на ссылочной прозрачности
да
источник

JC

Julian =) Coffee in rust_offtopic
Без него это бы не сработало, как я понимаю
источник

B

Bogdan in rust_offtopic
T-34 так тебе приходилось гуй писать десктопный?
Неужто было удобно и комфортно?
Ну если надо сделать коасиво, а не просто накидать формочку со 100500 текстбоксов
источник

B

Bogdan in rust_offtopic
В смалтолке тоже вроди выражение это first-class житель
источник

B

Bogdan in rust_offtopic
Но мне нравится как в шарпе и расте — есть четкая граница между значением и ф-ей/замыканием
источник

Т8

Т-34 85 in rust_offtopic
Bogdan
T-34 так тебе приходилось гуй писать десктопный?
Неужто было удобно и комфортно?
Ну если надо сделать коасиво, а не просто накидать формочку со 100500 текстбоксов
и сейчас пишу. Если честно, из всего, что пробовал, больше всего Qt Widgets зашёл. Возможно, мне бы больше понравился qml/xaml, если бы верстать приходилось не мне
источник

B

Bogdan in rust_offtopic
Т-34 85
и сейчас пишу. Если честно, из всего, что пробовал, больше всего Qt Widgets зашёл. Возможно, мне бы больше понравился qml/xaml, если бы верстать приходилось не мне
Хмммм ну респект. Это сурово
источник

СД

Стас Донцов... in rust_offtopic
Julian =) Coffee
Без него это бы не сработало, как я понимаю
но это если смотреть снизу, с уровня моря))

если смотреть сверху, с уровня облаков, то профит пьюр функций в ином: ты можешь использовать их прозрачность для кешрования, например у тебя есть стандартный пайплайн для пользователя, который делает в его контектсте func(a)->func(b)->func(c). Представь что вдруг поведения пользователей стало одинаковым (ну там, все вдруг начали читать за короновирус) и в таком случае у тебя вызов функций конвейера в 90% будет одинаков для разных пользователей. Так вот если функция прозрачна и у нее ссылочная прозрачность, то можно изи держать для каждой функции кэш из топ 10 значений и тут ты просто выдаешь этот кэш на выход и все, не делаешь рассчеты внутри функций
источник

B

Bogdan in rust_offtopic
Я кт совсем мало пробовал, остальное пробовал, не шибко понравилось.

Вечно какие-то грабли
источник

DS

Doge Shibu in rust_offtopic
Julian =) Coffee
Это вроде когда функцию два раза вызываешь, она одно и тоже возвращает
Нет, это когда ты можешь заменить вызов функции на возвращаемое ей значение без изменения поведения программы
источник