fargate, to haskell

Helsinki Haskell Users Group's first book club had its conclusion meeting today with Sockets and Pipes coming to its very end. It has been a ride, one with plenty of scheduling difficulties, but I think we only fell like a month and a half from the original planned schedule and actually had a member retention rate of 100% (of members who were there in the beginning, sadly we could not quite make it 133%)!

To talk a bit about the book as a whole, I do feel like I understand Monad Transformers a lot better now though I'll still need to reread the sections introducing them I am sure. ReaderT especially was something I could see was colossally handy, but given it was in the second to last chapter we were already quite deep with trying to understand everything else so the true utility of it remains somewhat hazy despite the quality of the chapter itself which felt higher than those surrounding it. The habit of reading RFCs and attempting to match the spec in the types one writes is also one I should include in my general workflow, though that is probably a no-brainer for most. It just wasn't a thing in my previous work, so bear with me while I call it a novel concept!

I'm still working on my personal project, but getting nix-build working seems difficult. I'll just have to bring it up in the next main group Office Hours meetup I suppose, lest I never get this show on the road!

Jose_A_Alonso, to haskell
@Jose_A_Alonso@mathstodon.xyz avatar

The Haskell Unfolder Episode 23: specialisation. ~ Edsko de Vries (@EdskoDeVries), Andres Löh (@kosmikus). https://www.youtube.com/live/ksW04Cl2dgo

BoydStephenSmithJr, to haskell
@BoydStephenSmithJr@hachyderm.io avatar

Any experience with turning non-uniform recursion schemes (http://www.cs.nott.ac.uk/Research/fop/blampied-thesis.pdf) into a library that works like or -schemes

I've got a specific type that uses a approach but I'd like to write some general folds (using e.g. algebra families) instead of duplicating the "traversal" code.

I might have done the categorical approach (functor categories instead of algebra families) before, but that has limitations and I think I lost the code.

flora_pm, to haskell French
@flora_pm@functional.cafe avatar

Only very few breakages from Flora's dependencies with GHC 9.10.1-alpha3. We may be able to adopt it as soon as HLS supports it (and a nice dose of "allow-newer" in cabal.project configuration)

haskell_foundation, to haskell
@haskell_foundation@mastodon.social avatar

GHC 9.6.5 is now available! This release focuses on fixing bugs discovered in the 9.6 series. Check out the details https://www.haskell.org/ghc/blog/20240416-ghc-9.6.5-released.html

haskell, to haskell
@haskell@fosstodon.org avatar

GHC 9.10.1-alpha3 is now available!
Read the announcement at https://discourse.haskell.org/t/ghc-9-10-1-alpha3-is-now-available/9336

leanpub, to FunctionalProgramming
@leanpub@mastodon.social avatar

The Art of Functional Programming by Minh Quang Tran, PhD is on sale on Leanpub! Its suggested price is $24.99; get it for $17.99 with this coupon: https://leanpub.com/sh/xxltuCKP

kosmikus, to haskell
@kosmikus@functional.cafe avatar

New blog post by my colleague Finley on "Choreographing a dance with the GHC specializer (Part 1)". This is in addition to our episode on the same topic tomorrow, 2024-04-16, at 1830 UTC on YouTube.

https://well-typed.com/blog/2024/04/choreographing-specialization-pt1/

haskman, to fpindia
@haskman@functional.cafe avatar

Announcing the next #FPIndia #LearnHaskell meetup, this Saturday 20 April in #Gurgaon.

We’re diving into deeper FP waters with applicatives, monads, and transformers.

Join us! Our Telegram group has more details and updates. https://t.me/fpncr

#FunctionalProgramming #Meetup #Delhi #India #Haskell

BoydStephenSmithJr, to haskell
@BoydStephenSmithJr@hachyderm.io avatar

Anyone know if the images (e.g.: https://hub.docker.com/layers/fpco/stack-build/lts-22/images/sha256-09dcc6cf3739dbb5f73bbb84dc15ee815f463409653c5159673afc7d3b4134b7?context=explore) are still maintained, and what might be the best way to report a bug? :blobfoxconfused:

The LTS_SLUG seems wrong, and when I attempt a stack build in that image, I run out of space compiling GHC. (e.g.: https://gitlab.com/bss03/restman/-/jobs/6622698704) :blobfoxsurprised:

I expect the docker image would contain a GHC that stack would find and use; I am using the matching resolver for the tag (e.g.: 22.17). :blobfoxhappy:

BoydStephenSmithJr, to haskell
@BoydStephenSmithJr@hachyderm.io avatar

I opened two merge requests on a project (hosted on ) that I don't "own". I think that's enough for the day. 😀

norootcause, to random
@norootcause@hachyderm.io avatar

Sometimes I think we could use some further ado.

BoydStephenSmithJr,
@BoydStephenSmithJr@hachyderm.io avatar

@tuban_muzuru @norootcause If you want to see how a small hack-y SPA looks in it, I volunteer my current idle project: https://gitlab.com/bss03/halogen-lambda

If reading the code isn't enough, the ugly SPA with crappy UX is at least live: https://bss03.gitlab.io/halogen-lambda/

Having to deal with type conflicts at runtime is exhausting to me. Writing non-trivial JS at work is a slog. But, I'd say is almost as much fun as and might be better-specified!

DiazCarrete, to haskell
@DiazCarrete@hachyderm.io avatar

TIL that operations on IORefs (unlike some operations on MVars) are are guaranteed not to be interruptible.

https://hackage.haskell.org/package/base-4.19.1.0/docs/Control-Exception.html#g:13

maralorn, to programming
@maralorn@chaos.social avatar

current status: calling a executable from typed template

brokenix, to haskell
@brokenix@emacs.ch avatar

pseq combinator is used for sequencing; informally, it eval-
uates its first argument to weak-head normal form, and then eval-
uates its second argument, returning the value of its second argu-
ment. Consider this definition of parMap:
parMap f [] = []
parMap f (x:xs) = y ‘par‘ (ys ‘pseq‘ y:ys)
where y = f x
ys = parMap f xs
The intention here is to spark the evaluation of f x, and then
evaluate parMap f xs, before returning the new list y:ys. The
programmer is hoping to express an ordering of the evaluation: first
spark y, then evaluate ys.
The obvious question is this: why not use #Haskell’s built-in seq
operator instead of pseq? The only guarantee made by seq is that
it is strict in both arguments; that is, seq a ⊥ = ⊥ and seq ⊥
a = ⊥. But this semantic property makes no operational guaran-
tee about order of evaluation. An implementation could impose this
operational guarantee on seq, but that turns out to limit the optimi-
sations that can be applied when the programmer only cares about
the semantic behaviour. Instead, we provide both pseq and seq
(with and without an order-of-evaluation guarantee), to allow the
programmer to say what she wants while leaving the compiler with
as much scope for optimisation as possible.
https://simonmar.github.io/bib/papers/multicore-ghc.pdf

kosmikus, to haskell
@kosmikus@functional.cafe avatar

It's finally time for the next episode of the . In episode 23, my colleagues Finley, Edsko, and I will discuss the topic of "specialisation", an important GHC optimisation that can help eliminate the cost intrinsic to overloaded functions. This will be streamed live on YouTube, on Tuesday, 2024-04-16, at 1830 UTC. https://www.youtube.com/watch?v=ksW04Cl2dgo&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&index=23

sellout, to haskell

I made a thing in case you were starting to think programming is too easy.

https://github.com/sellout/no-recursion – a plugin to remove support from

(I have multiple use cases for this, I swear.)

6d03, to haskell
@6d03@mathstodon.xyz avatar

I remember recently reading a new paper elaborating a novel presentation of graph algebras. But I can't for the life of me remember the title or the author.

The central idea was axiomatizing vertices as pairs of sets of all incoming and outgoing edges.

It also had example code in Haskell.

Does anybody have an idea of the title? I'd be very thankful for suggestions.

leanpub, to haskell
@leanpub@mastodon.social avatar

Finding Success (and Failure) in Haskell by Type Classes is on sale on Leanpub! Its suggested price is $35.00; get it for $12.50 with this coupon: https://leanpub.com/sh/4sG8LBPo

DiazCarrete, to haskell
@DiazCarrete@hachyderm.io avatar

When building Servant applications with persistence, a common (?) pattern is to request a database connection from a pool in the callback we pass to "hoistServer" https://hackage.haskell.org/package/servant-server-0.20/docs/Servant-Server.html#v:hoistServer and then pass the connection down to the handler using ReaderT https://github.com/danidiaz/comments-project/blob/3bb720124b31f0a8e351751bdcc6651ed75d9e27/comments/lib/Comments/Runner.hs#L57
It works, but I'm kinda unhappy about it because it forces you to use ReaderT in those intermediate components that lie between the top-level handler and the repository component which actually uses the connection. 😕

someodd, to haskell
@someodd@fosstodon.org avatar

Please share with me your wisdom on packaging and distributing software made with .

lobocode, to Lisp

Conducting a small experiment using #Lisp instead of #shell script. Reason? Mere curiosity.

lobocode,

@simon_brooke Hey buddy, checked out / yesterday, super intriguing stuff. Actually, I've been digging into and its dialects lately. Got curious about why there are so many dialects, you know?

Recently dabbled in , which got me looking at Lisp in a new light. Unlike , which is awesome for sure, has been out of academia and in the market for quite a while... found it pretty cool.

kosmikus, to haskell
@kosmikus@functional.cafe avatar

At Well-Typed, we are currently looking for a new developer (possibly more) to join our team: https://well-typed.com/blog/2024/04/haskell-development-job-with-well-typed/

vascorsd, to haskell
@vascorsd@mastodon.social avatar

"introduced by way of bundled (interchangable term: vendored) C sources"

those are always fun sure. any modern ecosystem making the error of doing that are in for a world of pain.

really nice work, seeing people going over libraries and checking if there are xz backdoors embedded somewhere.

--

Haskell Security Response Team - 2024 January–March report - Announcements - Haskell Community - https://discourse.haskell.org/t/haskell-security-response-team-2024-january-march-report/9285

annika, to random
@annika@xoxo.zone avatar

PHP tip: you can write 0 (zero) as 0_0 for added emotion.

if ($balance == 0_0) {  
 panic();  
}  
joeyh,
@joeyh@hachyderm.io avatar

@annika also in and with any number of underscores and zeros!

(0_____0) -- ribbit

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