2025/11/14

Newest at the top

2025-11-14 23:14:47 +0100looking(~looking@2600:4040:2678:9600:b1c4:ced3:242d:1252)
2025-11-14 23:12:52 +0100 <haskellbridge> <loonycyborg> with great power comes great responsibility
2025-11-14 23:12:41 +0100 <haskellbridge> <loonycyborg> And compiler can never prove that unsafePerformIO doesn't do something that makes everything else lack any sense
2025-11-14 23:10:39 +0100Googulator16(~Googulato@2a01-036d-0106-0180-4475-80b4-5cdc-43d6.pool6.digikabel.hu)
2025-11-14 23:10:38 +0100Googulator53(~Googulato@2a01-036d-0106-0180-4475-80b4-5cdc-43d6.pool6.digikabel.hu) (Quit: Client closed)
2025-11-14 23:10:15 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-11-14 23:09:07 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-11-14 23:08:25 +0100target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)
2025-11-14 23:06:27 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-11-14 23:05:47 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-11-14 23:04:18 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2025-11-14 23:03:53 +0100 <c_wraith> technically it's unsafePerformIO breaking referential transparency there anyway. And that's basically half of the reason it even exists.
2025-11-14 23:03:45 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-11-14 23:03:17 +0100 <int-e> c_wraith: we've made the language more useful :P
2025-11-14 23:03:01 +0100peterbecich(~Thunderbi@172.222.148.214) (Ping timeout: 264 seconds)
2025-11-14 23:01:31 +0100deptype(~deptype@2406:b400:3a:73c2:8cd7:cdeb:acf0:2831)
2025-11-14 23:01:18 +0100deptype(~deptype@2406:b400:3a:73c2:6d41:ff93:4f91:8353) (Remote host closed the connection)
2025-11-14 23:00:51 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-11-14 22:59:09 +0100takuan(~takuan@d8D86B9E9.access.telenet.be) (Remote host closed the connection)
2025-11-14 22:53:02 +0100 <c_wraith> (and then quietly admit that your Haskell program *can* distinguish between them as soon as you get IO involved, and unsafePerformIO exists, and oh god. What have we done?)
2025-11-14 22:50:56 +0100 <c_wraith> We just declare referential transparency only applies to non-bottom values because pure code can't distinguish between bottoms anyway.
2025-11-14 22:49:41 +0100foul_owl(~kerry@94.156.149.94) foul_owl
2025-11-14 22:47:23 +0100polykernel_polykernel
2025-11-14 22:47:23 +0100polykernel(~polykerne@user/polykernel) (Ping timeout: 244 seconds)
2025-11-14 22:44:50 +0100polykernel_(~polykerne@user/polykernel) polykernel
2025-11-14 22:42:32 +0100notzmv(~umar@user/notzmv) notzmv
2025-11-14 22:41:52 +0100deptype(~deptype@2406:b400:3a:73c2:6d41:ff93:4f91:8353)
2025-11-14 22:41:16 +0100deptype(~deptype@2406:b400:3a:73c2:bf7a:ffa7:efb4:9422) (Remote host closed the connection)
2025-11-14 22:39:58 +0100haltingsolver(~cmo@2604:3d09:207f:8000::d1dc) (Ping timeout: 256 seconds)
2025-11-14 22:35:45 +0100Googulator53(~Googulato@2a01-036d-0106-0180-4475-80b4-5cdc-43d6.pool6.digikabel.hu)
2025-11-14 22:34:13 +0100acidjnk(~acidjnk@p200300d6e717192040ac95c287188d84.dip0.t-ipconnect.de) acidjnk
2025-11-14 22:27:47 +0100fgarcia(~lei@user/fgarcia) (Quit: Remote host closed the connection)
2025-11-14 22:23:24 +0100peterbecich(~Thunderbi@172.222.148.214) peterbecich
2025-11-14 22:21:26 +0100deptype(~deptype@2406:b400:3a:73c2:bf7a:ffa7:efb4:9422)
2025-11-14 22:21:14 +0100deptype(~deptype@2406:b400:3a:73c2:6877:dc6f:cb6b:d011) (Remote host closed the connection)
2025-11-14 22:17:13 +0100karenw(~karenw@user/karenw) (Quit: Deep into that darkness peering...)
2025-11-14 22:15:58 +0100Tuplanolla(~Tuplanoll@91-159-187-167.elisa-laajakaista.fi) Tuplanolla
2025-11-14 22:14:28 +0100michalz(~michalz@185.246.207.197) (Remote host closed the connection)
2025-11-14 22:03:51 +0100djspacewhale(~djspacewh@user/djspacewhale) (Remote host closed the connection)
2025-11-14 22:01:25 +0100deptype(~deptype@2406:b400:3a:73c2:6877:dc6f:cb6b:d011)
2025-11-14 22:01:12 +0100deptype(~deptype@2406:b400:3a:73c2:cdc4:150f:4f12:1dd1) (Remote host closed the connection)
2025-11-14 21:58:48 +0100 <davean> Thats litterly how they're a problem
2025-11-14 21:58:28 +0100 <davean> We only have referntial transparency in a few respects, not all.
2025-11-14 21:58:16 +0100 <dolio> Like, if bounds checked array access causes the result to be a Maybe, that's extra bad.
2025-11-14 21:57:56 +0100gentauro(~gentauro@user/gentauro) gentauro
2025-11-14 21:57:56 +0100gentauro(~gentauro@91.226.144.99) (Changing host)
2025-11-14 21:57:54 +0100 <davean> loonycyborg: We *already lack referential transparency* because of the non-determinism of exceptions.
2025-11-14 21:57:11 +0100gentauro_gentauro
2025-11-14 21:57:07 +0100td_(~td@i5387092A.versanet.de)
2025-11-14 21:56:53 +0100 <dolio> Anyhow, the point isn't really to catch those kind of exceptions. The point is that some pure-ish code wants to use exceptions, but having them return `Either` or `Maybe` for that is a bad implementation.