Size: a a a

2021 June 06

JS

Jerzy Syrowiecki in Haskell
а Map таки кодирует в строку лишний раз?
источник

JS

Jerzy Syrowiecki in Haskell
вот это нелогично
источник

OS

Oleksandr Shyshko in Haskell
а есть ли какой-то недорогой (newtype?) трюк, чтобы заставить Aeson сераиализировать его как объект? (без перекладывания в Map)
источник

OS

Oleksandr Shyshko in Haskell
логично - в смысле, я понимаю логику авторов (не обязательно принимаю)
источник

MK

Maxim Koltsov in Haskell
Ну так напиши сам инстанс для ньютайпа
источник

JS

Jerzy Syrowiecki in Haskell
Map ломает эту логику
источник

OS

Oleksandr Shyshko in Haskell
пасибо, кеп ) я надеялся, что об это уже кто-то споткнулся и написал для этого такой враппер, может быть в самом Aeson
источник

OS

Oleksandr Shyshko in Haskell
ахаха. Они таки перекладывают в HashMap. И правда, хип же бесплатен:

module Data.Aeson.Types.Class
...
instance (ToJSON v) => ToJSON (M.Map Text v) where
   toJSON = Object . M.foldrWithKey (\k -> H.insert k . toJSON) H.empty
   {-# INLINE toJSON #-}
источник

IK

Ilya Kos in Haskell
Зависит от типа ключа
источник

IK

Ilya Kos in Haskell
Либо в объект либо в список про
источник

IK

Ilya Kos in Haskell
(Емнип)
источник

JS

Jerzy Syrowiecki in Haskell
ну вот конкретно для Int кодирует в строку, получается непоследовательно с IntMap
источник

MK

Maxim Koltsov in Haskell
Да, там есть ToJSONKey класс для этого
источник

MK

Maxim Koltsov in Haskell
Он решает что будет, список пар или объект
источник

MK

Maxim Koltsov in Haskell
Довольно бесячий класс, надо сказать
источник

С

Степан in Haskell
А есть реализация sop над State или Arrow? Типо NP (TetatS a m) xs ->StateT (NP I xs ) m a
источник

JS

Jerzy Syrowiecki in Haskell
а в чём смысл этого?
источник

С

Степан in Haskell
Работать с множественными произведениями и суммами
источник

JS

Jerzy Syrowiecki in Haskell
это можно и без State
источник

С

Степан in Haskell
Да, но со Stаte можно соеденять подобные функции.
источник