Size: a a a

2021 March 12

JS

Jerzy Syrowiecki in Haskell
меня в один ряд с Мишей поставили, да ещё Клапауций мою фамилию научился писать
источник

P

Pbdq in Haskell
Господа, куда должны уехать (T i, T o) => , чтобы это начало компилироваться? https://ideone.com/FO2m22
источник

P

Pbdq in Haskell
(КДПВ)
источник

K

Kir in Haskell
Никуда, у вас
class A a where
   method :: (T i, T o) => i x -> o y -> a x y

работает с инстансами
class T a where
   number :: a Integer
   array :: a x -> a [x]

а вы объекту типа o y пытаетесь runToJson сделать.

Попробуйте превратить  ToJson/FromJson в классы типов
источник

K

Kir in Haskell
Pbdq
(КДПВ)
У меня тёмная тема у телеграмма, поэтому МОИ ГЛАЗА
источник

P

Pbdq in Haskell
Что же, однозначно привлёк внимание
источник

P

Pbdq in Haskell
Но классы типов ToJson/FromJson будут копипастные
источник

K

Kir in Haskell
Pbdq
Но классы типов ToJson/FromJson будут копипастные
А чтоподелать. Классы-то почему?
источник

P

Pbdq in Haskell
Не сбрасывал бы, если бы ожидал решения "а давайте накалякаем что-нибудь, чтобы заработало". Я так сам могу :)
источник

P

Pbdq in Haskell
Kir
А чтоподелать. Классы-то почему?
В том-то и вопрос!
источник

P

Pbdq in Haskell
Там наверняка есть какое-нибудь очень неприятное расширение языка, о котором мы не слышали
источник

K

Kir in Haskell
В конце концов, в aeson это сделано именно классами.

class ToJSON a where
 toJson :: a -> Value

class FromJSON a where
 fromJson :: Value -> Maybe a
источник

K

Kir in Haskell
Pbdq
Не сбрасывал бы, если бы ожидал решения "а давайте накалякаем что-нибудь, чтобы заработало". Я так сам могу :)
Ещё как вариант, сделать data Method i o, объявить instance Bifunctor Method и требовать чтобы он был Method JSON JSON в точке монтирования, чтобы потом через dimap fromJson toJson любой метод, работающий с JSON-конвертируемыми данными использовать.
источник

P

Pbdq in Haskell
О, вот это звучит поприятнее
источник

P

Pbdq in Haskell
Пойду попробую
источник

K

Kir in Haskell
Pbdq
Пойду попробую
Для этого to/from json должно быть классами, чтобы не руками инстансы собирать, а компилятор сам, потому что (T i, T o) => - это два неявных параметра у функции.
источник
2021 March 13

O

Ortofax in Haskell
есть ли какой-то глубокий смысл в том, что у instance Applicative ((->) r) pure это в точности комбинатор K, а (<*>) это в точности комбинатор S, которые вместе составляют комбинаторный базис?
источник

O

Ortofax in Haskell
т.е. через операции этого инстанса можно записать любую функцию
источник

ЗП

Зигохистоморфный Пре... in Haskell
Ortofax
есть ли какой-то глубокий смысл в том, что у instance Applicative ((->) r) pure это в точности комбинатор K, а (<*>) это в точности комбинатор S, которые вместе составляют комбинаторный базис?
есть, в том, что S комбинатор пермутации
комбинаторный базис это аксиоматический набор лямбда функций (он же тавтологический набор из логики)
то есть в хаскеле теже лямбды, теже изоморфизмы в логику и тд
источник

OS

Oleksandr Shyshko in Haskell
Ortofax
есть ли какой-то глубокий смысл в том, что у instance Applicative ((->) r) pure это в точности комбинатор K, а (<*>) это в точности комбинатор S, которые вместе составляют комбинаторный базис?
источник