Newest at the top
| 2026-04-03 01:57:54 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2026-04-03 01:56:14 +0000 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
| 2026-04-03 01:53:27 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-03 01:52:06 +0000 | <EvanR> | if you use GMP based Integer there's also that |
| 2026-04-03 01:51:42 +0000 | <EvanR> | there are a lot of them |
| 2026-04-03 01:51:21 +0000 | <EvanR> | even without unsafe perform IO, the primitives GHC has get implemented somehow |
| 2026-04-03 01:46:01 +0000 | foul_owl | (~kerry@94.156.149.94) (Read error: Connection reset by peer) |
| 2026-04-03 01:41:59 +0000 | merijn | (~merijn@62.45.136.136) (Ping timeout: 245 seconds) |
| 2026-04-03 01:36:34 +0000 | jmcantrell_ | (~weechat@user/jmcantrell) jmcantrell |
| 2026-04-03 01:35:29 +0000 | merijn | (~merijn@62.45.136.136) merijn |
| 2026-04-03 01:24:25 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-03 01:21:05 +0000 | comonad | (~comonad@p200300d02717df00adc247ef70bd7367.dip0.t-ipconnect.de) |
| 2026-04-03 01:20:01 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-03 01:19:57 +0000 | comonad | (~comonad@p200300d02717df00adc247ef70bd7367.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 2026-04-03 01:16:12 +0000 | <glguy> | The point isn't that all uses of unsafePerformIO are protected by the type system, it's that unsafePerformIO can be carefully used in ways that benefit from type system protection |
| 2026-04-03 01:15:48 +0000 | <c_wraith> | (It's true for ST as long as you don't use any of the unsafe* functions) |
| 2026-04-03 01:15:30 +0000 | <c_wraith> | which the reference to runST implies is what it's intended to be talking about. |
| 2026-04-03 01:15:29 +0000 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2026-04-03 01:15:16 +0000 | <c_wraith> | It's nearly accurate for ST |
| 2026-04-03 01:14:01 +0000 | <mesaoptimizer> | imperative nonsense may occur. Externally, the function is pure. The world outside the boundary gets none of the mutation, only the result." https://blog.haskell.org/a-couple-million-lines-of-haskell/ this is an incorrect inference, right? if you use unsafe IO or unsafe side effects, the type system cannot and will not be able to guarantee the purity |
| 2026-04-03 01:13:59 +0000 | <mesaoptimizer> | effects, observable within the computation. What makes it acceptable is that the side effects are encapsulated such that the boundary cannot be violated. The rank-2 type (that is, the type s is scoped within the parenthesis and can't escape) of runST ensures that the mutable references created inside the computation cannot escape due to being tagged with the type s. Internally, all sorts of |
| 2026-04-03 01:13:57 +0000 | <mesaoptimizer> | "Under the hood, Haskell is not a magical machine that performs side effects despite being pure. Behind every "pure" function in bytestring, text, and vector lies a cheerful little hellscape of mutable allocation, buffer writes, unsafe coercions, and other behavior that would alarm you if you discovered it in a junior engineer's side project. Behind the ST monad lies in-place mutation and side |
| 2026-04-03 01:09:20 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2026-04-03 01:04:40 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-03 00:57:22 +0000 | xff0x | (~xff0x@2405:6580:b080:900:1644:ff9e:fe83:e2e) (Ping timeout: 248 seconds) |
| 2026-04-03 00:54:15 +0000 | synchromesh | (~john@2406:5a00:2412:2c00:fc97:d0a4:cdd9:afc1) synchromesh |
| 2026-04-03 00:54:13 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 2026-04-03 00:53:42 +0000 | acidjnk_new3 | (~acidjnk@p200300d6e700e5001e1160b7d23e5dd6.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 2026-04-03 00:52:59 +0000 | synchromesh | (~john@2406:5a00:2412:2c00:fc97:d0a4:cdd9:afc1) (Read error: Connection reset by peer) |
| 2026-04-03 00:52:59 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 265 seconds) |
| 2026-04-03 00:49:18 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-03 00:38:42 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2026-04-03 00:33:55 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-03 00:33:18 +0000 | peterbecich | (~Thunderbi@71.84.33.135) (Ping timeout: 255 seconds) |
| 2026-04-03 00:23:07 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-04-03 00:18:33 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-03 00:12:09 +0000 | jmcantrell_ | (~weechat@user/jmcantrell) (Ping timeout: 255 seconds) |
| 2026-04-03 00:07:46 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-04-03 00:06:13 +0000 | jmcantrell_ | (~weechat@user/jmcantrell) jmcantrell |
| 2026-04-03 00:05:59 +0000 | karenw | (~karenw@user/karenw) karenw |
| 2026-04-03 00:00:13 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-02 23:56:44 +0000 | peterbecich | (~Thunderbi@71.84.33.135) peterbecich |
| 2026-04-02 23:54:54 +0000 | Square3 | (~Square@user/square) (Ping timeout: 245 seconds) |
| 2026-04-02 23:49:12 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2026-04-02 23:46:20 +0000 | squid64 | (~user@fsf/member/squid64) squid64 |
| 2026-04-02 23:42:11 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-02 23:31:12 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2026-04-02 23:26:48 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-04-02 23:26:32 +0000 | Tuplanolla | (~Tuplanoll@88-114-89-88.elisa-laajakaista.fi) (Quit: Leaving.) |
| 2026-04-02 23:23:56 +0000 | pavonia | (~user@user/siracusa) siracusa |