-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Hello Abner,
On Wed, Jan 01, 2025 at 06:29:35PM -0800, Abner Gershon wrote:
> In the expression:
> do metadata <- getMetadata (itemIdentifier item)
> return $ maybe "" id $ lookupString "nextSlide" metadata
> `mappend` defaultContext
Apparently the compiler thinks that ``` `mappend` defaultContext ``` is
part of the second argument to `field "nextSlide"`. I think it happens
because `($)` takes the rest of the expression as the argument.
I believe you can fix this with some parentheses:
```
slideCtx :: Context String
slideCtx =
(field "prevSlide" $ \item -> do
metadata <- getMetadata (itemIdentifier item)
return $ maybe "" id $ lookupString "prevSlide" metadata)
`mappend`
(field "nextSlide" $ \item -> do
metadata <- getMetadata (itemIdentifier item)
return $ maybe "" id $ lookupString "nextSlide" metadata)
`mappend`
defaultContext
```
`mconcat` might be more readable:
```
slideCtx :: Context String
slideCtx =
mconcat
[
field "prevSlide" $ \item -> do
metadata <- getMetadata (itemIdentifier item)
return $ maybe "" id $ lookupString "prevSlide" metadata
, field "nextSlide" $ \item -> do
metadata <- getMetadata (itemIdentifier item)
return $ maybe "" id $ lookupString "nextSlide" metadata
, defaultContext
]
```
- --
Regards,
Alexander Batischev
PGP key 356961A20C8BFD03
Fingerprint: CE6C 4307 9348 58E3 FD94 A00F 3569 61A2 0C8B FD03
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEzmxDB5NIWOP9lKAPNWlhogyL/QMFAmd2jw0ACgkQNWlhogyL
/QOsShAAu3PHpz1OCg5wRW5oaICF+fpJ6IvXk7G2ItXqt4zAyH0prbIHQV1iDiID
4ZQlBvs9XF7VbDNyt8vv8K5HzFeclQ6BxVPTtwwFEF6kKKmTfnBxpNXzTpBsCaAb
kA3xgBKybG7GQwzao/xr7i+eLHl5tLXlQM7GlqVMbVC8OLliSs5o6wxoBr9yB2iJ
HJRIT2sTL2dTQWTLomHd3hWv5LNfKTGSANyIPdctelnODYWvVrphQg3XM6fquJjw
eHo4aaNClQwKUkSBLrgKHiaAPeN2CLQaGlEpcktH2sI8I+WHzRp/PAUd4X7yPUYt
gaKmSYdPxsJ4Yubd0AxkaYhDf5sWr5iFlTiiNHVYF0yQGuIOBKfn3fLeZ8cUFZYa
M/ZK+rAZQ5YLyzTyWb4FnPf+9/jGmzzAbcETRukOSeXT+7l1Mg2OSvjCP/JmntSu
NANMfAk43elG/hRJoGIWczqpYndQaRRlHYLxheSyaorX5nXXQvnJLYOKChu8dCLq
WZRszZYI/VUogkGax+M/VEZ1vUHBUUd4+Lj7H0/H8Y3UhHoOJRxKmKqqs/vxwsSC
Mg/sV+18osL+8G0DfBZUkxxqlUiSdtldBWBneDhXb2SfG31YhYFfwA46LK1E9h+V
WLai5JaSuX21IokEdw+zBPXSUbDXqWL2huKiHn3MfsYIz7zRuaY=
=oPDq
-----END PGP SIGNATURE-----