lists.tlug.jp-scrape
repo (which maybe we would want to rename) and serving that from Netlify is something I can help with.
Here goes
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYMmJnZfmZ2hmG+uN7JbTdHzLlUu10eMK9RuZok7Z0RAEvPTYJbBR+cRQmKZ+TmCXrXMoVFQflFTVNYrCl5POimzlqapjrl//SnCuJzHSnhrClzQ2hhxjjYj5NOsA38fXl0S0sdGjpuEFGd6v1QJ0id4sEnuTBKxKg++nneAtOBpa9X4KOxSgaWFaKUPsq3KrHx2uzQ6ng10N2/WYop6JA7VG2IDPdcA7aJFMmW+ykPuQjL4atsh4A+76C3oBrei92ZUUC3aelqL0gF3xh+JjDiQRmaFiGRAGspHXwPQjxP8xmLHU+pYNZ9Ylfv3vRi4Ue+0AlqFQYyvnZ7/1F2V9F ragga@walkonen.local
@sssjjjnnn Just looking through your parser code; I think you really wanted Either
instead of Maybe
for handling errors. The convention is that Left
is an error and Right
is a value with which to continue, and the monad definition encodes this similar to Monad Maybe
, by abandoning processing and letting the Left
value propagate through to the end when an error occurs:
instance Monad (Either e) where
Left l >>= _ = Left l
Right r >>= k = k r
I'm not sure off-hand what the exact type should be, but probably something like Either (String, ParserState) (a, ParserState)
, String
being the error message, because the ParserState
will contain the position where the error occurred and we can print that. (Probably we also want to keep line and maybe column number in the state.)
<$
. So I guess I'd better go read up on and figure that out, and maybe complete my little explicatory monadic parser. I have the feeling with yours you've got too many functions touching and extracting the state, rather than leaving that only to the lowest-level combinators.
function <$> arg1 <*> arg2 <*> arg3
function <$ drop_this_arg <*> arg1 <*> arg2
func <$> arg1 <* drop_this_arg <*> arg2
<*
and *>
, too, I think; those seem pretty simple. But the type signature (<$) :: a -> f b -> f a
isn't obvious to me, and from what you've said here and elsewhere I think I'm missing an intuition about the relationship between Appicative and Functors. I'll go back and spend an hour on it and I'm sure it will all come clear.
b
type in the above is completely unused! (I just had to think for a moment about what fmap . const
does.)
lists.tlug.jp
for the scraped copy of the current lists site. I didn't do any other subdomains; @ragga things we should just drop them and I agree. Everything should be pretty fully documented but ask here if you have questions.
At a quick glance, all looks good except the archive user/pw images which don't load on new.tlug.jp. Was that intentional?
In any case, lists.tlug.jp is now pointed at Jims server and looks to be working fine, which is kinda the most important as it's the portal for the mailing list.
Going forward, I think the main pages on both tlug.jp and lists.tlug.jp will have to be checked for consistency anyway.
master
every time we did a commit. Perhaps it's not clear, but the release branch is an entirely different set of files from the source branch. It's basically a commit of everything under the _site
directory and nothing else.