Vasiliy
О_О нифига себе
Vasiliy
чувак пиарит свою либу?
Anonymous
Anonymous
Он мне только не пообещал задачу в Жире закрыть своими руками если я затащу его либу
Vasiliy
Надо, чувака направить на того студента от Айрата
Vasiliy
Студент либу может взять, а чувак проект сделает, и все довольные
Sergey
а публичной инфы особо не было про язык из хуавея?
Sergey
может я пропустил че
Sergey
Иди на хуайвее и узнай
я пришел к тебе
Ilya
новый rx?
Anonymous
новый rx?
Все тот же старый
Sergey
чо за язык? давай посмотрим
да вот хз я помню анонс и щас кинули про то что он для эмбеддед и всё
Крылатый
Rust?
Igor
Внутри компании язык Java используется достаточно активно, на нем написаны некоторые компоненты внутренних систем Microsoft, а также элементы инфраструктуры облачной платформы Azure. чо всё это правда?!
Igor
ну я как раз это в новости с хабра и прочитал
Ilya
https://github.com/IgorBuchelnikov/ObservableComputations/blob/master/src/ObservableComputations/OcDispatcher.cs код так себе выглядит
Ilya
именно за такое тут не любят C# :)
Ilya
Ещё и next step to functional programming in .NET.
Igor
тут это в Ф# чате?
Sergey
Rust?
не ну есть конечно пост https://habr.com/ru/company/huawei/blog/548808/ но нет https://www.huaweicentral.com/huaweis-own-programming-language-new-patent-application-reveals-similar-plans/
Anonymous
Anonymous
Тем временем в Скале все хорошо
Alex
О, видел такой диалект Скалы
Ayrat
Обычная скала!!11
Doge
Так это же какая-то стрелочная eDSL небось: https://psbp-library.github.io/
Doge
Судя по неймспейсу
Doge
Это cats???
Нет, это какая-то либа неизвестная
Doge
От этого на душе не легче
Стрелки везде выглядит упорото, вон в хаскеле с ними та же история
Doge
(Если это стрелки тут у автора, конечно)
Anonymous
Стрелки везде выглядит упорото, вон в хаскеле с ними та же история
Мне кажеццо что это какой-то теоркат и попытка выразить рекурсию на фолдабл
Doge
Ну да, по описанию в документациях звучит похоже на стрелки, на самом деле.
Anonymous
Но я не знаю, если это вслух прочесть, можно и Сатану вызвать
Igor
всё что завернуто в ` это просто переменные
Igor
просто имена
Ayrat
всё что завернуто в ` это просто переменные
https://github.com/fsprojects/FSharpPlus/blob/13705281434d4bb0f44855e62c6cfddf511e270d/src/FSharpPlus/Data/Kleisli.fs#L11
Ayrat
Долбоёбы. Долбоёбы никогда не меняются...
Hog
просто имена
Там между стрелки тоже есть
Ayrat
Неправда
вот я не поменялся!!11
Doge
Мне кажеццо что это какой-то теоркат и попытка выразить рекурсию на фолдабл
Тут идея простая, мы считаем, что у нас есть какая-то абстракция над функциями, что каким-то образом переводит один тип в другой - это как раз тип >-->[_,_]. Мы навешиваем всякие констреинты на этот тип (в духе, что можно эти стрелки композировать, можно их использовать в рекурсии и т.д.) и пытаемся писать программы, которые будут работать для любого типа таких стрелок. Тогда можно будет поменять семантику программы целиком заменив тип стрелки в программе, и в отличие от всяких монад, стрелки можно достаточно хитро анализировать и оптимизировать до их непосредственного выполнения.
Ayrat
Кстати, помню это обсужали как-то. Еще раз вброшу https://github.com/fsprojects/FSharpPlus/blob/master/src/FSharpPlus.TypeLevel/TypeBool.fs
Ayrat
TYPE BOOL блять
Igor
Там между стрелки тоже есть
да есть, но если их посчитать, там их пару видов всего (не считая лямбдной) но хорошим этот код не могу назвать, я его пока не понимаю))
Ayrat
static member inline RuntimeValue True = true
Ayrat
чтобы точно было True равно true в рантайме
Ayrat
а то мало ли
Hog
чтобы точно было True равно true в рантайме
Егор же показывал как это обойти?
Hog
Ну типа тру не будет равно тру
Ayrat
то есть нам этот ваш рантайм уже неинтересен
Anonymous
чтобы точно было True равно true в рантайме
Вот так по кирпичику Москва и строилась!!!!
Doge
Мне кажеццо что это какой-то теоркат и попытка выразить рекурсию на фолдабл
Короче, если интересно что это такое и как с этим жить (и зачем), то можно вот сюда залезть
Ayrat
не, я понимаю зачем это делают, но зачем они это делают
Hog
Кокое говно, товарищи. Отборный сорт.
В сортах говна не разбираемся!
Doge
Из практических применений стрелок - можно делать достаточно любопытные пайплайны, которые можно до вычислений тем или иным образом оптимизировать или компилить в какое-либо другое представление.
Hog
вот я не поменялся!!11
А я мимикрирую! Можно ли считать это изменением?
Doge
Проблема у стрелок только одна - работать с ними дичайще неудобно, т.к. разумного аналога do синтаксиса нет. Есть только не очень разумный ArrowDo
Ayrat
А я мимикрирую! Можно ли считать это изменением?
Ну это, не беда. Такая сегодня экологическая обстановка. Все мимикрируют. Я мимикрирую. И даже Вася помимикрирует, бывает. Но по ситуации. Что ж нам из-за этого, последний долг Родине не отдавать? Твой позорный недуг мы в подвиг определим, пошлем в питон. Там ты еще и сраться начнешь!
Doge
Стрелки - это про моноидальные категории прежде всего
Anonymous
Просто непонятно зачем впихивать все живое и нерожденное в стрелки, да теоркат мощён, да всесилен, но здравый смысл же должен победить
Alex
Долбоёбы. Долбоёбы никогда не меняются...
type True = True with static member inline RuntimeValue True = true Достойно стикерпака какого-нибудь
Doge
Просто непонятно зачем впихивать все живое и нерожденное в стрелки, да теоркат мощён, да всесилен, но здравый смысл же должен победить
Это всё попытки найти формализм менее мощный чем монады (чтобы можно было до выполнения структуру вычислений как-то анализировать), но тем не менее позволяющий описывать достаточно богатое подмножество программ.
Doge
Потому что те же аппликативы или даже селективные функторы относительно плохо подходят для того, чтобы целиком программы ими описывать.
Anonymous
Каша ж будет в коде.
Anonymous
Это стрелки должны стать конструкциями самого языка и тогда может что и получится.
Doge
Без синтаксической поддержки и монадам, и формализму менее жесткому грош цена.
Синтаксическая поддержка есть, но она на любителя (см. ArrowDo). Для скалы есть volga от Нижникова, но я не знаю довел он её до разумного вида или нет (Вроде бы нет, но там синтаксис лучше чем в ArrowDo)