Алексей
Нездоровое скорее потому что может вызвать некогерентность инстансов. Мне так кажется
Alexander
может
Alexander
хотя не должно
Алексей
Все проблемы, естественно, от сирот (если есть)
parket
Alexander
@PineappleZombie нету сирот
Alexander
class EqT a b t instance EqT a a True instance EqT a b False такое же как-то можно было с MPTC+FD сделать?
Alexander
если добавить a b -> t то ругается
Alexander
closed type family норм тут
Alexander
а это уже не получается data Search = Head | Tail class SearchDest c req b instance CInf c req => SearchDest c req 'Head instance SearchDest c t 'Tail
Alexander
а частичное применение typefamilies незя?
Alexander
чтож за жизнь
Alexander
компиляется!!!!
Alexander
--- Dependecy list type family DepList (a :: k) :: [k] type instance DepList Category = '[] type instance DepList Arrow = '[Category] -- Encode single level of the class depth. class C0 o is | o -> is where c0 :: forall x . Rec (x :-- o) is instance C0 Category '[] where c0 = RNil instance C0 Arrow '[Category] where c0 = S (Sub Dict) :& RNil instance C0 ArrowChoice '[Arrow] where c0 = S (Sub Dict) :& RNil
Alexander
как убрать повторы?
Alexander
и можно ли
Alexander
\o/ закодил обратные зависимости
Alexander
если у нас в есть A => B, и у нас есть в руках B c то можно вывести A c
Alexander
не знаю зачем
Alexander
на работе вчера кто-то Freer Arrows делал и ему нужно было
Alexander
ад ещё тот, кто-нить хочет TypeLevel олимпиадку?
Dmitry
хочешь показать, что твоё кунфу лучше?
Alexander
нет, надеюсь, что кто-то расскажет как упростить
Alexander
в такой хрени обычно начинаешь влезать в какое-то направление и можешь упустить другие более простые
Alexander
(ну и да, показать что кунфу лучше, куда ж без этого :картинка_с_самураем_с_лямбдой:)
Зигохистоморфный
free arrow видел) http://blog.sigfpe.com/2017/01/building-free-arrows-from-components.html но freer!
Alexander
newtype Freer cst eff a b = Freer { runFreer :: forall x. cst x => (eff ~> x) -> x a b }
Alexander
вот такая штука там написана была
Alexander
@xgrommx в общем для неё хочется написать инстансы
Alexander
Category, Arrow, ArrowChoice
Зигохистоморфный
@qnikst ~> это nt?
Alexander
оно просто пишется для instance Category (Freer Caterogy eff)
Alexander
type x ~> y = forall a b. x a b -> y a b
Alexander
вот, но тогда приходится для всего дублировать
Alexander
т.е. instance Category (Freer Arrow eff) и т.д.
Зигохистоморфный
натуральное преобразование для стрелок выходит
Alexander
несмотря на то, что Category => Arrow
Alexander
в общем инстансов n^2
Alexander
и хотелось бы чтобы этого не было
Зигохистоморфный
@qnikst нашел такое https://stackoverflow.com/questions/12001350/useful-operations-on-free-arrows
Alexander
ща скоро гист ещё запощу
Зигохистоморфный
@qnikst мб видел мб нет https://codegists.com/snippet/haskell/freerhs_nc6_haskell
Alexander
а это гист того, кто начал мучаться у нас над этим
Alexander
судя по нику nc6
Зигохистоморфный
))было бы потом не плохо пример использования
Alexander
это не ко мне уже
Dmitry
Баунти: открытые issues в открытом проекте: https://github.com/hexresearch/nixdeploy за вознаграждение! 1) Берете issue, 2) форкаете 3) фиксите 4) делаете PR 5) профит. Проект предназначен для деплоймента nix-выражений на серверы/кластеры, где отсутствует nixos, т.е на почти все доступные на облачных хостингах виртуалки. Открытый проект на Haskell для nix за деньги. Уже в продакшене.
Alexander
issues на русском : ]
Konstantin
код тоже надо было на русском писать
Konstantin
ну, хотя бы комменты
Michel
хачкель позволяет и идентификаторы на русском писать
Anonymous
а эмодзи можно?
Leonid 🦇
> Проектируем SaaS решение, запускающееся на ноутбуке @qnikst А что, с этим проблемы бывают?
Anonymous
оооо
Anton
https://stackoverflow.com/questions/31965349/using-emoji-in-haskell
Leonid 🦇
а 💩 идёт как оператор или имя?
Anton
как характеристика любого чужого кода
Anonymous
а все-таки не совсем
Leonid 🦇
как оператор
Leonid 🦇
a 💩 b = undefined
🍅Ťомат
Это тип ошибки.
Michel
http://lpaste.net/53241 https://users.livejournal.com/-darkus-/612724.html
Michel
так то
Leonid 🦇
и так хаскель в 80 колонок не влезает
Alexander
> Проектируем SaaS решение, запускающееся на ноутбуке @qnikst А что, с этим проблемы бывают?
много кластерных штук полностью работают на ноуте без подключения к тырнетам?
Alexander
на самом деле ничего сверх нового нету : ]
Leonid 🦇
@qnikst ну а как их еще разрабатывать\тестить?
Alexander
у нас production варинт на облако/линуксы/винду (2мя способами)
Зигохистоморфный
а эмодзи можно?
фу таким быть
Alexander
@lonokhov ну вот сказали что доклад не интересный, пойду плакать
Евгений
и так хаскель в 80 колонок не влезает
Не нужно, VT100 поддерживает 130
Alexander
/me ушёл плакать
Leonid 🦇
@qnikst интересный конечно, чо ты
Alexander
все поздно, я уже ушёл плакать
Alexander
=)
A64m
я все еще смотрю доклады с haskellx
A64m
доклад по optics очень грустный, там пытаются сделать абстрактные линзы и честно перечисляют все недостатки такого подхода. (плюсом там выходят только сообщения об ошибках)
Alexander
кстати что там интересное, я так и не смотрел :/