haskell, to haskell
@haskell@fosstodon.org avatar

Cabal 3.12 has been released! A plethora of changes and improvements, thanks to the dedicated work of the entire team. Grab it and give it a try! https://discourse.haskell.org/t/ann-cabal-3-12-0-0-released/9504 #Haskell

ffaff, to haskell
@ffaff@aleph.land avatar

Cabal 3.12 released! Lots of new features for #cabal users, but also for #HSL users (multicomponent repl sessions) and much more!

https://discourse.haskell.org/t/ann-cabal-3-12-0-0-released/9504

Boosts appreciated to reach the wider #haskell community!

BoydStephenSmithJr, to haskell
@BoydStephenSmithJr@hachyderm.io avatar

Note to self: type variables in and cannot be bound to partially applied type synonyms.

If you try to do so, in a sufficiently polymorphic way, you'll get very confusing type errors as the checker attempts to solve things with the variable bound to the "head" of the (parametrically expanded) type alias.

Last night it was (forall r. (forall f. Foldable1 f => f a -> r) -> r) and tonight it was (a -> Term a). Introducing a newtype can help, but beware impredicativity.

joeyh, to haskell
@joeyh@hachyderm.io avatar

Last week I prototyped a git remote helper in a shell script, and now I'm rewriting that in #haskell as part of #gitAnnex.

I don't do this often and I wonder if it was a mistake, probably I should have written the prototype in haskell and then integrated it into git-annex. It's kind of amazing how a lot of complexity is melting away and also how I'm adding So Many Types and also throwing in a lot of robustness improvements.

mangoiv, to haskell
@mangoiv@functional.cafe avatar

Out:
(A -> D) -> B -> C -> D

In:
(A -> (D, B, C) ) -> D

#haskell

maralorn, to haskell
@maralorn@chaos.social avatar

I would like to see CNN style real time coverage of software releases, e.g.:

BREAKING: New ghc release just dropped!

DiazCarrete, to haskell
@DiazCarrete@hachyderm.io avatar

Made a video: generating HTML in Haskell using "lucid2"
https://www.youtube.com/watch?v=SQ78GVCzsz0

aksharvarma, to programming
@aksharvarma@mathstodon.xyz avatar

Evolution of how I think of #loops while #coding:

  1. When I first learned "loops":

while (condition is true) {do these things, adjust things so a slightly new condition is checked}

// That's where I first saw infinite loop and how there are intentional infinite loops.

  1. A small step to move condition update out of the loop body:

for (i=0; i< N; i++) {do these things}

// After the couple of days it took to get used to them, I found them neater and closer to how I think of things.

  1. Most of the time, the i from before is indexing into something, so let's directly deal with the item being indexed:

for item in collection:
do stuff

After the few days to rewire syntax muscle memory, going back would decidedly feel like a step back.

I don't want to give up automatic (and transparent) out-of-bound checks.

  1. There are actually only about 3/4 things one does inside a loop:

map/fold/scan/filter function-to-call collection-to-traverse-through

;; Getting rid of explicit indexing was just step one.
-- After a few days/months/years, I now realize that it is more important and less buggy if I think only of the function to call (and whether I want to end up with a new (maybe pruned) collection, a single thing, or "both" (that's how I think of scans))


Alternatively, my evolution as I learned new #programming languages idioms:
#KandR -->
#cpp or #java -->
#python -->
#lisp or #haskell --> ???

BoydStephenSmithJr,
@BoydStephenSmithJr@hachyderm.io avatar

@aksharvarma Loop bodies are F-algebras and the "collection" over which you loop is a fixpoint of F. The #haskell recursion-schemes library handles that when F is an endofunctor on the term/expression category in your language.

You can still apply algebra semantics for "higher" functors F (when F is "really"/also a [type-indexed] functor family) with the appropriate Kan extensions.

aksharvarma,
@aksharvarma@mathstodon.xyz avatar

@BoydStephenSmithJr

I do know that maps/folds/etc. can be generalized to anything belonging to the functor class in #haskell; so things like trees and other "container" type things beyond just lists. However, I didn't want to introduce special terminology in what was otherwise free of such jargon.

As for the rest of what you said, I don't know enough category theory to understand what you meant, although I can recognize them as being category theory terms.

Thanks for pointing out the connections. Hopefully, one day I'll get to a level of understanding where I can grok what you said.

mangoiv, to haskell
@mangoiv@functional.cafe avatar

Shoutout to @hecate for https://flora.pm/.

It’s just so awesome to have a fast, modern UI for hackage that really suits all your needs!

lyxia, to haskell

Bluefin-algae, an algebraic effect library using the Bluefin effect system.
https://discourse.haskell.org/t/bluefin-algae-algebraic-effects-in-bluefin/9470

koz, to haskell
@koz@chaos.social avatar

#Haskell Fedi: do int2Word# and similar operations have a runtime cost? I assume 'no', but I'd like to be sure.

mangoiv, to haskell
@mangoiv@functional.cafe avatar
simonmic, to haskell
@simonmic@fosstodon.org avatar

I'm pleased to announce hledger 1.33.1, with several fixes,
installability improvements, and doc updates.

is free, fast, reliable, multicurrency, double-entry,
software for unix, mac, windows, and the web,
written in for reliability and longevity.
For help, join our chat or mail list: https://hledger.org/support

Jose_A_Alonso, to haskell
@Jose_A_Alonso@mathstodon.xyz avatar

The Haskell Unfolder Episode 24: generic (un)folds. ~ Edsko de Vries (@EdskoDeVries), Andres Löh (@kosmikus). https://www.youtube.com/live/QTgRKWGDVr0

kosmikus, to haskell
@kosmikus@functional.cafe avatar

The one-year anniversary episode of the is starting in about 15 minutes!

https://www.youtube.com/watch?v=QTgRKWGDVr0&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&index=24

kosmikus, to haskell
@kosmikus@functional.cafe avatar

The is now 1 year old! In the anniversary episode, Edsko and I will return to the very first topic and consider (un)folds, but now in a more generic setting. Live on YouTube 2024-05-01 at 1830 UTC.

https://www.youtube.com/watch?v=QTgRKWGDVr0&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&index=24

hackuador, to haskell

Brisbane Functional Programming Group #BFPG May meetup, Tue 14th: #Gleam v1 (Rob Ellen) + Do your taxes with #Haskell (Fraser Tweedale). All curious minds are welcome!

https://www.meetup.com/brisbane-functional-programming-group/events/298454561/

mangoiv, to haskell
@mangoiv@functional.cafe avatar

I wanted to declare something of type Code m a -> m Exp so I can pass the type variable of the typed code to a function used within the untyped code (which I have to do because TTH will not allow me a polymorphic function where I don’t name all type variables in the AST within the Code) but of course this doesn’t work because „untyped code cannot appear in type splice“ ARGH
#haskell

mybarkingdogs, to haskell
@mybarkingdogs@freeradical.zone avatar

#Haskell, #Jones, #Texas National Weather Service: #TORNADO WARNING in this area until 11:15 PM CDT. Take shelter now in a basement or an interior room on the lowest floor of a sturdy building. If you are outdoors, in a mobile home, or in a vehicle, move to the closest substantial shelter and protect yourself from flying debris. Check media. Source: NWS San Angelo TX

#TxWx #TornadoWarningRelay

haskell, to haskell
@haskell@fosstodon.org avatar

The GHC developers are very pleased to announce the availability of the release candidate for #Haskell GHC 9.10.1.

https://discourse.haskell.org/t/ghc-9-10-1-release-candidate-1-is-now-available/9424

brokenix, to haskell
@brokenix@emacs.ch avatar

quoting @prophet
mli files are mostly used to constrain the visibility of definitions whereas hs-boot files are about allowing mutual recursion between modules (which OCaml doesn't support, even with mli files!)
But the mechanism by which they achieve their goals is nearly identical even though the perception of it is so vastly different.

I guess the conclusion to draw from this is that both sides are wrong: IMO, mli files are not nearly as good as OCamlers think they are, but hs-boot files aren't as ugly as Haskellers think either.
-- prettySrcLoc and prettyCallStack are defined here to avoid hs-boot
-- files. See Note [Definition of CallStack]

Backpack's design is primarily driven by compatibility considerations (“how do we build upon GHC's existing foundation?”), rather than elegance. In particular, Backpack doesn't eliminate those ugly .hs-boot files, it just automates and hides their generation and processing.

For all their faults, Standard ML and OCaml have pretty good support for modular programming. And, as the Modular Type Classes paper you linked shows, type classes can be built elegantly on top of a good modular foundation.
#ocaml #haskell
https://cohost.org/prophet/post/3251638-it-s-really-interest
https://haskell.fi.muni.cz/doc/base/src/GHC-Exception.html
https://twitter.com/lexi_lambda/status/1172629363730333697
https://news.ycombinator.com/item?id=11371130

someodd, to haskell
@someodd@fosstodon.org avatar

Do you as a language, lends itself to fast prototyping and iteration?

cloudyluna, to Furry
@cloudyluna@woof.tech avatar

#introduction

Hewwo, I'm Luna! :nkoLove: and am new to Fediverse. I'm a housecat-fox hybrid #furry :blobcat_nwn: :collar: :blobcatpats:. You can just call me Luna or Floof.

I'm a #trans #nonbinary :heart_transgender: and my pronouns are she/they/it.

I also find smol animals like cats, domesticated rats, pigeons and guinea pigs to be super adorable :ablobcathappypaws:.

My hobbies are #programming #haskell, #rust and #python casually :blobfoxcomputer: and playing Stardew Valley, Skyrim, CDDA and Widelands. Occasionally I read epic fantasy, romantic or horror novels whenever I feel cozy :blabcat:. My knowledge in these aren't deep though :blobcatgiggle:.

I'm also a #linux 🐧 user and fond of #emacs.

I mostly will be using Fediverse to share about my own journey on programming, sharing (boosting?) furry or cute arts and my own random (cat? meow?) thoughts in general.

On that note, I refrain from sharing suggestive content on my page and whenever I do, they will be tagged & marked with NSFW content warnings.

Ty for reading! : :blabcat: :blabfox:

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