Doge
Но с помощью использования sealed и final ты можешь свою АДТ в этом плане полностью обезопасить от наследования вне файла, где она определена.
Romɑn
кароче основной вопрос:
есть ф-ция intOrbool которая
ts
let myVariant = intOrbool ();
//myVariant : int | bool
и есть ф-ция givemeBoolOrIntOrString которая
ts
let whatever = givemeBoolOrIntOrString ( smth) ;
можно ли в скала сделать так чтоб
ts
givemeBoolOrIntOrString ( intOrbool () )
?
Doge
А какой тип у givemeBoolOrIntOrString?
Romɑn
на выходе?
Doge
И да, не путай ADT и union типы - это две разные вещи
Romɑn
я и стараюсь не путать)
Doge
sealed trait + case class - это именно аналог ADT, а не union типов.
Doge
Честные union типы будут в dotty: https://dotty.epfl.ch/docs/reference/new-types/union-types.html
Doge
Сейчас можно эмулировать через Either и всякие coproduct, но это требует явного запихивания значений в них
Doge
Romɑn
Doge
Можно эмулировать, но это будет не совсем то, что нужно.
Romɑn
да, я уже понял .
Когда же дотти будет?
Когда там будет менее многословны синтаксис?)
Romɑn
Romɑn
Romɑn
Doge
Romɑn
https://dotty.epfl.ch/docs/reference/new-types/match-types.html ООО
Romɑn
Doge
Но как говорят, там более-менее понятно что нужно делать, так что вполне вероятно, что ближе к выходу дотти найдутся энтузиасты, которые возьмутся за эту задачу
Romɑn
https://dotty.epfl.ch/docs/reference/new-types/dependent-function-types.html
много интеерсной магии
Romɑn
Doge
Ну то что Implemented - это в принципе реально в том или ином виде сделано
Vladislav
HList это листы с элементами разных типов?
Doge
Doge
Считай tuple произвольной длины
Doge
Жалко, конечно. Но я бы согласился. Рынок ширше.
Имхо, конечно, но скала сейчас интереснее и как язык будет. Да, многословна, но система типов одна из самых мощных.
Да и скала ФП экосистема очень быстро развивается. Аналог той же кото-экосистемы очень сложно в других технологиях найти.
Romɑn
Vasily
cats
Vasily
Либа такая
Romɑn
аа
Vasily
Написанная накуренными хаскеллистами
Romɑn
Doge
А практическое применение какое?
Используется для автовывода тайпклассов в шейплессе.
У тебя любой ADT можно представить как сочетание Coproduct'ов (аналог Either произвольной длины) и HList'ов.
Дальше определяешь инстанс твоего тайпкласса для произвольного HList'а и Coproduct'а => получаешь автоматический вывод для любого ADT
Vasily
В фшарпе, конечно, многого не хватает
Romɑn
@DogeShibu как у дотти с жабалибами?
Doge
Doge
Берешь и используешь.
Doge
В обратную сторону уже сложнее
Doge
Т.е. тут как у F# с C# ситуация
Hog
Hog
Т.е. это портировали до конца :)
Hog
Hog
Акканет на скале не получится!
Hog
Посмотрел в контрибуторов скалаз - да :) там упоротые хаскелисты :)))
Hog
Посмотрел в контрибуторов скалаз - да :) там упоротые хаскелисты :)))
Hog
Акканет на скале не получится!
Romɑn
❗️Проблемы в работе мессенджера Telegram наблюдаются во вторник по всей планете, в том числе и на европейской части территории России, следует из данных на странице сервиса "Downdetector", отслеживающего работу популярных интернет-ресурсов.
Пользователи испытывают проблемы с подключением к мессенджеру (94%) и отправкой сообщений (5%).
Надеемся, вы прочитали это сообщение 🙈
Крылатый
A64m
> Посмотрел в контрибуторов скалаз - да :) там упоротые хаскелисты :)))
ЛОЛШТО?
Крылатый
А вот и он — упоротый хаскелист!
A64m
но я не контрибьютор в скалаз, слава б-гу
Крылатый
А зря.
A64m
нет, не зря
Vasily
Вот, кстати, раз уж умный человек тут к нам пришел, вопрос есть
Vasily
@A64m_qb0 как считаешь, насколько оправданно тащить монады в продакшн в тех объемах в скале, как это, например, декларируют всякие ДеГузы?
A64m
я сильно сомневаюсь, что писать на скале в фп стиле хорошоая идея, но это лучше спрашивать у того кто на работе на скале пишет/писал, а не у меня. Сам-то я все равно всегда не выдерживал и ударялся в функциональщину даже на таких неподходящих для нее языках как C# и F#
Hog
A64m
всеж основная работа морриса на скале, так что для меня как хаскелиста, миррис - известный скалист, который еще какой-то курс по тайпклассам/линзам на хаскеле делал
A64m
в хаскельном сообществе и всяком опенсорсе он практически никак себя не проявил, немного в твиттере повоевал за злое кубло против снойманитов только
Hog
Hog
Сноймана я пробовал слушать :) но ничо не понял
Ayrat
Ayrat
как это связано
Hog
Прикинь
A64m
ну в австралии мощное гнездо хаскелистов
Doge