Cheese
судя по упоминанию decode, надо раскодировать, а не закодировать
Cheese
и decode — одно из правильных решений
Cheese
Зигохистоморфный
cходяться
Зигохистоморфный
import Data.Aeson (ToJSON, FromJSON, decodeStrict, eitherDecodeStrict)
import Data.Text.Encoding (encodeUtf8)
Cheese
Combot
Λ y (0) увеличил репутацию A64m qb0 (-1)
Cheese
там на входе Data.ByteString.Lazy.Internal.ByteString был
Зигохистоморфный
ну еще ByteString -> Text
Cheese
Combot
combot.org/c/-1001043143583
Alexander
Cheese
Ilya
Ну для Either инстанс Semigroup уже занят
Ilya
значит тебе всё равно что-то своё делать
Ilya
так собирай туплом, потом вынешь что нужно
Cheese
Ilya
left x = (x, mempty)
right x = (mempty, x)
"конструкторы"
Cheese
Ilya
у тебя именно полугруппа?
Cheese
полурешётка, если интересно
Oleg
Интересен юзкейз не-Bounded полурешётки
Cheese
Oleg
чем интересен?
Тем, что совершенно всё, что я встречал на практике всегда имело какой-то баунд. Типа там пустого сета/мэпа, минимального/максимальнрго элемента и т.п
Cheese
Anonymous
Alexander будет жить. Поприветствуем!
Oleg
Cheese
нууу да
я применяю полурешётки в https://github.com/ff-notes/ff
Oleg
Cheese
да
Oleg
Так они ж по определению должны быть Bounded
Oleg
Некий новый процесс должен стартовать с пустым состоянием
Cheese
во-первых, границы сверху и снизу совершенно независимые
Oleg
Сверху и снизу? Т.е. это решётка?
Cheese
полурешётка определяет отношение, у этого отношения можно найти грань с либой стороны
Anonymous
@serg_bs будет жить. Поприветствуем!
Oleg
Oleg
Cheese
Cheese
Cheese
впрочем, да, поскольку объекты с идентификаторами, то общее состояние описывается как Semilattice s => Map k s (псевдокод)
Anonymous
@kinul_kent_serotonin будет жить. Поприветствуем!
Alexander
я ненавижу стек
IC
я ненавижу стек
- Что вы делали? Запустил стек.
- Какой результат ожидался? Испытаю прилив радости к любимому инструменту.
- Что произошло вместо этого? ...
Alexander
я три часа убил на тупые его глюки при работе с никсом
Alexander
теперь мне придется скорее всего решать вопрос, как к черту заморозить старую версию, где хоть что-то работало
IC
Так может это ты никс ненавидишь?
Alexander
нет, стек
IC
):
Alexander
без стека все работает
Alexander
и в старой версии стека все работало
IC
Alexander
ну не все, там был nix unrelated баг
Alexander
не факт, оно минимум не ругались на пакет которого не было ни в экстра депендах, ни в стакане
Alexander
со стекедж2никс чегото зависимости от разных версий либ, stack2nix пытается устанавливать ghc зачем-то
Alexander
блин quality software
Alexander
Проблема значительной части материалов по продвинутым фишкам Haskell в том, что она пишется математиками и для математиков. И вместо того, чтобы объяснять и показывать использование, в этих материалах предмет вводится аксиоматически, а потом обсуждаются его свойства. Ну вроде такого:
"Такую-то вещь мы называем Type Family и записываем вот так:
blah-blah
И теперь мы получаем возможность записывать на уровне типов то-то и то-то, при этом мы должны следить, чтобы типы были такими-то и такими-то, потому что механизм вывода типов имеет недостатки"
Это ничуть не лучше, чем вводить понятие монады через пресловутый моноид в категории эндофункторов, а потом обсуждать, какие же у монады должны быть законы.
Меня совершенно не интересует математическая постановка проблемы и следствия из аксиоматически заданных конструкций. Я хочу видеть сначала практическую задачу, которую пытаются решить другим способом, и это получается не очень. Потом я хочу видеть объяснение, почему подфича Х-1 из набора большой фичи Х здесь может помочь лучше, чем что-то другое. Потом я хочу видеть конкретно этот пример, решенный с помощью подфичи Х-1, а не изучать аксиоматически введенный набор Х-1, Х-2, Х-3, потому что уже сказано, что Х-2 и Х-3 к задаче не имеют отношения. И уж тем более мне не интересно, что там у Х-1, Х-2 или Х-3 за математические следствия, распространяющиеся на дизайн языка.
Конечно, математикам такая форма подачи привычна и удобна. Даем вводную и разворачиваем следствие. Но это не то, как пишется реальный софт и решаются реальные задачи. И это не то, как мыслят большинство программистов.
kosc
Проблема значительной части материалов по продвинутым фишкам Haskell в том, что она пишется математиками и для математиков. И вместо того, чтобы объяснять и показывать использование, в этих материалах предмет вводится аксиоматически, а потом обсуждаются его свойства. Ну вроде такого:
"Такую-то вещь мы называем Type Family и записываем вот так:
blah-blah
И теперь мы получаем возможность записывать на уровне типов то-то и то-то, при этом мы должны следить, чтобы типы были такими-то и такими-то, потому что механизм вывода типов имеет недостатки"
Это ничуть не лучше, чем вводить понятие монады через пресловутый моноид в категории эндофункторов, а потом обсуждать, какие же у монады должны быть законы.
Меня совершенно не интересует математическая постановка проблемы и следствия из аксиоматически заданных конструкций. Я хочу видеть сначала практическую задачу, которую пытаются решить другим способом, и это получается не очень. Потом я хочу видеть объяснение, почему подфича Х-1 из набора большой фичи Х здесь может помочь лучше, чем что-то другое. Потом я хочу видеть конкретно этот пример, решенный с помощью подфичи Х-1, а не изучать аксиоматически введенный набор Х-1, Х-2, Х-3, потому что уже сказано, что Х-2 и Х-3 к задаче не имеют отношения. И уж тем более мне не интересно, что там у Х-1, Х-2 или Х-3 за математические следствия, распространяющиеся на дизайн языка.
Конечно, математикам такая форма подачи привычна и удобна. Даем вводную и разворачиваем следствие. Но это не то, как пишется реальный софт и решаются реальные задачи. И это не то, как мыслят большинство программистов.
+
Combot
Hot Kosc (0) увеличил репутацию Александр Гранин (1)
kosc
Проблема значительной части материалов по продвинутым фишкам Haskell в том, что она пишется математиками и для математиков. И вместо того, чтобы объяснять и показывать использование, в этих материалах предмет вводится аксиоматически, а потом обсуждаются его свойства. Ну вроде такого:
"Такую-то вещь мы называем Type Family и записываем вот так:
blah-blah
И теперь мы получаем возможность записывать на уровне типов то-то и то-то, при этом мы должны следить, чтобы типы были такими-то и такими-то, потому что механизм вывода типов имеет недостатки"
Это ничуть не лучше, чем вводить понятие монады через пресловутый моноид в категории эндофункторов, а потом обсуждать, какие же у монады должны быть законы.
Меня совершенно не интересует математическая постановка проблемы и следствия из аксиоматически заданных конструкций. Я хочу видеть сначала практическую задачу, которую пытаются решить другим способом, и это получается не очень. Потом я хочу видеть объяснение, почему подфича Х-1 из набора большой фичи Х здесь может помочь лучше, чем что-то другое. Потом я хочу видеть конкретно этот пример, решенный с помощью подфичи Х-1, а не изучать аксиоматически введенный набор Х-1, Х-2, Х-3, потому что уже сказано, что Х-2 и Х-3 к задаче не имеют отношения. И уж тем более мне не интересно, что там у Х-1, Х-2 или Х-3 за математические следствия, распространяющиеся на дизайн языка.
Конечно, математикам такая форма подачи привычна и удобна. Даем вводную и разворачиваем следствие. Но это не то, как пишется реальный софт и решаются реальные задачи. И это не то, как мыслят большинство программистов.
+
Combot
Too fast! Try again later.
Алексей ayaye :)
И это не то, как мыслят большинство людей :) Я хоть математике и обучался, но такой подход не люблю )
kosc
Лютобешено короче.
Alexander
Зато такой подход и правда помогает авойдить саксесс эт эни кост.
Pavel
Pavel
как и сообщение выше
Cheese
очевидно же, что человеку удобнее обучаться от частного к общему
Cheese
разве нет?
Cheese
а математические теории удобнее описывать в общем, потом доказывать для частных случаев, потому что если начать с частных, потом всё равно придётся доказывать и проходить по частным ещё раз. зачем бумагу переводить?
Cheese
короче, описания теорий хороши для описания теорий и плохи для обучения навыкам
Cheese
@bravit111, не так ли?
Алексей
Проблема значительной части материалов по продвинутым фишкам Haskell в том, что она пишется математиками и для математиков. И вместо того, чтобы объяснять и показывать использование, в этих материалах предмет вводится аксиоматически, а потом обсуждаются его свойства. Ну вроде такого:
"Такую-то вещь мы называем Type Family и записываем вот так:
blah-blah
И теперь мы получаем возможность записывать на уровне типов то-то и то-то, при этом мы должны следить, чтобы типы были такими-то и такими-то, потому что механизм вывода типов имеет недостатки"
Это ничуть не лучше, чем вводить понятие монады через пресловутый моноид в категории эндофункторов, а потом обсуждать, какие же у монады должны быть законы.
Меня совершенно не интересует математическая постановка проблемы и следствия из аксиоматически заданных конструкций. Я хочу видеть сначала практическую задачу, которую пытаются решить другим способом, и это получается не очень. Потом я хочу видеть объяснение, почему подфича Х-1 из набора большой фичи Х здесь может помочь лучше, чем что-то другое. Потом я хочу видеть конкретно этот пример, решенный с помощью подфичи Х-1, а не изучать аксиоматически введенный набор Х-1, Х-2, Х-3, потому что уже сказано, что Х-2 и Х-3 к задаче не имеют отношения. И уж тем более мне не интересно, что там у Х-1, Х-2 или Х-3 за математические следствия, распространяющиеся на дизайн языка.
Конечно, математикам такая форма подачи привычна и удобна. Даем вводную и разворачиваем следствие. Но это не то, как пишется реальный софт и решаются реальные задачи. И это не то, как мыслят большинство программистов.
+++++
Oleg
Я, конечно, не бравит, но опыт показывает, что нужно и то и то
Cheese
ваши традиции неправильные. вот эти лучше
Oleg
Хорошо дать пример в начале как "интуицию"