Size: a a a

PureScript — русскоговорящее сообщество

2018 August 23

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
как вариант конечно хранить Row отдельно от рекорда
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
type RowsX r = (x :: String | r)
type RowsY r = (y :: String | r)
type X = Record (RowsX ())
type Y = Record (RowsX + RowsY + ())
источник
2018 August 24

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
@xgrommx спасибо, `ExcepT` сделала мою жизнь проще, понятнее и чуточку прекраснее
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
А как в мапе мапнуть ключи? То есть Map k v -> (k -> k') -> Map k' v и при этом значения как бы остаются?
источник

VY

Vasiliy Yorkin in PureScript — русскоговорящее сообщество
fromFoldableWith?)
источник

VY

Vasiliy Yorkin in PureScript — русскоговорящее сообщество
тк Map это Foldable, или нет, с телеоына
источник

VY

Vasiliy Yorkin in PureScript — русскоговорящее сообщество
не соображу как еще
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
Anton Kotenko
А как в мапе мапнуть ключи? То есть Map k v -> (k -> k') -> Map k' v и при этом значения как бы остаются?
fromFoldable <<<  map (lmap modifyKey) <<< toUnfoldable
источник

VY

Vasiliy Yorkin in PureScript — русскоговорящее сообщество
ну или пересобрать да
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
изоморфизмы же
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
или для линз сделать iso и уже юзать так
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
скорее всего еще и тип надо указать
logShow $ Map.fromFoldable <<< map (lmap show) <<< (Map.toUnfoldable :: forall k v. Map.Map k v → Array (Tuple k v))  $ myMap
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
Anton Kotenko
А как в мапе мапнуть ключи? То есть Map k v -> (k -> k') -> Map k' v и при этом значения как бы остаются?
линзами конечно тот еще ад)
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
Зигохистоморфный Препроморфизм
линзами конечно тот еще ад)
Не, линзами не буду, а `lmap` то что надо, спасибо!
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
Anton Kotenko
Не, линзами не буду, а `lmap` то что надо, спасибо!
isoMap :: forall k k' v. Ord k => Ord k' => L.Iso (Map.Map k v) (Map.Map k' v) (Array (Tuple k v)) (Array (Tuple k' v))
isoMap = L.iso Map.toUnfoldable Map.fromFoldable

newMap = L.over (isoMap <<< L.traversed <<< L._1) show oldMap
источник

к

кана in PureScript — русскоговорящее сообщество
Anton Kotenko
А как в мапе мапнуть ключи? То есть Map k v -> (k -> k') -> Map k' v и при этом значения как бы остаются?
а что делать, если ключи одинаковые будут?
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
кана
а что делать, если ключи одинаковые будут?
В последних версиях это Set
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
А
источник

к

кана in PureScript — русскоговорящее сообщество
ну типа:
mapKey :: (k -> k') -> Map k v -> Map k' v
mapKey (const ())
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
Надо делать из Set’а Set видимо
источник