Tomorrow, 2024-05-22, at 1830 UTC, we'll be back for the 26th episode of the #Haskell#Unfolder live on YouTube. Edsko and I will talk about how to encode Haskell functions with a variable number of arguments.
I'm going to return to #haskell after a very long time. Back then, the #cabal hell was excruciating. But now, thanks to #nix, setting up a project is like two seconds from the time you decide to create it to the point you start coding.
@lxsameer Not really dependent on Nix, I'd say. You can use Nix if you want to, sure, but also cabal(-install) itself is much better than it used to be.
To anyone writing programs in #Scheme right now, this is just a reminder that you can search through a huge cluster of Scheme libraries indexed by procedure name, including all SRFIs, at the https://index.scheme.org/ website. If you need code to do something, try searching by keyword to see if someone has already written it. Most APIs listed there even have Haskell-like types and are tagged as "pure" if they are pure.
Best tip I have is to pay more attention to the 'forall's. Compose / . / <<< "fixes" the 'forall', which can cause type checking to fail elsewhere or, if "a" is higher-rank, there (it forces "b" to be monomorphic; higher-rank "a" might require a polymorphic "b'). Application / '$' (in GHC) doesn't "fix" the forall.
I think the difference might be "deeper", but for me it's able where the "choice" for the forall is made.
I've been trying to make this work for a few days and finally I achieved it, the most basic form of a wayland client using unix sockets, and well in other languages it was not difficult at all, I did it in hare, c, typescript (deno), and in the end I wanted to try with a language that I had never used, Haskell, and I learned many things but I still don't know what a monod is, anyway, here I leave a link to the code for those who are interested: https://gitlab.com/-/snippets/3711372 #haskell#programming#wayland