2025/12/19

Newest at the top

2025-12-19 16:50:16 +0100ttybitnik(~ttybitnik@user/wolper) ttybitnik
2025-12-19 16:44:39 +0100somemathguy(~somemathg@user/somemathguy) (Ping timeout: 250 seconds)
2025-12-19 16:40:14 +0100 <lucabtz> yeah the names make sense, the collision is just unfortunate
2025-12-19 16:40:02 +0100weary-traveler(~user@user/user363627) user363627
2025-12-19 16:39:47 +0100 <lucabtz> it's confusing because for example holomorphism is the property associated to a holomorphic function in complex analysys, while monomorphism has nothing to do with a monomorphic function
2025-12-19 16:39:27 +0100 <merijn> From a type theory persepctive monomorphic is just the antonym of polymorphic
2025-12-19 16:38:37 +0100 <merijn> The introduction of category theory vocabulary (i.e. monad and friends) was a rather later addition to Haskell, so most of the nomenclature is (mostly) unrelated to category theory
2025-12-19 16:37:39 +0100 <merijn> Why is that confusing?
2025-12-19 16:35:50 +0100Googulator17(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
2025-12-19 16:35:43 +0100Googulator17(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
2025-12-19 16:35:43 +0100 <lucabtz> this is only slightly related but somthing i find confusing with nomenclature is that a monomorphic function and a monomorphism (in the categorical sense) have nothing to do with each other in haskell
2025-12-19 16:27:35 +0100ski. o O ( `join (,) (length :: (exists a. [a]) -> Int) :: ([a0] -> Int,[a1] -> Int)' )
2025-12-19 16:25:44 +0100Sgeo(~Sgeo@user/sgeo) Sgeo
2025-12-19 16:21:49 +0100annamalai(~annamalai@157.32.137.200) annamalai
2025-12-19 16:21:35 +0100larsivi(~larsivi@user/larsivi) (Ping timeout: 245 seconds)
2025-12-19 16:21:33 +0100annamalai(~annamalai@2409:4042:2312:1f01::15d4:c8a5) (Ping timeout: 252 seconds)
2025-12-19 16:15:04 +0100 <Leary> Okay, I guess I've heard that turn of phrase. Never seen it reduced to DMR though, only MMR. DMMR might be clearer.
2025-12-19 16:13:43 +0100 <merijn> hmm, not quite what I was looking for
2025-12-19 16:13:28 +0100 <mari-estel> :D
2025-12-19 16:13:03 +0100 <lambdabot> liyang says: <fragamus> how can I upgrade bytestring? I tried to use cabal but it complains <liyang> Ah, the dreaded monochrom restriction.
2025-12-19 16:13:02 +0100 <merijn> @quote dreaded
2025-12-19 16:12:45 +0100 <yin> Leary: "D" is for "Dreaded"
2025-12-19 16:12:45 +0100 <lambdabot> No quotes match. Whoa.
2025-12-19 16:12:44 +0100 <merijn> @quote dmr
2025-12-19 16:12:37 +0100 <merijn> Leary: Dread Monomorphism Restriction
2025-12-19 16:12:23 +0100 <mari-estel> arrow thing, i believe
2025-12-19 16:12:04 +0100 <yin> Leary: https://wiki.haskell.org/index.php?title=Monomorphism_restriction
2025-12-19 16:11:50 +0100 <yin> mari-estel: is that a Lens thing?
2025-12-19 16:10:58 +0100 <Leary> What's "the DMR"?
2025-12-19 16:10:00 +0100fp(~Thunderbi@2001:708:150:10::7e06) (Ping timeout: 252 seconds)
2025-12-19 16:07:10 +0100 <yin> oh well
2025-12-19 16:07:06 +0100 <yin> (join bimap) is a very common pattern for me
2025-12-19 16:06:51 +0100 <yin> this is what i'm writting https://paste.jrvieira.com/1766156784921
2025-12-19 16:06:44 +0100 <yin> sure, in this simplified instance
2025-12-19 16:05:56 +0100Googulator61(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
2025-12-19 16:05:52 +0100Googulator17(~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
2025-12-19 16:05:28 +0100RMSBach(~RMSBach@24.210.9.182) RMSBach
2025-12-19 16:04:53 +0100 <lambdabot> Bitraversable r => Traversal (r a a) (r b b) a b
2025-12-19 16:04:52 +0100 <mari-estel> :t both
2025-12-19 16:04:13 +0100 <merijn> And, like, literally only 4 characters longer than the join one
2025-12-19 16:03:52 +0100 <merijn> honestly, that's approximately 500% more readable anyway
2025-12-19 16:03:41 +0100 <yin> shame
2025-12-19 16:03:38 +0100 <yin> so i need to write (bimap fromList fromList)
2025-12-19 16:03:04 +0100 <yin> oh right
2025-12-19 16:02:09 +0100 <merijn> That's just the fact that join is resulting in constraints that 'a = c' and 'b = d'
2025-12-19 16:01:42 +0100 <merijn> That's not DMR at all
2025-12-19 16:00:34 +0100 <lambdabot> Monad m => m (m a) -> m a
2025-12-19 16:00:33 +0100 <merijn> :t join
2025-12-19 16:00:22 +0100 <lambdabot> Bifunctor p => (a -> b) -> p a a -> p b b
2025-12-19 16:00:21 +0100 <merijn> :t join bimap