Использование # с любым типом в PureScript
Мне нравится использовать # для передачи значения через несколько функций, так как это делает код более читаемым: 
1 # (n -> n * 2) # (n -> n + 1)
Однако я хотел бы сделать это с помощью Either: 
(Right 1) ??? (n -> n * 2) ??? (n -> n + 1)
Значение Right должно быть распаковано для каждой функции, в то время как значение Left должно просто передаваться без изменений. Другими словами: 
(Right x) ??? f == Right f(x)
(Left x)  ??? f == Left x
Есть ли уже оператор для этого?
1 ответ:
Вы ищете
<#>, который является псевдонимом оператора для функтора mapFlipped. Экземпляр функтора дляEitherприменяет функцию к содержимомуRight, но оставляет значенияLeftнетронутыми.