Haskell

leanpub,
@leanpub@mastodon.social avatar

Pragmatic Type-Level Design: Practical introduction into type-level programming: design principles, design patterns, methodologies, approaches https://leanpub.com/pragmatic-type-level-design by Alexander Granin is the featured book on the Leanpub homepage! https://leanpub.com

haskell,
@haskell@fosstodon.org avatar

Update n°29 from the GHC team at IOG
https://engineering.iog.io/2024-05-23-ghc-update/

mangoiv,
@mangoiv@functional.cafe avatar

MemoTrie is the coolest library what the HEEEEEEECK 😳😻

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

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

mikwee,

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

haskell,
@haskell@fosstodon.org avatar

@mikwee cheers!

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

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.

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

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

mangoiv,
@mangoiv@functional.cafe avatar

My favourite 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.

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.

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 😁)

kosmikus,
@kosmikus@functional.cafe avatar

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

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.

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

Haskell Interlude Podcast 49: Arseniy Seroka (haskell.foundation)

Wouter and Joachim interview Arseny Seroka, CEO of Serokell. Arseny got into Haskell because of a bet over Pizza, fell for it because it means fewer steps between his soul and his work, and founded Serokell because he could not get a Haskell job. He speaks about the business side of a Haskell company, about the need for more...

maralorn,
@maralorn@chaos.social avatar

execState, runState or evalState? 🤔

crmsnbleyd,
@crmsnbleyd@emacs.ch avatar

how the hell do you add dependencies in Haskell stack, I add yesod to the build-depends in the cabal file like shown in the stack example but on running stack build it fails saying it couldn't find yesod, and then the line is removed from the cabal file. Haskell ecosystem is hell.

crmsnbleyd,
@crmsnbleyd@emacs.ch avatar

@hungryjoe @6d03 thanks for the help, I'd been looking at old documentation, silly me

hungryjoe,
@hungryjoe@functional.cafe avatar

@crmsnbleyd @6d03 NP

I personally really like how Haskell Stack works (package sets are amazing), but the interactions between it and the Cabal file are definitely confusing

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