Haskell

lxsameer,
@lxsameer@social.lxsameer.com avatar

I'm really impressed by how the #haskell ecosystem improved since the last time I've used it. Kudos to all the people who made it happen.

Jose_A_Alonso,
@Jose_A_Alonso@mathstodon.xyz avatar

The Haskell Unfolder Episode 26: Variable-arity functions. ~ Edsko de Vries (@EdskoDeVries), Andres Löh (@kosmikus). https://www.youtube.com/live/5wbgRlzJYUU

haskell,
@haskell@fosstodon.org avatar
terrorjack,
@terrorjack@functional.cafe avatar

@haskell https://gitlab.haskell.org/ghc/ghc/-/issues/24603 for the discussion thread and instructions for reproducing the result

kosmikus,
@kosmikus@functional.cafe avatar

Getting ready for the episode on variable-arity functions that starts in less than half an hour:

https://www.youtube.com/watch?v=5wbgRlzJYUU&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&index=26

kosmikus,
@kosmikus@functional.cafe avatar

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.

https://www.youtube.com/watch?v=5wbgRlzJYUU&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&index=26

haskell_foundation,
@haskell_foundation@mastodon.social avatar

🎧Check out the latest interview with David Christiansen, the former ED of #HaskellFoundation on the Type Theory Forall podcast by Pedro Abreu. It’s a must-listen! Have 116 minutes to spare? Dive in here: https://discourse.haskell.org/t/david-christiansen-on-type-theory-forall/9598 #Haskell #TypeTheory

lxsameer,
@lxsameer@social.lxsameer.com avatar

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.

kosmikus,
@kosmikus@functional.cafe avatar

@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.

mangoiv,
@mangoiv@functional.cafe avatar

My favourite #haskell row polymorphism package is aeson

aeveltstra,
@aeveltstra@mastodon.social avatar

@mangoiv Why aeson?

maralorn,
@maralorn@chaos.social avatar

I have real trouble developing an intuition for NoDeepSubsumption.

I always only notice by sheer luck that changing

a . b $ c

to

a $ b $ c

fixes my type error.

#haskell

BoydStephenSmithJr,
@BoydStephenSmithJr@hachyderm.io avatar

@maralorn I also still have problems with this in , too.

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.

mikwee,

Shoutout to the @haskell team for making such a cool tutorial available on their home page.

haskell,
@haskell@fosstodon.org avatar

@mikwee cheers!

neloj,

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

maralorn,
@maralorn@chaos.social avatar

@neloj This is fracking awesome. Really cool!

Monads are the bane of 's image, they are really not that important, so don’t worry about it.

haskell,
@haskell@fosstodon.org avatar

Haddock now lives in the GHC repository! 🎉

Shorter feedback cycles for contributors and higher quality of releases, these are a few of our favourite things about the Haddock documentation generation tool coming home to the GHC repository.

https://discourse.haskell.org/t/haddock-now-lives-in-the-ghc-repository/9576

mangoiv,
@mangoiv@functional.cafe avatar

https://bin.mangoiv.com/note?id=d98221a5-bc33-4ff9-b55f-a8011dd389a1

For ers using neovim I have a little treat to make their code lenses less ugly :ablobcatreachreverse:

(Thing is in nix, if you don’t use nix, then you will know how to patch your neovim, I guess 😁)

Jose_A_Alonso,
@Jose_A_Alonso@mathstodon.xyz avatar

The Haskell Unfolder Episode 25: from Java to Haskell. ~ Edsko de Vries (@EdskoDeVries), Andres Löh (@kosmikus). https://www.youtube.com/live/YwshlQXKO80 #Haskell #FunctionalProgramming

kosmikus,
@kosmikus@functional.cafe avatar

Later today, 2024-05-15, at 1830 UTC, join Edsko and me for the 25th episode of the #Haskell #Unfolder "from #Java to Haskell" live on #youtube.

https://well-typed.com/blog/2024/05/haskell-unfolder-episode-25-from-java-to-haskell/

kosmikus,
@kosmikus@functional.cafe avatar

@mangoiv @maralorn Yes, I agree with this view. I don't think Maybe is the right analogy. The MVar being empty is not a case you have to explicitly deal with, it already has a behaviour attached to it (blocking). Regarding the missing entry in the square, isn't that just an IORef?

maralorn,
@maralorn@chaos.social avatar

@kosmikus

@mangoiv

Yeah, It's kinda IORef but I thought that doesn't count because it has less concurrency guarantees.

But I think I get now why MVars are much more useful. I have even used TMVars myself as locks when the action I wanted to do with it contained effects.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • haskell
  • Durango
  • DreamBathrooms
  • thenastyranch
  • magazineikmin
  • tacticalgear
  • khanakhh
  • Youngstown
  • mdbf
  • slotface
  • rosin
  • everett
  • ngwrru68w68
  • kavyap
  • InstantRegret
  • JUstTest
  • cubers
  • GTA5RPClips
  • cisconetworking
  • ethstaker
  • osvaldo12
  • modclub
  • normalnudes
  • provamag3
  • tester
  • anitta
  • Leos
  • megavids
  • lostlight
  • All magazines