2025/10/14

Newest at the top

2025-10-14 12:00:29 +0200 <merijn> My main tooling problem is sbt. I'd kill for cabal's speed xD
2025-10-14 11:58:24 +0200 <dminuoso> merijn: I think it may be a tooling problem in scala if its unclear what implicit is in scope right now.
2025-10-14 11:58:06 +0200califax(~califax@user/califx) califx
2025-10-14 11:56:26 +0200 <dminuoso> Some libraries are more honest like `time` where you just dont get Eq on some newtypes because there's two equally good possibilities.
2025-10-14 11:56:09 +0200dhil(~dhil@5.151.29.137) dhil
2025-10-14 11:56:00 +0200 <dminuoso> Having all these newtypes with clear bias about what the author thought should be "the authoritative behavior for typeclass XYZ" is just annoying.
2025-10-14 11:54:44 +0200 <merijn> I've been doing Scala for the past 2 years and the fact that implicit's let you do that is a giant nightmare
2025-10-14 11:54:20 +0200 <merijn> dminuoso: Hard disagree
2025-10-14 11:54:15 +0200mochie(~mochie@user/mochie) mochie
2025-10-14 11:53:24 +0200 <dminuoso> And yes, we'd give up guarantees on coherence that apply to some very obscure usecases...
2025-10-14 11:52:53 +0200 <dminuoso> merijn: Honestly I think much of Haskell typeclasses would be far more usable if we had an ergonomic way of just picking/swapping out instances other than newtype wrappers.
2025-10-14 11:51:00 +0200notzmv(~umar@user/notzmv) (Read error: Connection reset by peer)
2025-10-14 11:46:48 +0200califax(~califax@user/califx) (Ping timeout: 272 seconds)
2025-10-14 11:38:12 +0200 <mreh> v interesting how get is total when a is a Moniod
2025-10-14 11:37:40 +0200 <mreh> oh yeah, it's too early, my eyes glazed over when reading Data.MonoidMap
2025-10-14 11:35:02 +0200bgamari(~bgamari@64.223.200.74)
2025-10-14 11:34:11 +0200Googulator(~Googulato@2a01-036d-0106-03fa-dc7a-fb6e-71bb-aaf0.pool6.digikabel.hu)
2025-10-14 11:33:20 +0200Googulator(~Googulato@2a01-036d-0106-03fa-dc7a-fb6e-71bb-aaf0.pool6.digikabel.hu) (Quit: Client closed)
2025-10-14 11:30:51 +0200 <merijn> But every single time I want to `foldMap` a `Map` I am once again confronted with the default monoid of Map being shite >.<
2025-10-14 11:30:22 +0200 <merijn> In practice I tend to just do `unionWith (<>)` since it's more convenient
2025-10-14 11:30:10 +0200 <tomsmeding> ^
2025-10-14 11:30:08 +0200 <tomsmeding> there are various packages on hackage that implement a monoidal map
2025-10-14 11:30:05 +0200 <merijn> mreh: There's like 3 or 4 libraries on Hackage that have monoidal map
2025-10-14 11:30:01 +0200 <mreh> merijn: intuitively, it feels like the right default
2025-10-14 11:29:19 +0200 <merijn> I once tried to start a crusade to get the (imo more sensible) monoidal Map in containers, but no success
2025-10-14 11:28:56 +0200 <mreh> merijn: oh?
2025-10-14 11:28:43 +0200 <merijn> mreh: There is one, but it's inconvenient to use
2025-10-14 11:28:29 +0200 <mreh> seems to fit the bill for what I'm doing
2025-10-14 11:28:20 +0200 <mreh> instance (Semigroup a, Ord k) => Semigroup (MergeMap k a) where MergeMap m <> MergeMap n = MergeMap $ unionWith (<>) m n
2025-10-14 11:28:05 +0200bgamari(~bgamari@64.223.200.137) (Ping timeout: 256 seconds)
2025-10-14 11:27:14 +0200 <mreh> Is there a Semigroup instance for Map that is based on `unionWith (<>)` before I implement my own? I can't find one already.
2025-10-14 11:24:58 +0200mreh(~matthew@host86-146-25-125.range86-146.btcentralplus.com) mreh
2025-10-14 11:21:51 +0200Dhark8(~Shark8@c-174-56-102-109.hsd1.nm.comcast.net) (Ping timeout: 256 seconds)
2025-10-14 11:20:25 +0200bgamari(~bgamari@64.223.200.137)
2025-10-14 11:19:51 +0200merijn(~merijn@77.242.116.146) merijn
2025-10-14 11:18:39 +0200OWS(~Shark8@c-174-56-102-109.hsd1.nm.comcast.net)
2025-10-14 11:11:25 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 264 seconds)
2025-10-14 11:07:58 +0200bgamari(~bgamari@64.223.225.237) (Ping timeout: 256 seconds)
2025-10-14 11:05:55 +0200Googulator56Googulator
2025-10-14 11:05:47 +0200Googulator56(~Googulato@2a01-036d-0106-03fa-dc7a-fb6e-71bb-aaf0.pool6.digikabel.hu)
2025-10-14 11:05:43 +0200Googulator(~Googulato@2a01-036d-0106-03fa-dc7a-fb6e-71bb-aaf0.pool6.digikabel.hu) (Quit: Client closed)
2025-10-14 11:04:18 +0200merijn(~merijn@77.242.116.146) merijn
2025-10-14 11:02:51 +0200kuribas(~user@2a02-1810-2825-6000-b5ac-98ee-b19a-ab1f.ip6.access.telenet.be) kuribas
2025-10-14 10:57:22 +0200adig(~adi@86.123.72.40) ()
2025-10-14 10:57:14 +0200adig(~adi@86.123.72.40) adig
2025-10-14 10:50:45 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 245 seconds)
2025-10-14 10:49:22 +0200gustrb(~gustrb@191.243.134.87)
2025-10-14 10:48:32 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2025-10-14 10:45:01 +0200gustrb(~gustrb@191.243.134.87) (Ping timeout: 256 seconds)
2025-10-14 10:44:37 +0200acidjnk(~acidjnk@p200300d6e71719931c47ad226c4c8e20.dip0.t-ipconnect.de) acidjnk