Logs on 2025-05-26 (liberachat/#haskell)
| 00:00:17 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 00:03:30 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 00:03:55 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 00:04:34 | × | jespada quits (~jespada@r186-48-60-195.dialup.adsl.anteldata.net.uy) (Ping timeout: 245 seconds) |
| 00:08:28 | × | acidjnk quits (~acidjnk@p200300d6e71c4f264dd37730a8fc49ec.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 00:09:49 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 00:10:13 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 00:11:35 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 00:15:28 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 00:15:52 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 00:16:58 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 00:21:33 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 00:21:55 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 00:24:47 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 00:25:24 | × | machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Quit: Lost terminal) |
| 00:25:39 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 00:26:04 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 00:26:42 | → | machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net) |
| 00:27:25 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 00:30:40 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 00:31:04 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 00:31:24 | → | xff0x_ joins (~xff0x@2405:6580:b080:900:b6ff:b254:b6ae:4cb7) |
| 00:32:25 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 00:32:26 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 00:32:42 | × | xff0x quits (~xff0x@2405:6580:b080:900:6950:4692:fe46:5eb2) (Ping timeout: 268 seconds) |
| 00:33:41 | → | califax joins (~califax@user/califx) |
| 00:35:34 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 00:36:00 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 00:41:45 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 00:42:08 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 00:43:11 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 00:46:29 | × | ft quits (~ft@mue-88-130-107-234.dsl.tropolys.de) (Ping timeout: 260 seconds) |
| 00:47:52 | → | ft joins (~ft@mue-88-130-106-109.dsl.tropolys.de) |
| 00:48:20 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 00:48:23 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
| 00:48:46 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 00:53:35 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 00:53:58 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 00:58:34 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 00:58:39 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 00:59:06 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 01:03:33 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 01:05:57 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 01:06:20 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 01:08:25 | × | xff0x_ quits (~xff0x@2405:6580:b080:900:b6ff:b254:b6ae:4cb7) (Ping timeout: 244 seconds) |
| 01:10:11 | × | j1n37 quits (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 01:11:57 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 01:12:23 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 01:12:47 | × | machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 265 seconds) |
| 01:13:09 | × | ttybitnik quits (~ttybitnik@user/wolper) (Quit: Fading out...) |
| 01:14:00 | → | j1n37 joins (~j1n37@user/j1n37) |
| 01:14:23 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 01:18:00 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 01:18:26 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 01:19:58 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 01:22:49 | → | simplystuart joins (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) |
| 01:23:21 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 01:23:43 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 01:25:30 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 01:25:55 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 01:30:41 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 01:30:57 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 01:31:01 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 01:35:35 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 01:36:12 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 01:36:35 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 01:37:11 | → | JuanDaugherty joins (~juan@user/JuanDaugherty) |
| 01:41:43 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 01:42:07 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 01:46:21 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 01:46:45 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 01:46:46 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 01:51:36 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 01:51:49 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 01:52:01 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 01:57:27 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 01:57:50 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 02:00:41 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 02:02:16 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 02:02:45 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 02:03:46 | × | sim590 quits (~simon@209-15-185-101.resi.cgocable.ca) (Quit: WeeChat 4.6.2) |
| 02:05:58 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 02:06:00 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 02:06:22 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 02:07:19 | × | td_ quits (~td@i5387091A.versanet.de) (Ping timeout: 244 seconds) |
| 02:09:00 | → | xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
| 02:09:12 | → | td_ joins (~td@83.135.9.23) |
| 02:10:12 | → | euouae joins (~euouae@user/euouae) |
| 02:10:59 | <euouae> | Hello, I'm reading about Trees in Data.Graph: <https://hackage-content.haskell.org/package/containers-0.7/docs/Data-Graph.html#g:9> When I use them in the REPL I see the rootLabel and subForest member functions, but they're not shown in the documentation in that page I linked |
| 02:11:10 | <euouae> | Why not? Are they an implementation detail? Or just incomplete documentation? |
| 02:12:43 | <int-e> | they're part of the datatype declaration: https://hackage-content.haskell.org/package/containers-0.7/docs/Data-Tree.html#t:Tree |
| 02:13:23 | <euouae> | Hm, why is there a Data.Tree? Why is Tree also mentioned in Data.Graph? |
| 02:14:22 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 02:14:46 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 02:16:30 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 02:20:01 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 02:20:27 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 02:21:25 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 02:24:52 | × | JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org)) |
| 02:25:27 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 02:25:52 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 02:26:13 | <Leary> | euouae: Trees are graphs. They're also used in 'Graph Algorithms'. |
| 02:28:58 | <euouae> | I find that navigation of the docs a bit confusing |
| 02:31:39 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 02:32:04 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 02:32:17 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 02:32:50 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Remote host closed the connection) |
| 02:37:32 | <m_a_r_k> | have any of you used servant? i made some little CRUD apps as samples for myself, but im curious about authentication. are there Oauth/OIS |
| 02:37:57 | <m_a_r_k> | OIDC libraries that are well regarded, or should i expect to implement myself |
| 02:38:32 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 02:38:56 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 02:39:19 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 02:44:49 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 02:44:52 | <jackdk> | euouae: Data.Graph re-exports all of Data.Tree, presumably for convenience. When Haddock processes a module with a re-export, the docs from the re-exported module (here, Data.Tree) also appear in the module doing the re-exporting (here, Data.Graph). |
| 02:45:12 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 02:45:59 | → | tavare joins (~tavare@150.129.88.189) |
| 02:45:59 | × | tavare quits (~tavare@150.129.88.189) (Changing host) |
| 02:45:59 | → | tavare joins (~tavare@user/tavare) |
| 02:46:39 | × | tavare quits (~tavare@user/tavare) (Remote host closed the connection) |
| 02:47:15 | <euouae> | jackdk: a bit unfortunate that Haddock does not have some indication that a re-export is happening, isn't it? |
| 02:47:34 | <Leary> | No, it only re-exports `Tree(Node)` and `Forest`. If it re-exported the whole module or even just `Tree(..)` the haddocks would look very different. |
| 02:49:42 | <jackdk> | Leary: cheers, I only scrolled as far as the `module` entry in the export list, and didn't check what was being imported. |
| 02:50:06 | <Leary> | euouae: Whole-module re-exports look like this: https://hackage.haskell.org/package/xmonad-0.18.0/docs/XMonad.html |
| 02:50:08 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 02:50:20 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 02:50:30 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 02:51:41 | <euouae> | Well that's better for sure |
| 02:55:17 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 02:56:39 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 02:57:04 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 03:01:10 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 03:01:47 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 03:02:09 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 03:04:10 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 03:04:30 | → | califax joins (~califax@user/califx) |
| 03:06:06 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 03:08:43 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 03:09:05 | × | Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 248 seconds) |
| 03:09:09 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 03:11:49 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 03:14:15 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 03:14:37 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 03:16:41 | → | Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
| 03:20:11 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 03:20:32 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 03:21:56 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 03:23:58 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 03:24:19 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 03:25:37 | × | aforemny quits (~aforemny@2001:9e8:6ce5:7a00:7c9b:daad:e593:5334) (Ping timeout: 248 seconds) |
| 03:25:48 | → | aforemny_ joins (~aforemny@i59F4C598.versanet.de) |
| 03:27:12 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 03:28:53 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 03:29:17 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 03:32:19 | × | j1n37 quits (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 03:32:20 | × | Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 260 seconds) |
| 03:35:21 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 03:35:45 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 03:37:43 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 03:38:31 | → | Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
| 03:39:58 | → | j1n37 joins (~j1n37@user/j1n37) |
| 03:40:26 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 03:40:51 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 03:42:14 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 03:43:08 | → | arahael joins (~arahael@user/arahael) |
| 03:43:24 | × | gmg quits (~user@user/gehmehgeh) (Ping timeout: 264 seconds) |
| 03:45:04 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 03:45:31 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 03:50:59 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 03:51:23 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 03:52:22 | × | Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer) |
| 03:53:19 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 03:53:53 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 03:55:11 | → | img joins (~img@user/img) |
| 03:55:14 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 03:55:39 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 03:58:24 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 03:59:55 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 04:00:17 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 04:01:42 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 04:01:58 | <euouae> | How can I stop GHC from giving "HasCallStack backtrace:" whenever I do ^D to getLine? |
| 04:02:12 | <euouae> | I tried `onException myFunction (pure ())` but it still blows up |
| 04:02:36 | <Umeaboy> | euouae: Have you asked ChatGPT about it? |
| 04:03:10 | <euouae> | I guess for some reasno onException propagates the exception |
| 04:03:24 | <Leary> | That's what it's meant to do, yes. |
| 04:03:37 | <euouae> | Umeaboy: why? are you bothered by human communication? |
| 04:04:07 | <Umeaboy> | https://chatgpt.com/share/6833e823-daf0-8011-83b5-ccdd8f19d4c3 |
| 04:04:30 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 04:04:35 | <euouae> | I only noticed that from reading more carefully: "onException" is like "finally" and then "finally" is like "bracket", and bracket explains that it re-raises |
| 04:04:38 | <euouae> | the second indirection threw me off |
| 04:04:55 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 04:05:40 | × | Umeaboy quits (~Umeaboy@94-255-145-133.cust.bredband2.com) (Quit: Leaving) |
| 04:06:33 | × | poscat quits (~poscat@user/poscat) (Remote host closed the connection) |
| 04:06:40 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 04:09:44 | → | poscat joins (~poscat@user/poscat) |
| 04:09:59 | <euouae> | when I `try myFunction` I get "ambiguous type variable" I think it doesn't know what type the exception is? |
| 04:10:02 | <euouae> | I'm not sure how to deal with this |
| 04:10:12 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 04:10:38 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 04:12:40 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 04:12:51 | <Leary> | % let silently act = try @SomeException act >>= either mempty pure in silently do{ putStrLn "audible"; throwIO (ErrorCall "silenced"); pure "lost" } |
| 04:12:51 | <yahb2> | audible ; "" |
| 04:13:15 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 04:14:00 | <Leary> | euouae: You can match on a constructor, put a type signature on the exception, or use a type application like I did above. |
| 04:15:23 | <EvanR> | smh unironic "let me chatgpt that for you" |
| 04:16:17 | <EvanR> | one weird thing I ran into early on in haskell was catching exceptions, and trying to intuitively put type signatures on stuff in a pattern match |
| 04:16:43 | <EvanR> | which is apparently not at all popular but apparently can work by enabling the right extension, very confusing |
| 04:17:29 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 04:18:32 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 04:18:56 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 04:19:55 | → | iNomad joins (~iNomad@user/iNomad) |
| 04:21:35 | → | Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 04:23:29 | × | leah2 quits (~leah@vuxu.org) (Ping timeout: 260 seconds) |
| 04:23:53 | <euouae> | I wrote <https://termbin.com/2r3i>, I'm not sure if it is a good solution |
| 04:24:02 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 04:24:08 | <euouae> | I use it like `ignoreException $ myFunc param1 ... paramN` |
| 04:25:11 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 04:25:33 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 04:27:39 | <euouae> | hm, that first *> could be a <$ |
| 04:27:54 | → | Square joins (~Square4@user/square) |
| 04:28:31 | → | Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
| 04:31:39 | × | Square2 quits (~Square@user/square) (Ping timeout: 260 seconds) |
| 04:32:12 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 04:32:36 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 04:35:32 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 04:37:31 | → | michalz joins (~michalz@185.246.207.222) |
| 04:38:27 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 04:38:50 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 04:40:24 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 04:42:23 | <EvanR> | it's simpler to use try to ignore any exception (SomeException) |
| 04:43:22 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 04:43:48 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 04:45:59 | → | gmg joins (~user@user/gehmehgeh) |
| 04:50:01 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 04:50:29 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 04:51:20 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 04:51:43 | <Leary> | That also discards the result, so it won't do you much good with e.g. `getLine`. Compare: |
| 04:51:48 | <Leary> | % :t let silently act = try @SomeException act >>= foldMap pure in silently |
| 04:51:48 | <yahb2> | let silently act = try @SomeException act >>= foldMap pure in silently ; :: Monoid b => IO b -> IO b |
| 04:52:16 | <Leary> | Also: |
| 04:52:21 | <Leary> | % :t void |
| 04:52:21 | <yahb2> | void :: Functor f => f a -> f () |
| 04:52:35 | <Leary> | euouae: ^ |
| 04:53:37 | <euouae> | I'm not using getLine though, it's a bunch of IO stuff |
| 04:54:04 | <euouae> | I mean, I'm using getLine but... |
| 04:54:10 | <euouae> | what do you mean it discards the result? the result is EOF |
| 04:54:46 | <Leary> | If the function you put under `ignoreException` successfully produces an `a`, it's thrown away. |
| 04:55:01 | <euouae> | As in `a^D`? |
| 04:55:23 | <euouae> | I'm OK with that for what I'm doing |
| 04:55:43 | <Leary> | No a value of type `a`, from the signature in your paste. |
| 04:56:04 | <Leary> | Err, I should have said /action/, not function. |
| 04:56:10 | <euouae> | that's jsut so ignoreException can be as genreal as possible |
| 04:56:31 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 04:56:37 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 04:57:20 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 04:57:45 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 04:57:54 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 272 seconds) |
| 04:57:56 | Lord_of_Life_ | is now known as Lord_of_Life |
| 05:01:57 | <euouae> | thank you for the hep |
| 05:01:58 | <euouae> | help |
| 05:01:59 | × | euouae quits (~euouae@user/euouae) () |
| 05:02:41 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 05:03:55 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 05:04:35 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 05:05:03 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 05:06:48 | → | leah2 joins (~leah@vuxu.org) |
| 05:07:29 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 05:09:27 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 05:09:48 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 05:14:54 | → | takuan joins (~takuan@d8D86B601.access.telenet.be) |
| 05:15:05 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 05:15:28 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 05:18:19 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 05:19:28 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 05:19:49 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 05:22:54 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 05:25:40 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 05:26:06 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 05:26:56 | → | harveypwca joins (~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c) |
| 05:33:02 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 05:33:27 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 05:34:06 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 05:35:28 | × | werneta quits (~werneta@syn-071-083-160-242.res.spectrum.com) (Ping timeout: 252 seconds) |
| 05:37:39 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 05:37:55 | × | Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer) |
| 05:38:01 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 05:38:40 | → | Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
| 05:39:19 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 05:42:21 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 05:42:42 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 05:46:03 | ← | jmcantrell parts (~weechat@user/jmcantrell) (WeeChat 4.6.3) |
| 05:46:55 | × | Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer) |
| 05:49:37 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 05:49:52 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 05:50:00 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 05:52:03 | × | craunts7 quits (~craunts@user/craunts7) (Quit: The Lounge - https://thelounge.chat) |
| 05:52:39 | → | Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
| 05:54:00 | → | kuribas joins (~user@ptr-17d51enukjwnxk3nj92.18120a2.ip6.access.telenet.be) |
| 05:54:58 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 05:55:45 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 05:56:09 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 06:01:58 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 06:02:21 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 06:03:42 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 06:07:49 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 06:08:18 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 06:10:22 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 06:15:31 | → | tromp joins (~textual@2001:1c00:3487:1b00:29cc:e961:ab7b:113b) |
| 06:16:34 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 06:16:57 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 06:19:56 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 06:20:00 | → | erty joins (~user@user/aeroplane) |
| 06:20:18 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 06:21:46 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 06:25:57 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 06:26:18 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 06:27:13 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
| 06:31:59 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 06:32:24 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 06:32:48 | × | haritz quits (~hrtz@user/haritz) (Remote host closed the connection) |
| 06:34:51 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Quit: ChaiTRex) |
| 06:36:51 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 06:37:32 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 06:38:00 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 06:38:26 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 06:42:29 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 06:44:05 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 06:44:28 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 06:49:08 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 06:49:29 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 06:52:52 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 06:53:21 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 06:54:31 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 06:54:52 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 06:58:31 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 07:00:01 | × | caconym7 quits (~caconym@user/caconym) (Quit: bye) |
| 07:00:27 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 07:00:43 | → | caconym7 joins (~caconym@user/caconym) |
| 07:00:48 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 07:06:30 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 07:06:52 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 07:11:32 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 07:11:58 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 07:12:16 | × | erty quits (~user@user/aeroplane) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4)) |
| 07:16:15 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 07:16:41 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 07:22:22 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 07:22:45 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 07:27:17 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 07:27:43 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 07:29:57 | × | hellwolf quits (~user@7d52-7131-0650-0283-0f00-4d40-07d0-2001.sta.estpak.ee) (Ping timeout: 248 seconds) |
| 07:31:33 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
| 07:33:15 | → | hellwolf joins (~user@2add-0666-e6c9-d3e2-0f00-4d40-07d0-2001.sta.estpak.ee) |
| 07:35:11 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 07:35:35 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 07:36:34 | × | tuxpaint quits (~a@2600:3c06::f03c:93ff:fea6:ef0e) (Ping timeout: 260 seconds) |
| 07:39:51 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 07:40:13 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 07:41:19 | × | emmanuelux quits (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
| 07:41:52 | × | Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 265 seconds) |
| 07:44:04 | → | merijn joins (~merijn@77.242.116.146) |
| 07:44:07 | → | tuxpaint joins (~a@put.gay) |
| 07:44:11 | × | harveypwca quits (~harveypwc@2601:246:d080:f6e0:27d6:8cc7:eca9:c46c) (Quit: Leaving) |
| 07:46:09 | → | acidjnk joins (~acidjnk@p200300d6e71c4f79f02f4230d0d82149.dip0.t-ipconnect.de) |
| 07:46:31 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 07:46:54 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 07:48:48 | → | __monty__ joins (~toonn@user/toonn) |
| 07:50:13 | → | shaeto joins (~Shaeto@94.25.234.192) |
| 07:50:44 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 07:51:07 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 07:51:56 | → | lxsameer joins (~lxsameer@Serene/lxsameer) |
| 07:54:50 | × | shaeto quits (~Shaeto@94.25.234.192) (Ping timeout: 260 seconds) |
| 07:56:28 | → | shaeto joins (~Shaeto@94.25.234.151) |
| 07:56:52 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 07:57:15 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 07:58:12 | → | machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net) |
| 08:02:35 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 08:03:01 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 08:08:38 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 08:09:01 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 08:12:23 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds) |
| 08:15:01 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 08:15:16 | → | chele joins (~chele@user/chele) |
| 08:15:27 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 08:20:44 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 08:21:07 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 08:25:57 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 08:26:29 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 08:27:09 | × | Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 276 seconds) |
| 08:32:47 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 08:33:13 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 08:40:00 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 08:40:25 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 08:44:44 | → | comerijn joins (~merijn@77.242.116.146) |
| 08:46:12 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 08:46:36 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 08:47:36 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 265 seconds) |
| 08:52:56 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 08:53:20 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 09:00:15 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 09:00:37 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 09:04:58 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 09:05:23 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 09:05:23 | → | Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
| 09:11:00 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 09:11:23 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 09:12:07 | × | drdo quits (~drdo@2a01:4f8:1c1c:4976::1) (Remote host closed the connection) |
| 09:12:42 | → | drdo joins (~drdo@2a01:4f8:1c1c:4976::1) |
| 09:18:22 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 09:18:48 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 09:20:13 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.5.2) |
| 09:24:27 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 09:24:42 | × | Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 252 seconds) |
| 09:24:50 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 09:26:27 | × | tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
| 09:30:36 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 09:30:58 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 09:33:52 | → | craunts7 joins (~craunts@136.158.8.87) |
| 09:38:00 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 09:38:25 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 09:41:00 | × | infinity0 quits (~infinity0@pwned.gg) (Ping timeout: 260 seconds) |
| 09:42:56 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 09:43:18 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 09:45:08 | → | Maxdamantus joins (~Maxdamant@user/maxdamantus) |
| 09:45:46 | × | tromp quits (~textual@2001:1c00:3487:1b00:29cc:e961:ab7b:113b) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 09:46:15 | × | haskellbridge quits (~hackager@syn-096-028-224-255.res.spectrum.com) (Ping timeout: 252 seconds) |
| 09:50:00 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 09:50:23 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 09:50:30 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 09:51:46 | → | califax joins (~califax@user/califx) |
| 09:53:15 | → | yoneda joins (~mike@193.206.102.122) |
| 09:57:23 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 09:57:47 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 09:58:02 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 09:59:41 | → | Digitteknohippie joins (~user@user/digit) |
| 10:00:38 | × | Digit quits (~user@user/digit) (Ping timeout: 252 seconds) |
| 10:00:54 | × | lxsameer quits (~lxsameer@Serene/lxsameer) (Quit: WeeChat 4.6.2) |
| 10:03:02 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 10:03:25 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 10:04:12 | Digitteknohippie | is now known as Digit |
| 10:04:58 | → | califax joins (~califax@user/califx) |
| 10:10:00 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 10:10:23 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 10:15:46 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 10:16:09 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 10:16:23 | × | comerijn quits (~merijn@77.242.116.146) (Ping timeout: 244 seconds) |
| 10:19:20 | × | xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 252 seconds) |
| 10:22:51 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 10:23:52 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 10:24:13 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 10:28:51 | → | merijn joins (~merijn@77.242.116.146) |
| 10:29:31 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 10:29:57 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 10:30:00 | × | ft quits (~ft@mue-88-130-106-109.dsl.tropolys.de) (Quit: leaving) |
| 10:31:33 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 10:32:00 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 10:32:55 | → | Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
| 10:32:57 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 10:33:23 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 10:33:40 | × | wickedjargon quits (~user@2001:569:fc3c:d000:49fd:4f0f:5c90:505) (Remote host closed the connection) |
| 10:37:44 | → | comerijn joins (~merijn@77.242.116.146) |
| 10:39:38 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 10:40:03 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 10:40:10 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 252 seconds) |
| 10:44:12 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 10:46:02 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 10:46:25 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 10:55:48 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 10:56:12 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 10:58:18 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
| 11:01:29 | → | jespada joins (~jespada@r167-61-38-116.dialup.adsl.anteldata.net.uy) |
| 11:01:50 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 11:02:12 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 11:07:50 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 11:08:13 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 11:13:15 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 11:13:36 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 11:14:15 | → | xff0x joins (~xff0x@ai083248.d.east.v6connect.net) |
| 11:17:04 | × | shaeto quits (~Shaeto@94.25.234.151) (Ping timeout: 260 seconds) |
| 11:18:11 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 11:18:34 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 11:21:05 | → | shaeto joins (~Shaeto@94.25.234.143) |
| 11:25:56 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 11:26:19 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 11:29:30 | × | acidjnk quits (~acidjnk@p200300d6e71c4f79f02f4230d0d82149.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 11:29:58 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 11:30:20 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 11:35:57 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 11:36:19 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 11:36:20 | × | comerijn quits (~merijn@77.242.116.146) (Ping timeout: 252 seconds) |
| 11:42:40 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 11:43:01 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 11:48:06 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 11:48:31 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 11:53:33 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 11:53:56 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 11:56:48 | → | merijn joins (~merijn@77.242.116.146) |
| 11:58:29 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 11:58:52 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 11:59:25 | × | arahael quits (~arahael@user/arahael) (Ping timeout: 252 seconds) |
| 12:02:31 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 244 seconds) |
| 12:02:35 | × | dispater quits (~dispater@mail.brprice.uk) (Quit: ZNC 1.8.2 - https://znc.in) |
| 12:02:36 | × | orcus quits (~orcus@mail.brprice.uk) (Quit: ZNC 1.8.2 - https://znc.in) |
| 12:03:29 | × | Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 248 seconds) |
| 12:04:30 | → | dispater joins (~dispater@mail.brprice.uk) |
| 12:04:33 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 12:04:55 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 12:05:01 | → | orcus joins (~orcus@mail.brprice.uk) |
| 12:08:29 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 12:08:37 | → | merijn joins (~merijn@77.242.116.146) |
| 12:09:45 | → | califax joins (~califax@user/califx) |
| 12:11:20 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 12:11:30 | × | yoneda quits (~mike@193.206.102.122) (Quit: leaving) |
| 12:11:42 | → | yoneda joins (~mike@193.206.102.122) |
| 12:11:42 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 12:15:47 | → | absence joins (torgeihe@hildring.pvv.ntnu.no) |
| 12:16:00 | × | son0p quits (~ff@2800:e6:4000:5cf7:2aa0:f8ac:1dbc:787d) (Remote host closed the connection) |
| 12:17:24 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 12:17:24 | × | jespada quits (~jespada@r167-61-38-116.dialup.adsl.anteldata.net.uy) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 12:17:49 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 12:17:59 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 12:19:08 | → | califax joins (~califax@user/califx) |
| 12:21:00 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 12:21:19 | → | jespada joins (~jespada@r167-61-38-116.dialup.adsl.anteldata.net.uy) |
| 12:21:52 | → | califax joins (~califax@user/califx) |
| 12:22:58 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 12:23:20 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 12:26:57 | → | son0p joins (~ff@2800:e6:4000:5cf7:2aa0:f8ac:1dbc:787d) |
| 12:29:13 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 12:29:37 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 12:34:28 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 12:34:49 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 12:38:23 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 12:38:47 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 12:39:41 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 12:40:05 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 12:41:49 | → | arahael joins (~arahael@user/arahael) |
| 12:42:36 | × | Square quits (~Square4@user/square) (Ping timeout: 244 seconds) |
| 12:44:25 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 12:44:52 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 12:50:42 | × | jespada quits (~jespada@r167-61-38-116.dialup.adsl.anteldata.net.uy) (Quit: Textual IRC Client: www.textualapp.com) |
| 12:51:18 | → | jespada joins (~jespada@r167-61-38-116.dialup.adsl.anteldata.net.uy) |
| 12:51:28 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 12:51:52 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 12:51:59 | → | weary-traveler joins (~user@user/user363627) |
| 12:56:00 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 12:56:24 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 13:02:01 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 13:02:23 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 13:05:49 | → | tromp joins (~textual@2001:1c00:3487:1b00:29cc:e961:ab7b:113b) |
| 13:06:00 | × | arahael quits (~arahael@user/arahael) (Ping timeout: 276 seconds) |
| 13:08:34 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 13:09:00 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 13:13:24 | × | califax quits (~califax@user/califx) (Ping timeout: 264 seconds) |
| 13:13:53 | × | bliminse quits (~bliminse@user/bliminse) (Quit: leaving) |
| 13:14:35 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 13:14:57 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 13:18:48 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 13:18:58 | → | califax joins (~califax@user/califx) |
| 13:19:12 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 13:20:40 | → | bliminse joins (~bliminse@user/bliminse) |
| 13:21:19 | × | Pixi quits (~Pixi@user/pixi) (Read error: Connection reset by peer) |
| 13:21:49 | → | Pixi joins (~Pixi@user/pixi) |
| 13:23:43 | × | codedmart quits (~codedmart@li335-49.members.linode.com) (Quit: ZNC 1.7.5+deb4 - https://znc.in) |
| 13:23:44 | → | sp1ff` joins (~user@c-67-160-173-55.hsd1.wa.comcast.net) |
| 13:23:44 | × | danso quits (~danso@user/danso) (Quit: quittin time) |
| 13:23:57 | → | danso joins (~danso@user/danso) |
| 13:24:01 | → | codedmart joins (codedmart@2600:3c01::f03c:92ff:fefe:8511) |
| 13:24:15 | × | sp1ff quits (~user@c-67-160-173-55.hsd1.wa.comcast.net) (Read error: Connection reset by peer) |
| 13:24:39 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 13:25:03 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 13:30:52 | × | tromp quits (~textual@2001:1c00:3487:1b00:29cc:e961:ab7b:113b) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 13:31:54 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 13:32:19 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 13:33:29 | → | acidjnk joins (~acidjnk@p200300d6e71c4f7900b5ee9fd79c9c37.dip0.t-ipconnect.de) |
| 13:36:31 | <bwe> | How do I run a test a single time with criterion? `defaultMainWith (defaultConfig {resamples = 1}) ...` lets it still run its iterations > 1. (I am trying to just output the peak memory allocated as one benchmark.) |
| 13:37:04 | × | Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
| 13:38:56 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 13:39:17 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 13:44:11 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 13:44:33 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 13:45:17 | <tomsmeding> | bwe: use criterion-measurement |
| 13:45:30 | <tomsmeding> | the whole point of `criterion` is to do the analysis that only works with >1 sample |
| 13:49:17 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 13:49:39 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 13:52:50 | <bwe> | tomsmeding: so, I would create a new executable instead of trying to include it in the current benchmark suite, right? |
| 13:54:11 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 13:54:35 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 13:56:59 | <tomsmeding> | bwe: if the "benchmark suite" is a criterion bgroup, then a memory usage test indeed doesn't fit in there. It could be a separate executable or an additional thing that you run before or after the criterion suite |
| 13:59:42 | → | Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
| 14:00:04 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 14:00:27 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 14:02:18 | × | Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer) |
| 14:06:55 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 14:07:21 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 14:11:28 | <bwe> | tomsmeding: Thanks. It's clear now. I've done it as a separate thing running before criterion suite. Thanks for the idea! |
| 14:12:58 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 14:13:20 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 14:14:55 | → | tromp joins (~textual@2001:1c00:3487:1b00:29cc:e961:ab7b:113b) |
| 14:17:01 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 14:17:23 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 14:18:27 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 14:20:37 | → | haritz joins (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) |
| 14:20:37 | × | haritz quits (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host) |
| 14:20:37 | → | haritz joins (~hrtz@user/haritz) |
| 14:21:39 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 14:22:02 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 14:26:11 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 14:26:35 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 14:29:12 | → | califax joins (~califax@user/califx) |
| 14:33:21 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 14:33:45 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 14:34:44 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Read error: Connection reset by peer) |
| 14:38:34 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 14:38:57 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 14:43:08 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 14:43:34 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 14:45:16 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 14:45:41 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 14:45:50 | → | Guest6754 joins (~Ben@182.207-131-109.adsl-dyn.isp.belgacom.be) |
| 14:51:55 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 14:52:19 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 14:57:42 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 14:58:05 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 15:01:02 | → | haskellbridge joins (~hackager@syn-096-028-224-255.res.spectrum.com) |
| 15:01:03 | ChanServ | sets mode +v haskellbridge |
| 15:01:07 | × | Guest6754 quits (~Ben@182.207-131-109.adsl-dyn.isp.belgacom.be) (Quit: Client closed) |
| 15:02:51 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 15:03:14 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 15:09:06 | × | acidjnk quits (~acidjnk@p200300d6e71c4f7900b5ee9fd79c9c37.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 15:09:35 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 15:09:59 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 15:11:28 | → | infinity0 joins (~infinity0@pwned.gg) |
| 15:13:59 | × | jespada quits (~jespada@r167-61-38-116.dialup.adsl.anteldata.net.uy) (Ping timeout: 244 seconds) |
| 15:15:01 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 15:15:22 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 15:17:31 | → | jespada joins (~jespada@r179-24-29-82.dialup.adsl.anteldata.net.uy) |
| 15:20:16 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 15:20:38 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 15:24:00 | → | Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
| 15:25:35 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 15:25:57 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 15:28:45 | × | craunts7 quits (~craunts@136.158.8.87) (Quit: The Lounge - https://thelounge.chat) |
| 15:31:59 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 15:32:25 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 15:34:56 | × | manwe quits (~manwe2004@modemcable169.115-22-96.mc.videotron.ca) (Quit: Leaving) |
| 15:35:24 | → | ft joins (~ft@p3e9bc106.dip0.t-ipconnect.de) |
| 15:37:30 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 15:37:56 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 15:40:02 | × | yoneda quits (~mike@193.206.102.122) (Quit: leaving) |
| 15:42:14 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 15:42:36 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 15:45:30 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 15:45:53 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 15:47:19 | → | erty joins (~user@user/aeroplane) |
| 15:50:19 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 15:50:41 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 15:55:29 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 15:55:53 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 16:00:02 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 16:01:44 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 16:01:47 | → | califax joins (~califax@user/califx) |
| 16:02:08 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 16:07:37 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 16:08:01 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 16:13:35 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 16:15:40 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 16:16:04 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 16:16:27 | × | Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 276 seconds) |
| 16:21:44 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 16:22:09 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 16:26:40 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 252 seconds) |
| 16:26:46 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 16:27:10 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 16:28:19 | → | euouae joins (~euouae@user/euouae) |
| 16:28:32 | <euouae> | Hello I have this example <https://github.com/createyourpersonalaccount/menu-selection/blob/main/app/Menu1.hs> of a simple app that lets you browse a menu |
| 16:28:33 | → | JuanDaugherty joins (~juan@user/JuanDaugherty) |
| 16:28:57 | <euouae> | I'm wondering what criticism you can offer for it; in particular I have a feeling that ReaderT can be inserted there somewhere right? |
| 16:29:24 | <euouae> | (Or maybe it's just good as it is -- I don't know) |
| 16:32:46 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 16:33:11 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 16:34:40 | × | tromp quits (~textual@2001:1c00:3487:1b00:29cc:e961:ab7b:113b) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 16:37:59 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 16:38:22 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 16:42:28 | → | danza joins (~danza@user/danza) |
| 16:43:37 | × | danza quits (~danza@user/danza) (Remote host closed the connection) |
| 16:45:53 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 16:46:18 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 16:49:58 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 16:50:21 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 16:51:54 | → | Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
| 16:52:13 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 16:52:34 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 16:52:41 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 16:53:03 | × | erty quits (~user@user/aeroplane) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4)) |
| 16:54:36 | × | ft quits (~ft@p3e9bc106.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 16:55:02 | → | volsand joins (~volsand@2804:1b1:1080:3f49:dff2:9a47:8661:7944) |
| 16:56:21 | → | ft joins (~ft@p3e9bc106.dip0.t-ipconnect.de) |
| 16:57:46 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 16:57:57 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 16:58:23 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 17:04:02 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 17:04:29 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 17:04:42 | → | Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 17:05:37 | × | YuutaW quits (~YuutaW@2404:f4c0:f9c3:502::100:17b7) (Ping timeout: 272 seconds) |
| 17:09:02 | → | tromp joins (~textual@2001:1c00:3487:1b00:29cc:e961:ab7b:113b) |
| 17:09:46 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 17:10:11 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 17:16:58 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 17:17:23 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 17:23:11 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 17:23:34 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 17:28:09 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 17:28:34 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 17:32:44 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 17:34:15 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 17:34:18 | × | Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 252 seconds) |
| 17:34:39 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 17:38:22 | <probie> | euouae: Normally if you've got an `Either`, and one value is an "error", it goes in the left side, not the right. This is done so it plays nicely with the Functor/Monad instances for `Either a` when you want to chain together multiple operations with the same error type |
| 17:39:23 | × | kuribas quits (~user@ptr-17d51enukjwnxk3nj92.18120a2.ip6.access.telenet.be) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3)) |
| 17:43:29 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 17:43:54 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 17:44:19 | → | Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
| 17:48:50 | → | jmcantrell joins (~weechat@user/jmcantrell) |
| 17:49:23 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 17:49:46 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 17:49:49 | <probie> | Also, if you've only got a single "statement", you don't need to use "do" (e.g. instead of ``do pure (Right $ "Invalid choice `" <> choice <> "'.")`` you can write ``pure (Right $ "Invalid choice `" <> choice <> "'.")`` |
| 17:50:18 | <euouae> | oh yeah that one was a remnant of two statements |
| 17:51:14 | × | Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 245 seconds) |
| 17:52:44 | <euouae> | I think I was experimenting with <> and that's why I decided to put the error on the right |
| 17:53:05 | <euouae> | Because Left 1 <> Right 2 <> Left 3 gives Right 2. I guess <> is the wrong notion since what you want is chaining them in the monad with >> |
| 17:55:03 | <euouae> | (I fixed those two mistakes you mentioned now) |
| 17:56:11 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 17:56:34 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 17:59:47 | <probie> | > let halfSafeDiv x y = do { when (y == 0) (Left "Divide by 0"); let {z = x `div` y}; when (z `mod` 2 /= 0) (Left "Result not even"); pure (z `div` 2) } in [halfSafeDiv x y | (x,y) <- zip [56, 5, 15] [4,0,5]] |
| 17:59:49 | <lambdabot> | [Right 7,Left "Divide by 0",Left "Result not even"] |
| 18:01:22 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 18:01:37 | <euouae> | yup that's pretty neat. is the do{} for one-line stuff? |
| 18:01:46 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 18:01:47 | <euouae> | togehther with the ; |
| 18:04:31 | <probie> | Yep. It's not particularly common in actual code (I think parts of GHC's code base still use it though), but Haskell lets you use curly braces and semicolons instead of newlines and indentation if you want to |
| 18:05:06 | <probie> | However, it's convenient for sending "multiple lines" to lambdabot |
| 18:05:16 | <euouae> | alright |
| 18:05:25 | <euouae> | well I'm more curious about the overall design of what I have |
| 18:06:04 | <euouae> | because this is a mock example of something larger I'm trying to create, basically an "interpreter" / "macro expander" that can read from files & interactively via stdin |
| 18:07:28 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 18:07:31 | <euouae> | but I'll read up on ReaderT again and see if I can adapt it to my example |
| 18:07:53 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 18:09:51 | → | robobub joins (uid248673@id-248673.uxbridge.irccloud.com) |
| 18:10:18 | <probie> | I don't think `ReaderT` gives you anything here; it's a fancy way of making sure an extra argument is passed to all functions. Right now, you just have one, so it seems overkill. Personally, I'd do it with far fewer calls to `putStr`. |
| 18:10:52 | <euouae> | the above is a mock example of something more complicated that I'm trying to write |
| 18:13:44 | → | acidjnk joins (~acidjnk@p200300d6e71c4f793ca0c1b1d3dae2fd.dip0.t-ipconnect.de) |
| 18:14:41 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 18:15:03 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 18:18:32 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 18:18:55 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 18:22:31 | × | JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org)) |
| 18:24:03 | × | shaeto quits (~Shaeto@94.25.234.143) (Quit: WeeChat 4.1.1) |
| 18:25:30 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 18:25:55 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 18:26:45 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 18:30:05 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 18:30:27 | arthurvl | is now known as earthy |
| 18:30:29 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 18:31:02 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
| 18:34:57 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 18:35:19 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 18:36:10 | × | jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 252 seconds) |
| 18:37:02 | <probie> | euouae: What's the thing you want to pass through your reader? The entire selection menu? You might be better off with `StateT` for that |
| 18:38:55 | <euouae> | I was thinking of the current choices by the user |
| 18:39:07 | → | jmcantrell joins (~weechat@user/jmcantrell) |
| 18:39:15 | <euouae> | e.g. the user has made ["Arthropod", "Crab"] as a choice so far |
| 18:39:27 | <euouae> | (Or just ["Arthropod"] if he's in the middle of it.) |
| 18:40:40 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 18:41:05 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 18:41:40 | <int-e> | Sounds like state to me. (Reader is more useful for passing around immutable data like configurations. Though there is `local` to make it murky.) |
| 18:41:56 | <int-e> | :t local |
| 18:41:57 | <lambdabot> | MonadReader r m => (r -> r) -> m a -> m a |
| 18:42:24 | <euouae> | It's local I was looking at |
| 18:42:31 | <int-e> | > local (*2) (+1) 3 -- scnr |
| 18:42:32 | <lambdabot> | 7 |
| 18:42:48 | <euouae> | If you think StateT is better, fine I'll use that |
| 18:42:49 | <int-e> | :t put |
| 18:42:50 | <lambdabot> | MonadState s m => s -> m () |
| 18:42:55 | <int-e> | :t get |
| 18:42:56 | <lambdabot> | MonadState s m => m s |
| 18:43:22 | <euouae> | Yup. Is there any technique I should be aware of for "code generation"? |
| 18:43:45 | <int-e> | this modifies states for future monadic actions, while `local` modifies a monadic action to take different contextual data |
| 18:43:47 | <euouae> | Imagine that my parser reads `foo bar baz` and expands `foo` to `123`, `bar` to a parsing error (but continues parsing) and `baz` to `42` |
| 18:45:17 | <euouae> | int-e, I see what you mean; it means `put` can be used in a do-block, while local also requires `m a` as an argument. right? |
| 18:46:28 | <int-e> | euouae: yeah and the r -> r function only gets applied for that action |
| 18:46:42 | <int-e> | so it's a local modification of the data; hence the name |
| 18:47:15 | <euouae> | makes sense |
| 18:47:23 | <euouae> | Well right, StateT is better |
| 18:47:38 | <mauke> | if you remove the monadic veneer, Reader is about passing a particular argument to all "actions" (functions) |
| 18:47:59 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 18:47:59 | <euouae> | yup I noted that in my notes because probie said it above |
| 18:48:01 | <mauke> | local then just means passing a different argument to a particular function call |
| 18:48:18 | <mauke> | but it has no lasting effects |
| 18:48:22 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 18:48:32 | <euouae> | I've kind of removed the veneer in my own thoughts in the past, but it had been a while since I touched Haskell so it's slowly coming back to me |
| 18:49:01 | <euouae> | Now I'm more curious about my specific application -- I am writing a macro expander. Any particular techniques that I should be aware of? |
| 18:49:06 | → | rvalue- joins (~rvalue@user/rvalue) |
| 18:49:26 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 18:49:43 | × | rvalue quits (~rvalue@user/rvalue) (Ping timeout: 252 seconds) |
| 18:53:49 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 18:54:12 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 18:55:24 | → | sprotte24 joins (~sprotte24@p200300d16f2ebe0008435e5a759dcfac.dip0.t-ipconnect.de) |
| 18:56:02 | rvalue- | is now known as rvalue |
| 18:58:49 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 18:59:13 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 19:00:04 | × | caconym7 quits (~caconym@user/caconym) (Quit: bye) |
| 19:00:43 | → | caconym7 joins (~caconym@user/caconym) |
| 19:04:53 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 19:04:56 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 19:05:22 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 19:06:06 | × | jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 276 seconds) |
| 19:07:59 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 19:08:24 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 19:09:45 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 19:11:00 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 19:11:30 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 19:11:42 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 19:12:29 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 19:14:48 | <euouae> | using effectful-core, how can I complete the definition of myLength :: (Reader String :> es) => Eff es Integer to return the length of the String in the reader? |
| 19:15:02 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer) |
| 19:15:04 | <euouae> | I tried `do { s <- ask; pure (length s) }` but I'm getting errors. |
| 19:16:20 | <int-e> | :t asks length |
| 19:16:21 | <lambdabot> | (MonadReader (t a) m, Foldable t) => m Int |
| 19:16:44 | <int-e> | (not answering the question) |
| 19:17:05 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 19:17:17 | <euouae> | sure asks can be used |
| 19:17:31 | int-e | has never used effectful-core. what does the error look like? |
| 19:18:14 | <euouae> | Like this: <https://termbin.com/u0uz> |
| 19:18:57 | <euouae> | Something cannot be deduced, not sure which. I'm just using effectful to avoid the "slowdown" that occurs with mtl. Maybe I should just not bother and stick to transformers |
| 19:19:12 | <euouae> | but I do want to have fun so I'm playing around |
| 19:19:28 | <int-e> | euouae: you may have to force the `s` to be of type String |
| 19:19:39 | <int-e> | say, length (s :: String) |
| 19:20:37 | <int-e> | (You could have Reader [Char] :> Reader [Int] :> es and then how would it know which of the lists you want?) |
| 19:20:42 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 19:21:33 | <int-e> | err, those :> should probably be : |
| 19:21:50 | <int-e> | I did mention that I haven't used this :) |
| 19:24:13 | → | tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
| 19:24:25 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 19:24:46 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 19:25:44 | <euouae> | You're right, that worked. Is there another way to force the type? Perhaps at teh point where I do <-? |
| 19:25:49 | <euouae> | the monadic bind |
| 19:26:06 | <euouae> | (I tried to force the type in other attempts but I failed, you provided a correct way to do it) |
| 19:27:15 | → | ttybitnik joins (~ttybitnik@user/wolper) |
| 19:27:40 | → | Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
| 19:27:59 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 19:30:06 | <int-e> | Hmm. s :: String <- ask should work. asks (length @_ @Char) looks awkward. asks (length :: String -> Int) will work too |
| 19:31:00 | <euouae> | nice, thank you! |
| 19:32:15 | × | Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 252 seconds) |
| 19:38:43 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 19:42:28 | × | machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds) |
| 19:47:16 | × | ol0ck quits (~quassel@user/ol0ck) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 19:48:02 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 19:49:40 | → | target_i joins (~target_i@user/target-i/x-6023099) |
| 19:52:38 | <euouae> | int-e: do you use some other effects library or just transformers/mtl? |
| 19:54:43 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 19:55:05 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 19:59:01 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 20:04:36 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 20:12:09 | → | ljdarj1 joins (~Thunderbi@user/ljdarj) |
| 20:14:09 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 245 seconds) |
| 20:14:09 | ljdarj1 | is now known as ljdarj |
| 20:14:48 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 20:17:04 | → | weary-traveler joins (~user@user/user363627) |
| 20:19:33 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 20:25:02 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 20:25:24 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 20:29:18 | × | GdeVolpiano quits (~GdeVolpia@user/GdeVolpiano) (Quit: WeeChat 4.5.2) |
| 20:30:35 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 20:33:06 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 20:35:20 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 20:43:18 | → | Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
| 20:46:23 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 20:51:27 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 20:53:19 | × | Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 245 seconds) |
| 20:56:12 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
| 21:02:11 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 21:02:37 | → | GdeVolpiano joins (~GdeVolpia@user/GdeVolpiano) |
| 21:05:49 | × | GdeVolpiano quits (~GdeVolpia@user/GdeVolpiano) (Client Quit) |
| 21:05:58 | → | GdeVolpiano joins (~GdeVolpia@user/GdeVolpiano) |
| 21:06:57 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 21:09:23 | × | takuan quits (~takuan@d8D86B601.access.telenet.be) (Remote host closed the connection) |
| 21:17:16 | → | Square2 joins (~Square@user/square) |
| 21:17:57 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 21:19:36 | × | Moyst quits (~moyst@user/moyst) (Ping timeout: 268 seconds) |
| 21:20:15 | × | michalz quits (~michalz@185.246.207.222) (Remote host closed the connection) |
| 21:22:04 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 21:22:28 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 21:23:09 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 21:24:21 | → | Square joins (~Square4@user/square) |
| 21:25:06 | <euouae> | as I was saying earlier I'm writing a macro expander. it has the capability to write to stdout or to save to memory for later display. say there's 10 slots 0-9 and 0 is stdout and 1-9 is memory writing |
| 21:25:14 | × | target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving) |
| 21:25:16 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Quit: peterbecich) |
| 21:25:27 | → | Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
| 21:25:52 | <euouae> | How should I implement this? Is this a WriterT? Or should I do it with a "write" function that takes a slot parameter and the 0 case goes to stdout and 1-9 just appends to a Seq? |
| 21:25:56 | × | m5zs7k quits (aquares@web10.mydevil.net) (Ping timeout: 252 seconds) |
| 21:26:04 | → | Moyst joins (~moyst@user/moyst) |
| 21:26:52 | tomsmeding | would not use Seq here if you don't need to index into the thing but only fold over it once at the end |
| 21:27:28 | → | driib318 joins (~driib@vmi931078.contaboserver.net) |
| 21:27:45 | <tomsmeding> | a simple `write` with a State that keeps the memory buffers may be enough |
| 21:28:33 | <euouae> | maybe I should have a writeMemory and writeFile since the former is pure? |
| 21:28:56 | <tomsmeding> | but when you call those functions, you never know statically which it's going to be, right? |
| 21:29:04 | <euouae> | no it depends on the input |
| 21:29:13 | <geekosaur> | tbh I'd consider using files created on first use. (I assume you've been looking at m4's `divert`?) |
| 21:29:17 | <tomsmeding> | right, so at the callsite, you'll have to be effectful anyway |
| 21:29:23 | <tomsmeding> | because it may be writeFile |
| 21:29:23 | <euouae> | geekosaur: how did you know? :O |
| 21:29:38 | <geekosaur> | I spent 8 years living m4 |
| 21:29:44 | <euouae> | what? really? |
| 21:30:20 | <euouae> | geekosaur: I wrote this GNU m4 clone in Python, it's still WIP but it's good (slow though) <https://codeberg.org/annoyingusername/m4p> |
| 21:30:29 | <geekosaur> | I used it to write a macro system over a language that changed often enough that I needed some heavy lifting to adapt to different versions |
| 21:30:50 | <monochrom> | I would try WriterT (Endo String/Text) or WriterT (Seq Char/String/Text). I would also have no shame special-casing stdout. |
| 21:31:03 | <euouae> | so I'm fooling around with Haskell, trying to clarify the structure of an m4 implementation. My final step would be to rewrite in GNU Mes scheme for bootstrappability |
| 21:31:42 | <monochrom> | Oh wait so the type is IO if 0, WriterT if 1-9? That calls for Lean... >:) |
| 21:31:58 | <euouae> | No I don't need dependent types |
| 21:32:13 | <geekosaur> | are you also going to support `divert(-1)` (or other invalid stream) to discard output? some things use that for initial comments |
| 21:32:21 | <euouae> | Yes I support everything |
| 21:32:32 | × | Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 252 seconds) |
| 21:32:35 | <euouae> | Output can go to: 1) stdout 2) file 3) memory buffer 4) discarded |
| 21:33:45 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 21:35:11 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 21:36:12 | × | Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
| 21:36:15 | euouae | will try WriterT for the memory buffers |
| 21:37:17 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 21:37:39 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 21:38:29 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 21:40:01 | <monochrom> | Oh I'm a moron. If Text, may as well use Text's Builder and save using Endo myself. |
| 21:40:21 | <tomsmeding> | @hackage text-builder-linear |
| 21:40:21 | <lambdabot> | https://hackage.haskell.org/package/text-builder-linear |
| 21:40:44 | → | Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
| 21:40:48 | <monochrom> | Everything is now linearly typed eh? |
| 21:40:57 | <tomsmeding> | well in this case the linearity is very well contained |
| 21:41:14 | <tomsmeding> | the point is that instead of the standard builder pattern, this can actually build the thing in-place |
| 21:41:38 | <monochrom> | OK nice. |
| 21:41:39 | → | machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net) |
| 21:42:01 | <tomsmeding> | ... to an extent |
| 21:42:11 | <tomsmeding> | if you're willing to buy into the linear types, you get beautiful in-place updates |
| 21:42:29 | <tomsmeding> | if you want to use a traditional Monoid builder thing, you get the tree of thunks as usual |
| 21:42:36 | <tomsmeding> | but evaluating the tree of thunks is then nice |
| 21:42:50 | <monochrom> | Well at least putting a "use once only" on runBuilder protects you from the same kind of memory surprise as "sum xs / length xs" |
| 21:42:55 | <tomsmeding> | it's `newtype Builder = Buidler (Buffer %1-> Buffer)` |
| 21:43:11 | <tomsmeding> | (minus the typo) |
| 21:43:36 | <euouae> | what's the memory surprise there monochrom ? |
| 21:44:08 | <monochrom> | Suppose xs = [1..n]. length xs alone takes O(1) space. sum xs alone also takes O(1) space. |
| 21:45:18 | <EvanR> | I encoded the parlor puzzle in The Blue Prince in haskell https://paste.tomsmeding.com/PaaqcdI7 |
| 21:45:44 | <euouae> | monochrom: why is that not the case when they're together? |
| 21:46:00 | <euouae> | because the optimizer can't figure it out? |
| 21:46:30 | <tomsmeding> | because the code specifies that the list 'xs' should be built only once, so GHC respects that wish |
| 21:46:33 | <tomsmeding> | even if it's the bad thing to do |
| 21:46:55 | <euouae> | how would you specify it twice? by not using the xs binding? |
| 21:47:04 | <tomsmeding> | indeed |
| 21:47:10 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 21:47:19 | <tomsmeding> | or one would explicitly traverse the thing once with a combined fold |
| 21:47:32 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 21:47:34 | × | Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 252 seconds) |
| 21:47:47 | → | Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
| 21:47:56 | <euouae> | interesting! |
| 21:48:11 | <tomsmeding> | or you use a tool to automatically combine multiple folds in one, e.g. https://hackage.haskell.org/package/foldl-1.4.18/docs/Control-Foldl.html |
| 21:49:01 | <tomsmeding> | > Data.List.foldl' (\(!tot, !len) x -> (tot + x, len + 1)) (0, 0) [1..10] |
| 21:49:03 | <lambdabot> | (55,10) |
| 21:49:05 | <euouae> | I guess the mental evaluation here is that you have two expressions sum xs and length xs; you can assume they're evaluated in sequence, so once length xs is reached, xs is already all in memory |
| 21:49:17 | <tomsmeding> | > uncurry div $ Data.List.foldl' (\(!tot, !len) x -> (tot + x, len + 1)) (0, 0) [1..10] |
| 21:49:18 | <lambdabot> | 5 |
| 21:49:33 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 21:51:55 | <EvanR> | too bad you can't take xs, duplicate the thunk before doing sum copy1 / length copy2 |
| 21:52:08 | <EvanR> | in case you were short on memory and flush on cpu power |
| 21:52:25 | <tomsmeding> | that would be "instructions unclear, should I also duplicate the other thunks that this one refers to" |
| 21:53:01 | × | Square quits (~Square4@user/square) (Ping timeout: 265 seconds) |
| 21:53:01 | <EvanR> | welcome to C++ |
| 21:53:16 | <tomsmeding> | well in C++ this kind of stuff is well-specified |
| 21:53:17 | <euouae> | Does Haskell have a concept of Reference? I'd imagine yes |
| 21:53:24 | <tomsmeding> | IORef? |
| 21:53:28 | <euouae> | so instead you can also work with references, right? |
| 21:53:34 | <EvanR> | you still have to decide whether to duplicate 1 level, 3 levels, all levels, or some weird combination |
| 21:53:41 | <euouae> | oh wait, no. it still would be O(n).... nevermind |
| 21:53:53 | × | sprotte24 quits (~sprotte24@p200300d16f2ebe0008435e5a759dcfac.dip0.t-ipconnect.de) (Quit: Leaving) |
| 21:54:01 | <tomsmeding> | euouae: oh in that sense, then every lifted value in haskell is a reference |
| 21:54:12 | <tomsmeding> | you probably haven't seen unlifted values |
| 21:54:13 | <euouae> | tomsmeding: right. I guess EvanR wants thunk-level manipulations |
| 21:54:20 | <tomsmeding> | yep |
| 21:54:37 | <EvanR> | if you know the xs is some simple thunk, and duplicating wouldn't be bad, it would be interesting |
| 21:54:38 | <Rembane> | Thunks as first class citizens would be really sweet. |
| 21:54:40 | <EvanR> | but not very abstract |
| 21:54:57 | <tomsmeding> | if xs is [1..10], is xs a simple thunk? |
| 21:55:01 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 21:55:10 | <EvanR> | I have no idea |
| 21:55:14 | <tomsmeding> | me neither |
| 21:55:24 | <tomsmeding> | point being that this is a crappy API :p |
| 21:55:40 | <EvanR> | personal judgement of what a simple thunk is isn't the API |
| 21:55:51 | <euouae> | but you can't mess with thunks using GHC's API |
| 21:55:52 | <euouae> | ? |
| 21:56:02 | <EvanR> | "mess with" ? |
| 21:56:09 | <tomsmeding> | no but random implementation choices, both in libraries and in GHC itself, can change what things are simple thunks and what things aren't |
| 21:56:30 | <EvanR> | yeah it sounds fragile |
| 21:56:45 | <tomsmeding> | EvanR: there is https://ghc.gitlab.haskell.org/ghc-debug/ if you really want to get into the weeds |
| 21:57:15 | <euouae> | Also what's the point of text-builder-linear? I was planning to use a strict ByteString to accumulate stuff in memory buffers |
| 21:57:38 | <tomsmeding> | euouae: the append operation on strict bytestrings will reallocate the whole thing every time |
| 21:57:47 | <euouae> | oh ugh really? wow |
| 21:57:52 | <tomsmeding> | it's immutable |
| 21:57:54 | <tomsmeding> | it has no choice |
| 21:58:04 | <tomsmeding> | same goes for (++) on String |
| 21:58:05 | <euouae> | sure like python. I didn't realize |
| 21:58:33 | <euouae> | Another option is to use a list and cons ByteString's. I can "flatten" them using lens |
| 21:58:40 | <tomsmeding> | a Builder only stores the parts and materialise the whole thing in one go at the end |
| 21:58:43 | <euouae> | is that a bad idea? because lens plays into other things I'm doing so I'll be using it regardless. |
| 21:58:56 | <tomsmeding> | that would essentially be using a lazy bytestring |
| 21:59:02 | <tomsmeding> | (Data.ByteString.Lazy) |
| 21:59:09 | <tomsmeding> | that's a tree of strict bytestrings |
| 21:59:31 | <tomsmeding> | and then to optimise that you use a Data.ByteString.Builder, because a lazy bytestring is optimised for larger chunks |
| 21:59:41 | <EvanR> | euouae, you can generate a laz---^ |
| 21:59:47 | <tomsmeding> | too slow |
| 22:00:03 | <euouae> | mostly I need to do isPrefixOf to chunk out tokens |
| 22:00:17 | <tomsmeding> | do you need to do so while you're still writing at the end of the stream? |
| 22:00:30 | <tomsmeding> | or can you finalize the stream before you start reading from it? |
| 22:00:31 | <euouae> | The stream is a mix of file inputs and macro expansions |
| 22:00:35 | <euouae> | no I can't finalize it |
| 22:00:40 | <tomsmeding> | then a Builder won't work |
| 22:00:48 | <euouae> | alright, thanks for clarifying that. |
| 22:00:49 | <EvanR> | without some ridiculous hax xD |
| 22:01:13 | <EvanR> | list of IVars containing the rest of the IVars of data |
| 22:01:39 | <euouae> | If I had to do such hacks (not sure exactly what you mean) I'd not bother with Haskell, because I'm trying to simplify the code |
| 22:02:00 | <EvanR> | this hax would make the consumer of the lazy bytestring simpler |
| 22:02:04 | <tomsmeding> | simplest thing here that's not even terrible, might be a lazy bytestring |
| 22:02:05 | <EvanR> | at expect of the producer |
| 22:02:09 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 22:02:11 | <EvanR> | expense |
| 22:02:24 | <euouae> | What I have is a mix of lazy and strict bytestrings in a list |
| 22:02:32 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 22:02:35 | <EvanR> | lazy bytestring is already a mix of lazy and strict |
| 22:02:38 | <tomsmeding> | appending at the end of a list is O(length of the list) |
| 22:02:47 | <euouae> | Yes but there's more which are strict that I obtain from macroexpansions EvanR |
| 22:02:58 | <euouae> | I only prepend |
| 22:02:59 | <tomsmeding> | lazy bytestring improves on what you have by being a tree instead of a list, so it becomes O(log(length of the list)) instead |
| 22:02:59 | <EvanR> | lazy = list of strict |
| 22:03:19 | <tomsmeding> | euouae: wait I don't get it, I thought you read from the start and write from the end? |
| 22:03:26 | <tomsmeding> | *to the end |
| 22:03:44 | <tomsmeding> | EvanR: no, lazy = tree of strict |
| 22:04:00 | <EvanR> | whether it's a list or a tree, appending to the right side isn't going to be O(log(n)) |
| 22:04:05 | <tomsmeding> | lol I'm wrong, it's a list |
| 22:04:19 | <euouae> | I start with a file that I open so let's say one BL (lazy bytesting). I have it like [BL]. Then as I read from the BL, whatever the tokens tell me, like "prepend macroexpansion" or "insert another file here" is what I do |
| 22:04:43 | <tomsmeding> | oh so the stream is more like a stack than a queue? |
| 22:04:46 | <euouae> | yes |
| 22:04:56 | <EvanR> | if you read it in using lazy I/O then that simplifies that too |
| 22:04:59 | <EvanR> | assuming no errors occur |
| 22:05:00 | <tomsmeding> | then plain list of (optionally lazy) bytestrings works perfectly fine |
| 22:05:05 | <euouae> | That's what I'm doing EvanR! :) it's really neat |
| 22:05:09 | <tomsmeding> | a list is a perfectly serviceable stack |
| 22:05:17 | <euouae> | Yup, with lens to flatten it |
| 22:05:20 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 22:05:27 | <tomsmeding> | what is there to flatten? |
| 22:05:38 | <euouae> | there's multiple bytestrings |
| 22:05:47 | <tomsmeding> | isn't that just using (++) instead of (:)? |
| 22:05:48 | <euouae> | and I need to treat them as a single string |
| 22:05:57 | <tomsmeding> | oh I see |
| 22:06:02 | <tomsmeding> | a single lazy bytestring, I hope |
| 22:06:08 | <euouae> | Yes |
| 22:06:15 | × | olivial quits (~benjaminl@user/benjaminl) (Ping timeout: 252 seconds) |
| 22:06:16 | <tomsmeding> | that should work |
| 22:06:46 | <euouae> | What would happen if I used ++? Does it behave nicely with bytestrings? Now you confused me |
| 22:06:51 | → | olivial joins (~benjaminl@user/benjaminl) |
| 22:06:54 | <tomsmeding> | I was thinking the writes go at the end, so you have some kind of queue, and queues are always inconvenient in haskell |
| 22:07:06 | <tomsmeding> | euouae: no the ++ was for prepending, not for reading |
| 22:07:28 | <tomsmeding> | reading by concatting to a lazy bytestring and then just messing with that should be fine |
| 22:07:39 | <euouae> | what I do right now in my toy example: `fileContents <- traverse BL.readFile args` |
| 22:07:42 | <tomsmeding> | though honestly, you could ditch the list and just have a single lazy bytestring |
| 22:07:48 | <euouae> | so `./foo x y z` will open those three files |
| 22:07:48 | <tomsmeding> | prepending to a lazy bytestring is fast |
| 22:08:00 | → | m5zs7k joins (aquares@web10.mydevil.net) |
| 22:08:11 | <tomsmeding> | because a lazy bytestring is itself already a list |
| 22:08:26 | <euouae> | Right, so maybe I don't need lens is what you're making me realize |
| 22:08:32 | <tomsmeding> | yes |
| 22:08:33 | <euouae> | How do I prepend? |
| 22:08:41 | <tomsmeding> | `append` |
| 22:08:47 | <euouae> | Hm... got it |
| 22:09:02 | <tomsmeding> | see Lazy.Bytestring as [Strict.ByteString] |
| 22:09:12 | <tomsmeding> | so append is O(number of chunks in the left argument) |
| 22:09:41 | <euouae> | I don't understand what you mean by "see ..." |
| 22:09:58 | <tomsmeding> | I mean: you should think of a lazy bytestring as a list of strict bytestrings |
| 22:10:02 | <tomsmeding> | because actually, that's what it is |
| 22:10:39 | <tomsmeding> | `append` is almost literally `append xs ys = foldr (:) ys xs` |
| 22:11:10 | <tomsmeding> | the only difference is that it's not a normal list but a strict whose elements are strict, so it's `foldrChunks Chunk ys xs` |
| 22:11:19 | <tomsmeding> | https://hackage-content.haskell.org/package/bytestring-0.12.2.0/docs/src/Data.ByteString.Lazy.Internal.html#append |
| 22:12:07 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 22:12:17 | <EvanR> | a strict whose elements are strict? |
| 22:12:49 | <tomsmeding> | https://hackage-content.haskell.org/package/bytestring-0.12.2.0/docs/src/Data.ByteString.Lazy.Internal.html#ByteString |
| 22:13:05 | <tomsmeding> | the values of the list (the strict bytestrings) are strict; the tail pointer is lazy |
| 22:13:09 | <tomsmeding> | it's just an optimisation |
| 22:14:09 | <tomsmeding> | oh |
| 22:14:14 | <tomsmeding> | a *list whose elements are strict |
| 22:14:28 | <tomsmeding> | it's past midnight here, I should sleep |
| 22:14:29 | × | AlexNoo quits (~AlexNoo@178.34.162.255) (Ping timeout: 260 seconds) |
| 22:14:41 | × | AlexZenon quits (~alzenon@178.34.162.255) (Ping timeout: 272 seconds) |
| 22:14:41 | <EvanR> | need an english compiler |
| 22:14:47 | → | AlexNoo joins (~AlexNoo@178.34.162.255) |
| 22:15:06 | tomsmeding | . o O ( LLM ) |
| 22:15:23 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 22:15:30 | <euouae> | one last question |
| 22:15:37 | → | jmcantrell joins (~weechat@user/jmcantrell) |
| 22:15:48 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 22:16:17 | <euouae> | I do `fileContents <- traverse BL.readFile args` like I said. If I change it to appending lazy bytestrings, does that mean I will have all those file descriptors open at the same time? |
| 22:16:29 | <euouae> | because I think this line only opens files as necessary |
| 22:17:08 | <tomsmeding> | BL.readFile will immediately open the file, and read from the thing lazily |
| 22:17:17 | <euouae> | but I'm not sure what `mconcat (map BL.readFile args)` would do |
| 22:17:18 | <tomsmeding> | so the code you currently have already opens everything immediately |
| 22:17:38 | <euouae> | Oh really? Can't that be delayed until the thunk is evaluated? |
| 22:17:40 | → | AlexNoo_ joins (~AlexNoo@178.34.162.255) |
| 22:17:41 | <tomsmeding> | whether you concat those things into a big lazy bytestring does not change this |
| 22:17:54 | <tomsmeding> | well, whether it can or not, it isn't |
| 22:18:01 | <tomsmeding> | https://hackage-content.haskell.org/package/bytestring-0.12.2.0/docs/src/Data.ByteString.Lazy.html#readFile |
| 22:18:11 | <euouae> | fair enough. is there a way I can protect the thunk? |
| 22:18:14 | <tomsmeding> | where hGetContents does lazy IO |
| 22:18:20 | <EvanR> | the readFile IO action "completes" immediately, moving on to the next one |
| 22:18:41 | <tomsmeding> | `let fileContents = map (unsafeInterleaveIO . BL.readFile) args` :p |
| 22:18:56 | <euouae> | I don't get what you're pointing at in that source code of readFile |
| 22:19:01 | <tomsmeding> | and hope that the stars align and no undefined behaviour occurs |
| 22:19:18 | <tomsmeding> | euouae: what you can see from the source is that `readFile f` will immediately execute `openBinaryFile` |
| 22:19:18 | <euouae> | I thought all code is lazy by default, why would openBinaryFile be immediately evaluated if I haven't yet read from that file? |
| 22:19:24 | <tomsmeding> | because it's an IO action |
| 22:19:28 | <EvanR> | if you want to do something between opening all the files you'd have to say so |
| 22:19:32 | <tomsmeding> | IO actions happen in the order they are written |
| 22:19:36 | × | AlexNoo quits (~AlexNoo@178.34.162.255) (Ping timeout: 265 seconds) |
| 22:19:43 | <euouae> | ah yeah. that makes sense. |
| 22:19:44 | <euouae> | thank you |
| 22:19:51 | <tomsmeding> | % do putStrLn "hi" ; putStrLn "bye" |
| 22:19:51 | <yahb2> | hi ; bye |
| 22:20:01 | <tomsmeding> | I'm not using the () from those putStrLns, but they still get executed |
| 22:20:11 | <euouae> | right I get it |
| 22:20:21 | <euouae> | It's hard to reason about these things |
| 22:20:23 | <tomsmeding> | the lazy IO done by hGetContents is black magic using unsafeInterleaveIO |
| 22:20:44 | <tomsmeding> | (if you click through twice to hGetContentsN you can see the unsafeInterleaveIO) |
| 22:21:10 | <tomsmeding> | lazy IO is hard to reason about |
| 22:21:11 | <euouae> | thank you, I appreciate it. |
| 22:21:22 | <tomsmeding> | it's why people generally discourage it :p |
| 22:21:30 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 22:21:34 | <tomsmeding> | lazy IO also makes it very hard to handle errors while reading the file |
| 22:21:52 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 22:22:00 | <EvanR> | there was a folklore belief that "unsafeInterleaveIO isn't actually unsafe", still not sure what that was about |
| 22:22:15 | <tomsmeding> | it's worse than unsafePerformIO, right? |
| 22:22:27 | <tomsmeding> | how can it suddenly be not-unsafe then |
| 22:22:29 | <EvanR> | it's supposed to be not worse |
| 22:22:55 | <tomsmeding> | maybe it's not worse from a "risking segfaults" point of view |
| 22:23:00 | <EvanR> | unsafePerformIO is bad and unsafeCoerce is the worst |
| 22:23:05 | <tomsmeding> | there are other very real reasons why it's worse |
| 22:23:16 | <tomsmeding> | the standard argument against lazy IO is one such |
| 22:23:25 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 22:23:30 | <EvanR> | unsafeInterleaveIO is a special case of unsafePerformIO |
| 22:23:32 | <tomsmeding> | at least with unsafePerformIO, the IO happens all at once |
| 22:23:39 | <EvanR> | you could do the same thing with unsafePerformIO |
| 22:23:42 | <tomsmeding> | with unsafeInterleaveIO, the IO will happen... at some point |
| 22:23:43 | <EvanR> | no? |
| 22:23:51 | <EvanR> | unsafePerformIO happens whenever |
| 22:23:58 | <tomsmeding> | it happens when the thunk is demanded |
| 22:24:05 | <tomsmeding> | all of it happens when the thunk is demanded |
| 22:24:08 | <EvanR> | same as unsafeInterleaveIO |
| 22:24:10 | → | AlexZenon joins (~alzenon@178.34.162.255) |
| 22:24:27 | <EvanR> | the IO action happens |
| 22:24:32 | <EvanR> | not sure what part of it means |
| 22:24:48 | <EvanR> | the difference is unsafeInterleaveIO has to be initiated in IO |
| 22:24:49 | <tomsmeding> | oh |
| 22:25:13 | <tomsmeding> | okay good points, I don't know |
| 22:25:28 | <tomsmeding> | I had the types in my mind incorrectly |
| 22:25:28 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 22:25:52 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 22:25:54 | tomsmeding | now wonders what the difference is between `unsafeInterleaveIO m` and `pure (unsafePerformIO m)` |
| 22:26:14 | <tomsmeding> | it's not implemented like that, so there's probably a difference |
| 22:26:18 | <EvanR> | that's getting into the weeds now |
| 22:26:48 | <tomsmeding> | it's relevant to the "which is more unsafe" question though |
| 22:26:56 | <tomsmeding> | but it's too late for me to think about this |
| 22:27:08 | <tomsmeding> | I shall go sleep |
| 22:27:19 | <probie> | You can use `unsafeCoerce` safely |
| 22:27:36 | <tomsmeding> | it is indeed possible |
| 22:27:37 | <EvanR> | if you have IKnowWhatImDoing, then it nullifies the unsafe xD |
| 22:27:42 | <EvanR> | which begs the question |
| 22:28:13 | <probie> | safeUnsafeCoerce :: Coercible a b => a -> b; safeUnsafeCoerce = unsafeCoerce |
| 22:28:28 | <EvanR> | :t coerce |
| 22:28:28 | <lambdabot> | error: |
| 22:28:29 | <lambdabot> | • Variable not in scope: coerce |
| 22:28:29 | <lambdabot> | • Perhaps you meant ‘coerced’ (imported from Control.Lens) |
| 22:28:34 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 22:28:37 | <probie> | if you can safely use `coerce` on it, you can safely use `unsafeCoerce` on it :p |
| 22:30:07 | <probie> | IKnowWhatImDoing could suddenly become IDontKnowWhatImDoing between compiler versions |
| 22:31:52 | → | ljdarj1 joins (~Thunderbi@user/ljdarj) |
| 22:32:18 | <EvanR> | yeah it is definitely not a concrete datatype with an expression |
| 22:32:40 | <EvanR> | at best it's an invisible proof |
| 22:33:09 | <EvanR> | the assumptions exit slowly over time |
| 22:33:50 | <probie> | which is why I wish there were levels of "unsafe"-ness. e.g. `Data.Vector.unsafeIndex` is a very different beast than `unsafePerformIO` or `unsafeCoerce` |
| 22:34:55 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds) |
| 22:34:55 | ljdarj1 | is now known as ljdarj |
| 22:37:28 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 22:37:49 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 22:39:00 | <EvanR> | ok unsafeInterleaveIO can be construed as an action which spawns a thread, delays an indeterminate time, then performs the IO and writes the result to an IVar, which is what the original action returned. And "coincidentally" the time delay corresponds to how long it took to look at the value |
| 22:39:11 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 22:39:20 | <EvanR> | which is safer than unsafePerformIO? |
| 22:40:20 | <EvanR> | sometimes I get it mixed up with readFile, which has some questionable behavior with errors, but that's not unsafeInterleaveIO's fault |
| 22:42:41 | <euouae> | what is the questionable behavior |
| 22:44:20 | × | j1n37 quits (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 22:44:26 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
| 22:44:55 | <EvanR> | an IO error will be discarded and the list just ends |
| 22:45:34 | <euouae> | It doesn't throw? |
| 22:45:39 | <EvanR> | not in that case |
| 22:45:55 | <euouae> | okay, thank you. I guess I have to manually do it? what functions do I use? |
| 22:46:02 | <EvanR> | like I said imagine the action happening in some thread somewhere |
| 22:46:17 | <EvanR> | throwing an error in your thread consuming the list would be weird |
| 22:46:27 | <EvanR> | IOError in pure code |
| 22:46:47 | <euouae> | I didn't think of that |
| 22:46:58 | <euouae> | Perhaps I should use rio? I guess I always have it in the back of my head |
| 22:47:14 | <EvanR> | I'm not sure, what are you asking |
| 22:47:21 | <EvanR> | how to handle I/O errors? |
| 22:47:32 | → | j1n37 joins (~j1n37@user/j1n37) |
| 22:47:45 | <euouae> | I want to control errors because I need to give proper error messages |
| 22:47:53 | <euouae> | I can't use an API that sneakily hides them |
| 22:48:04 | <EvanR> | stream processing libraries let you react to errors while incrementally reading the file |
| 22:48:10 | <euouae> | like conduit? |
| 22:48:19 | <EvanR> | like conduit |
| 22:48:26 | <euouae> | will they also let me use a single large bytestring? |
| 22:48:32 | <euouae> | a large lazy bytestirng |
| 22:49:01 | <EvanR> | the way you're using the bytstring, I don't think so, it would replace the role of the lazy bytestring for this purpose |
| 22:49:15 | ← | volsand parts (~volsand@2804:1b1:1080:3f49:dff2:9a47:8661:7944) (Até logo) |
| 22:49:37 | <EvanR> | it would be a big jump in complexity so make sure it's worth it |
| 22:50:25 | → | Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
| 22:50:33 | × | tromp quits (~textual@2001:1c00:3487:1b00:29cc:e961:ab7b:113b) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:50:43 | <euouae> | readFile ends up in IO String. What do you mean that it can't throw IOError there? |
| 22:50:49 | <euouae> | (or IO ByteString etc |
| 22:52:22 | <int-e> | you can't report errors before they happen and readFile reads the file contents on demand |
| 22:52:51 | <euouae> | oh yeah right |
| 22:53:04 | <euouae> | I keep forgetting |
| 22:53:26 | <EvanR> | readFile completes immediately |
| 22:53:38 | <EvanR> | an I/O error might happen later |
| 22:54:58 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 22:55:37 | → | tolgo joins (~Thunderbi@199.115.144.130) |
| 22:56:29 | × | Square2 quits (~Square@user/square) (Ping timeout: 260 seconds) |
| 22:57:04 | × | Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 245 seconds) |
| 22:57:47 | <euouae> | unless I was told all these things I don't think I'd be thinking them on my own ;P well anyway I might look into conduit after I write it with readFile to begin with |
| 23:00:12 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 23:01:11 | AlexNoo_ | is now known as AlexNoo |
| 23:04:02 | <euouae> | thanks again |
| 23:04:03 | × | euouae quits (~euouae@user/euouae) () |
| 23:07:34 | × | tv quits (~tv@user/tv) (Ping timeout: 260 seconds) |
| 23:10:45 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 23:11:35 | → | simon1 joins (~simon@209-15-185-101.resi.cgocable.ca) |
| 23:11:49 | → | preflex_ joins (~preflex@user/mauke/bot/preflex) |
| 23:15:29 | × | preflex quits (~preflex@user/mauke/bot/preflex) (Ping timeout: 248 seconds) |
| 23:15:33 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 23:15:43 | preflex_ | is now known as preflex |
| 23:17:57 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 23:19:13 | → | Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
| 23:22:07 | × | j1n37 quits (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 23:26:33 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 23:28:46 | → | j1n37 joins (~j1n37@user/j1n37) |
| 23:28:47 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 23:29:09 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 23:30:49 | × | Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
| 23:31:20 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 23:35:44 | × | tolgo quits (~Thunderbi@199.115.144.130) (Ping timeout: 252 seconds) |
| 23:35:45 | × | Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 260 seconds) |
| 23:36:10 | → | tolgo joins (~Thunderbi@199.115.144.130) |
| 23:36:30 | × | tolgo quits (~Thunderbi@199.115.144.130) (Client Quit) |
| 23:42:21 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 23:47:34 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 23:49:47 | × | sabathan2 quits (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection) |
| 23:50:11 | → | sabathan2 joins (~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) |
| 23:58:08 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 23:58:25 | × | j1n37 quits (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 23:59:45 | × | simon1 quits (~simon@209-15-185-101.resi.cgocable.ca) (Ping timeout: 248 seconds) |
All times are in UTC on 2025-05-26.