on master help sign in
Update comments
commitb71191629a25c059f3b95a0b424d425c33fa7a79 authorRyan Trinkle <ryan.trinkle@gmail.com> dateTue 10 Jul 2018, 16:12 (8 years ago) parent2f4d58d
1 file changed+1−2
lib/route/src/Obelisk/Route.hs+1−2
lib/route/src/Obelisk/Route.hs+1−2
@@ -121,9 +121,8 @@ mapSome f (Some.This a) = Some.This $ f a
121121newtype Encoder check parse decoded encoded = Encoder { unEncoder :: check (ValidEncoder parse decoded encoded) }
122122
123123-- | Law:
124−-- forall p. _totalEncoder_decode ve . _validEncoder_encode ve p == pure
124+-- forall p. _validEncoder_decode ve . _validEncoder_encode ve p == pure
125125-- Note that the reverse may not be the case: when parsing, a route may be canonicalized, and erroneous routes may be collapsed to a single 404 route. However, as a consequence of the law, encode . decode must be idemponent.
126−-- | TODO: Should this be turned around? That would match enumEncoder better
127126data ValidEncoder parse decoded encoded = ValidEncoder
128127 { _validEncoder_decode :: !(encoded -> parse decoded) -- Can fail; can lose information; must always succeed on outputs of `_validEncoder_encode` and result in the original value
129128 , _validEncoder_encode :: !(decoded -> encoded) -- Must be injective