Size: a a a

Сообщество Python Программистов

2021 January 14

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Alexander T
изобретаешь фп язык с чистыми функциями?
Вообще мне больше интересно в плане распараллеливания
источник

AT

Alexander T in Сообщество Python Программистов
любые чистые функции можно распараллелить без всякого дерева
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Ну и сайд-эффект функциям можно же просто раскидать "зависимость" в порядке в котором они в коде
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
А нечистоту функции вроде как можно выловить анализом кода
источник

AT

Alexander T in Сообщество Python Программистов
не уверен, что всегда
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Alexander T
любые чистые функции можно распараллелить без всякого дерева
Мне вот интересно было, кстати. Всё что делает I/O это же не чистые функции, так?
источник

AT

Alexander T in Сообщество Python Программистов
да
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
И как с этим живёт хаскель/лисп/етц?
источник

AT

Alexander T in Сообщество Python Программистов
лисп тут особо ни при чем, а в хаскеле ио это монада
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Alexander T
лисп тут особо ни при чем, а в хаскеле ио это монада
А кто такие монады?
источник

AT

Alexander T in Сообщество Python Программистов
Бензофуран Гетероцикл
А кто такие монады?
Ребята, не стоит вскрывать эту тему. Вы молодые, шутливые, вам все легко. Это не то. Это не Чикатило и даже не архивы спецслужб. Сюда лучше не лезть. Серьезно, любой из вас будет жалеть. Лучше закройте тему и забудьте, что тут писалось. Я вполне понимаю, что данным сообщением вызову дополнительный интерес, но хочу сразу предостеречь пытливых - стоп. Остальные просто не найдут.

это такой способ описания вычислений с контекстом, который позволяет сохранять функции композируемыми. в случае монады ИО контекст - ИО :)
монада это такой тайпкласс, который определяет методы для “засовывания” и “высовывания” значения в/из контекста.
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Alexander T
Ребята, не стоит вскрывать эту тему. Вы молодые, шутливые, вам все легко. Это не то. Это не Чикатило и даже не архивы спецслужб. Сюда лучше не лезть. Серьезно, любой из вас будет жалеть. Лучше закройте тему и забудьте, что тут писалось. Я вполне понимаю, что данным сообщением вызову дополнительный интерес, но хочу сразу предостеречь пытливых - стоп. Остальные просто не найдут.

это такой способ описания вычислений с контекстом, который позволяет сохранять функции композируемыми. в случае монады ИО контекст - ИО :)
монада это такой тайпкласс, который определяет методы для “засовывания” и “высовывания” значения в/из контекста.
Типа монада это просто выражение в которое можно что-то впихнуть и с впихнутым редуцировать?
источник

AT

Alexander T in Сообщество Python Программистов
Бензофуран Гетероцикл
Типа монада это просто выражение в которое можно что-то впихнуть и с впихнутым редуцировать?
это не выражение, а тайпкласс. тип данных, для которого определены методы, как вытащить содержащееся в нем значение, и как засунуть.
источник

AT

Alexander T in Сообщество Python Программистов
Представь себе энам со значением.
IO(x)
источник

AT

Alexander T in Сообщество Python Программистов
но язык со строгой статической типизацией, поэтому нельзя делать IO(x) + y, надо x + y. вся бизнес-логика в чистых функциях.
и вот монада ИО имеет методы, чтоб вытащить из себя чистый x, и засунуть обратно в ИО результат x + y
источник

AT

Alexander T in Сообщество Python Программистов
в войс можешь?
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Alexander T
в войс можешь?
Да
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
val = IO()
for func in pipeline:
   try:
       val = func(val)
   except:
       break
else:
   return val
источник

bb

bekzhan beka in Сообщество Python Программистов
Ребят, телеграм бот (библиотека айограм) перестал запускаться, работала, потом смотрю ошибку выдает и не запускается:
ERROR:asyncio:Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x0A19D268>
Что можно сделать?
источник

AT

Alexander T in Сообщество Python Программистов
источник