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

News from the front!
With the completion of one of the oldest tickets in our tracker by Raoul HC, flora-server is gaining the ability to host and serve package archives. We're getting closer to a #Haskell package repository that you will be able to deploy yourself!

See https://github.com/orgs/flora-pm/projects/9 for all the tickets linked to package hosting

DiazCarrete, to random
@DiazCarrete@hachyderm.io avatar

"the very definition of the GHC profiler makes it of limited use when estimating time on two classes of computations: firstly, those that need to do blocking IO; and secondly, some computations that invoke functions written in other programming languages."
https://www.tweag.io/blog/2022-07-28-timestats/
Sometimes you have to turn to the eventlog
https://well-typed.com/blog/2019/09/eventful-ghc/
https://hackage.haskell.org/package/ghc-events
https://downloads.haskell.org/ghc/latest/docs/users_guide/eventlog-formats.html

kosmikus, to random
@kosmikus@functional.cafe avatar

Tomorrow is Unfolder day! In our 13th episode, Edsko and I will be discussing the topic of "open recursion". Join us live on YouTube 2023-10-25 at 1830 UTC (or watch the recording later):

https://www.youtube.com/watch?v=pfwP4hXM5hA&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&index=13

le, to random German
@le@troet.cafe avatar

I created this cheat sheet about and their |-equivalents. Since I didn't find something similiar in my learning process, I thought this could be helpful for others

someodd, to random
@someodd@fosstodon.org avatar

After much failure with trying to get my project running with , I find the workaround is to use an environmental variable to set SDL_RENDER_DRIVER=software and skip using drivers entirely, I guess?

cultsys, to random
@cultsys@hachyderm.io avatar

I decided to write a clone of (a tiny part of) redis in #haskell, for some goddamn reason, and wrote something about the experience: https://www.cultured.systems/2023/07/08/Redis-in-haskell/

lwhjp, to random
@lwhjp@mstdn.jp avatar

In ,
(foldl1' nums) <$> [min, max]
gives [a, b] being the minimum and maximum of nums. Is there a concise way to get a tuple instead without writing fold twice? Seems like something to do with bifunctors or arrows, but I haven't managed to wrap my head around it yet. (I realize this is somewhat pointless golfing)

jaror,
@jaror@kbin.social avatar

@lwhjp (($ min) &&& ($ max)) (foldl1' nums)

lawik, to random
@lawik@fosstodon.org avatar

Got in touch with a company that is looking to hire for Haskell + Elm in Gothenburg, Sweden. Considering how much interest my last static FP job posting drew I figure there might be one or two of y'all in Gbg. Help spread it if you think you know people of interest.

Apply through: https://underjord.io/jobs.html

I think this company will look wider, probably EU, at a later point.

someodd, to random
@someodd@fosstodon.org avatar

Okay, productivity set-back: I can't figure out how to get library working with

I usually get sdlExceptionError "Couldn't find matching render driver" or "Couldn't find matching GLX visual."

someodd,
@someodd@fosstodon.org avatar

I can try something like this:

$ SDL_DEBUG=1 SDL_VIDEODRIVER=wayland nix run
pkg-exe: SDLCallFailed {sdlExceptionCaller = "SDL.Video.createRenderer", sdlFunction = "SDL_CreateRenderer", sdlExceptionError = "Parameter 'window' is invalid"}

romes, to random
@romes@mastodon.joaoleitao.org avatar

Slowly building up my to a point where it works again!

minoru, to random
@minoru@functional.cafe avatar

folk: how do I verify that my package can be built with bytestring 0.12? There is no GHC releases that bundle that version yet. Is there some flag that could tell it to use a version from Hackage rather than the one included into the GHC distribution?

romes,
@romes@mastodon.joaoleitao.org avatar

@minoru If your bounds allow 0.12, and you’ve run cabal update to fetch the latest versions from hackage, then cabal build should pick 0.12 if I’m not mistaken.

And setting the lower bound as @jaror mentioned should force 0.12

minoru,
@minoru@functional.cafe avatar

@jaror @romes Thank you both! The mystery is already solved, please see earlier comments. Turns out I was specifying a non-existent version to --constrain, but didn't notice it because the error message for "version doesn't exist" looks the same as for "version couldn't be used because it doesn't satisfy constraints". The Universe seem to be pushing me to contribute to Cabal as of late :)

raichoo, to random
@raichoo@chaos.social avatar

Upgrading the password manager I wrote in a couple of years ago was surprisingly straight forward. Moved all dependency boundaries into a cabal freeze file. Let's see how that feels moving further.

someodd, to random
@someodd@fosstodon.org avatar

Potential productivity boost ⚠️

I think the binaries from are compiled to ignore Haddock comments (for "non-builtin" depends), so they don't show up in .

I'm using this Nix Flake template: https://zero-to-flakes.com/haskell-flake/start/

I maybe changed 1 line in the default flake (ghc92) and now see pic.

+ for depends 💯

I think this all lets you use same HLS, GHC, and Cabal as me, + reproduce my builds, run tests, with 1 or 2 commands.

is reproducible magic.

Oliviastarstuff, to random
@Oliviastarstuff@fosstodon.org avatar

I've been learning and loving . It feels very much like coding in for some reason. I think it has to do with how the built-in functions are laid out.

someodd, to random
@someodd@fosstodon.org avatar

I am yet again starting a project in and having fun getting lost in something fun, but basically causing me to be side-tracked.

I'm working on a simple pixel art editor, but I am excited by to, I think, use refinement types and prove certain properties about my code.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • uselessserver093
  • Food
  • aaaaaaacccccccce
  • test
  • CafeMeta
  • testmag
  • MUD
  • RhythmGameZone
  • RSS
  • dabs
  • KamenRider
  • Ask_kbincafe
  • TheResearchGuardian
  • KbinCafe
  • Socialism
  • oklahoma
  • SuperSentai
  • feritale
  • All magazines