Trying something new for a CONTRIBUTORS file: CONTRIBUTORS.dhall. It is readable, typed, and easy to consume (for what? dunno yet ha) https://git.sr.ht/~toastal/purescript-web-page-visibility/tree/trunk/item/CONTRIBUTORS.dhall
@rhitakorrr because it's Dhall, I could easily translate it into a different type. Say a had a project big enough to get a dedicated site. I could use a tool like Soupault read the Dhall as JSON or TOML or some other format another tool understands to rend HTML for the site.
This is a part of a meta project. Because it's just Dhall, I could import the CONTRIBUTOR files from all projects to get the meta list.
@toastal Very true. Dhall also has a really nice integration with Haskell and could very easily be used with a Haskell static site generator like Hakyll.
@toastal Ah, gotcha. Is Soupault the alternative you're moving to then? What made you want to migrate?
@rhitakorrr Eventually I'll probably do a blog on it, but yes. I wanna move to Soupault because of its philosophy of trying to be timeless and easy to maintain. Relying on Stack and the Haskell build chain had me stuck at a certain version and I don't know how to set it up on my new laptop. Soupault is mostly just helping with basic templating and directing text through stdin/stdout through utilities that are normally wrapped in some layer of abstraction and opinions that don't help.
Even though I'm building it with Nix now, I'm confident I can either come back at any time with the same state and it be reproducible, or drop it entirely as it's mostly there to exact my tooling versions and push to the binary cache.
@toastal That's fair. Sometimes keeping it simpler is the best thing to do, and Soupault does look pretty good for that.
"utilities that are normally wrapped in some layer of abstraction and opinions that don't help" - I get that so much. The amount of tools I've moved away from because they made some dumb, opinionated choices that I can't seem to work around... 🙄
Re Haskell, I like the idea of Stack, but in practice I've found it annoying to bootstrap projects with. Having to build all the packages at the beginning of a project was a long and unnecessarily tedious process, especially since the build often failed partway through and had to be resumed manually.
I just use Cabal+Nix these days for all my Haskell projects. Pulling the pre-built packages from the binary cache is so much nicer.