Newest at the top
2024-04-28 00:13:51 +0200 | sam113101 | (~sam@24.157.253.231) |
2024-04-28 00:13:18 +0200 | sam113101 | (~sam@24.157.253.231) (Client Quit) |
2024-04-28 00:13:08 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2024-04-28 00:11:39 +0200 | sam113101 | (~sam@24.157.253.231) |
2024-04-28 00:11:06 +0200 | sam113101 | (~sam@24.157.253.231) (Quit: WeeChat 4.2.2) |
2024-04-28 00:08:40 +0200 | pavonia | (~user@user/siracusa) |
2024-04-28 00:01:22 +0200 | sam113101 | (~sam@24.157.253.231) |
2024-04-28 00:01:02 +0200 | sam113101 | (~sam@24.157.253.231) (Quit: WeeChat 4.2.2) |
2024-04-27 23:58:04 +0200 | phma | (~phma@2001:5b0:2172:cfd8:e2ba:31ce:8b83:bc5) |
2024-04-27 23:57:48 +0200 | pavonia | (~user@user/siracusa) (Read error: Connection reset by peer) |
2024-04-27 23:57:03 +0200 | phma | (phma@2001:5b0:210d:77f8:690d:ee85:cd6a:7031) (Read error: Connection reset by peer) |
2024-04-27 23:49:55 +0200 | Square | (~Square@user/square) (Ping timeout: 245 seconds) |
2024-04-27 23:46:51 +0200 | target_i | (~target_i@user/target-i/x-6023099) (Quit: leaving) |
2024-04-27 23:45:36 +0200 | sam113101 | (~sam@24.157.253.231) |
2024-04-27 23:41:13 +0200 | sam113101 | (~sam@24.157.253.231) (Client Quit) |
2024-04-27 23:40:21 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-04-27 23:40:06 +0200 | sam113101 | (~sam@24.157.253.231) |
2024-04-27 23:39:49 +0200 | <EvanR> | it's possible to think yourself out of the side effects and claim what it's doing makes sense, but normally you don't have to do that in haskell. So extra brain cycles required |
2024-04-27 23:38:56 +0200 | <yahb2> | [h(),e(),l(),l(),o(), (),w(),o(),r(),l(),d()] |
2024-04-27 23:38:56 +0200 | <[Leary]> | % traverse (unsafeInterleaveIO . putChar) "hello world" >>= print |
2024-04-27 23:38:52 +0200 | <[Leary]> | Here, we're printing a list of units, so the `void` is redundant and should be removed. |
2024-04-27 23:38:24 +0200 | <yahb2> | [(),(),(),(),(),(),(),(),(),(),()] |
2024-04-27 23:38:24 +0200 | <[Leary]> | % traverse (unsafeInterleaveIO . putChar) "hello world" >>= print . void |
2024-04-27 23:38:10 +0200 | <[Leary]> | Jade: It's akin to `pure . unsafePerformIO`; the former does not actually cancel the danger of the latter. In particular, it violates referential transparency: when `unsafeInterleaveIO` is in use, you cannot replace one expression with another equal expression blindly, as one may produce observable side effects when forced, hence the substitution changes the meaning of your program. |
2024-04-27 23:37:39 +0200 | sam113102 | (~sam@24.157.253.231) (Client Quit) |
2024-04-27 23:36:00 +0200 | sam113102 | (~sam@24.157.253.231) |
2024-04-27 23:34:53 +0200 | dispater- | (~dispater@host-78-146-88-32.as13285.net) (Remote host closed the connection) |
2024-04-27 23:33:48 +0200 | dispater- | (~dispater@host-78-146-88-32.as13285.net) |
2024-04-27 23:32:26 +0200 | dsrt^ | (~cd@c-98-242-74-66.hsd1.ga.comcast.net) |
2024-04-27 23:31:35 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-04-27 23:30:41 +0200 | yin | (~yin@user/zero) |
2024-04-27 23:29:13 +0200 | yin | (~yin@user/zero) (Ping timeout: 256 seconds) |
2024-04-27 23:27:39 +0200 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 260 seconds) |
2024-04-27 23:27:31 +0200 | orcus- | (~orcus@host-78-146-88-32.as13285.net) (Remote host closed the connection) |
2024-04-27 23:27:25 +0200 | <EvanR> | it's 404ing, maybe google discontinued that API |
2024-04-27 23:27:04 +0200 | <EvanR> | "could not load the image" |
2024-04-27 23:26:33 +0200 | orcus- | (~orcus@host-78-146-88-32.as13285.net) |
2024-04-27 23:24:06 +0200 | orcus- | (~orcus@host-78-146-88-32.as13285.net) (Remote host closed the connection) |
2024-04-27 23:24:06 +0200 | dispater- | (~dispater@host-78-146-88-32.as13285.net) (Remote host closed the connection) |
2024-04-27 23:22:45 +0200 | orcus- | (~orcus@host-78-146-88-32.as13285.net) |
2024-04-27 23:22:35 +0200 | <yin> | what's wrong with the charts at https://ircbrowse.tomsmeding.com/lchaskell ? |
2024-04-27 23:22:15 +0200 | dispater- | (~dispater@host-78-146-88-32.as13285.net) |
2024-04-27 23:20:16 +0200 | orcus- | (~orcus@host-78-146-88-32.as13285.net) (Remote host closed the connection) |
2024-04-27 23:20:16 +0200 | dispater- | (~dispater@host-78-146-88-32.as13285.net) (Remote host closed the connection) |
2024-04-27 23:20:14 +0200 | <EvanR> | that's what makes it different from unsafePerformIO |
2024-04-27 23:20:12 +0200 | <geekosaur> | the problem is, you can use >>= to get at the `a`, but it is not obvious that it can continue to do I/O |
2024-04-27 23:20:07 +0200 | <EvanR> | nevermind me, you're right |
2024-04-27 23:19:46 +0200 | <EvanR> | it requires extra logic beyond haskell to make sure it makes sense |
2024-04-27 23:19:43 +0200 | <haskellbridge> | <Jade> yeah but it's `IO a -> IO a`, so it can have side effects either way? |
2024-04-27 23:19:06 +0200 | <EvanR> | evaluating something containing unsafeInterleaveIO can have side effects |