4 ms·
trans :: (b -> a) -> (c -> a -> c) -> c -> b -> c in Haskell is just trans f reduce c = reduce c . f isn't it? What am I missing here?
by gipp 12y ago
trans :: (b -> a) -> (c -> a -> c) -> c -> b -> c
in Haskell is just
trans f reduce c = reduce c . f
isn't it? What am I missing here?
- tel 12y agoHe ends up calling that `mapping` later mapping :: (a -> b) -> Transducer b a mapping f xf r a = xf r (f a) which, modulo a little renaming, eta-expansion, and point elimination is the same as your `trans`
- platz 12y agoyour trans is just the "mapping" case. in general other functions can be applied to (c -> a -> c) -> c -> b -> c which will have more complex implementations than just composition.