2026/04/03

Newest at the top

2026-04-03 18:58:58 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-03 18:55:56 +0000 <lambdabot> Void -> a
2026-04-03 18:55:55 +0000 <tomsmeding> :t absurd
2026-04-03 18:53:49 +0000j1n37(~j1n37@user/j1n37) j1n37
2026-04-03 18:52:04 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2026-04-03 18:48:23 +0000absurdvoid(~absurdvoi@user/absurdvoid) absurdvoid
2026-04-03 18:47:46 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 248 seconds)
2026-04-03 18:45:36 +0000j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2026-04-03 18:43:24 +0000merijn(~merijn@62.45.136.136) merijn
2026-04-03 18:40:43 +0000slomp(~slomp@47-158-212-88.lsan.ca.frontiernet.net) (Quit: Lost terminal)
2026-04-03 18:37:06 +0000 <lambdabot> Void -> p
2026-04-03 18:37:05 +0000 <gentauro> :t \ (a :: Void) -> case a of {}
2026-04-03 18:36:47 +0000 <lambdabot> p1 -> p2
2026-04-03 18:36:46 +0000 <gentauro> :t \ a -> case a of {}
2026-04-03 18:35:59 +0000 <lambdabot> error: [GHC-58481] parse error on input ‘{’
2026-04-03 18:35:58 +0000 <gentauro> :t \ _ -> {}
2026-04-03 18:34:42 +0000 <lambdabot> Void -> [Void]
2026-04-03 18:34:41 +0000 <gentauro> :t \ (x :: Void) -> [x]
2026-04-03 18:32:06 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-04-03 18:27:15 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-04-03 18:25:54 +0000L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2026-04-03 18:22:27 +0000absurdvoid(~absurdvoi@user/absurdvoid) (Quit: WeeChat 4.8.2)
2026-04-03 18:14:51 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-04-03 18:13:59 +0000byorgey(~byorgey@user/byorgey) byorgey
2026-04-03 18:13:59 +0000byorgey(~byorgey@155.138.238.211) (Changing host)
2026-04-03 18:13:59 +0000byorgey(~byorgey@155.138.238.211)
2026-04-03 18:08:06 +0000confusedalex_confusedalex
2026-04-03 18:08:06 +0000confusedalex(~confuseda@user/confusedalex) (Ping timeout: 255 seconds)
2026-04-03 18:07:15 +0000jmcantrell_(~weechat@user/jmcantrell) (Ping timeout: 246 seconds)
2026-04-03 18:07:02 +0000confusedalex_(~confuseda@user/confusedalex) confusedalex
2026-04-03 17:59:31 +0000 <dolio> Like, there is T parametricity for a class of types if for all A in that class, functions T -> A must be constant, or something.
2026-04-03 17:57:54 +0000 <dolio> You can probably generalize it so that it doesn't depend so much on relative 'size' too.
2026-04-03 17:54:14 +0000 <dolio> Yeah. I recently heard about this, and like it better, because it seems closer to the intuitive idea of parametricity.
2026-04-03 17:53:32 +0000 <monochrom> which is what I tell beginners if I'm not ready to tell the relational story.
2026-04-03 17:53:01 +0000 <monochrom> Oh interesting, because "constant [over types]" is short for "the same code for all types".
2026-04-03 17:50:35 +0000 <dolio> Instead of the relational way.
2026-04-03 17:50:28 +0000L29Ah(~L29Ah@wikipedia/L29Ah) ()
2026-04-03 17:50:03 +0000confusedalex_confusedalex
2026-04-03 17:49:52 +0000confusedalex_(~confuseda@user/confusedalex) confusedalex
2026-04-03 17:49:47 +0000 <dolio> Where U is the 'universe'.
2026-04-03 17:49:45 +0000confusedalex(~confuseda@user/confusedalex) (Ping timeout: 245 seconds)
2026-04-03 17:49:29 +0000 <dolio> Apparently that is a way of characterizing parametricity 'semantically', too. For all `A : U` then `f : U -> A` must be constant, basically.
2026-04-03 17:49:28 +0000 <lambdabot> tellMe = tellMe . $map f
2026-04-03 17:49:28 +0000 <monochrom> @free tellMe :: [a] -> Bool
2026-04-03 17:49:13 +0000 <EvanR> lol
2026-04-03 17:49:11 +0000 <EvanR> forall a . Bool ...
2026-04-03 17:48:43 +0000 <EvanR> I was trying to figure out how to fix a -> Bool
2026-04-03 17:48:38 +0000 <monochrom> I guess today's Haskell has "forall a -> Bool" as a middle ground.
2026-04-03 17:48:35 +0000 <EvanR> yeah
2026-04-03 17:47:36 +0000 <dolio> Yeah, that'd work.