2024-10-26 00:00:33 +0200 | <Zer000> | Yeah it still crashes instead of catching my exception. I really don't know what I'm doing when it comes to this laziness stuff but I'll try to think where there could be a thunk |
2024-10-26 00:01:31 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
2024-10-26 00:01:34 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 00:04:35 +0200 | <geekosaur> | it's a list, there's a thunk at every index 🙂 |
2024-10-26 00:04:58 +0200 | vglfr | (~vglfr@2607:fb90:ea85:c41e:ad3:f757:9a54:48e7) (Read error: Connection reset by peer) |
2024-10-26 00:05:24 +0200 | <tomsmeding> | Zer000: evaluating e.g. a pair to WHNF does not evaluate the components of the pair to WHNF |
2024-10-26 00:05:36 +0200 | <tomsmeding> | make sure you really evaluate all you need to evaluate |
2024-10-26 00:05:41 +0200 | <Zer000> | So I gotta go deeper? |
2024-10-26 00:05:44 +0200 | <Zer000> | OK |
2024-10-26 00:05:57 +0200 | <geekosaur> | Control.Deepseq.rnf in extreme cases |
2024-10-26 00:06:10 +0200 | <geekosaur> | (that's the right module I think?) |
2024-10-26 00:06:17 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
2024-10-26 00:06:41 +0200 | <geekosaur> | just make sure it doesn't have any bottoms or cycles |
2024-10-26 00:06:47 +0200 | <mauke> | did you look at the code? |
2024-10-26 00:06:52 +0200 | <mauke> | the list is [1, 2, 3] |
2024-10-26 00:07:28 +0200 | <Zer000> | mauke, no but that example code DOES work, my actual code does not |
2024-10-26 00:07:34 +0200 | <Zer000> | and the list is built using other pure functions |
2024-10-26 00:08:11 +0200 | <Zer000> | I only posted that snippet to say that tryAny from safe-exceptions can catch that negative index exception |
2024-10-26 00:08:15 +0200 | <mauke> | oh, sorry. I confused myself |
2024-10-26 00:08:33 +0200 | <mauke> | btw, there is displayException |
2024-10-26 00:09:25 +0200 | <Zer000> | how do you even use rnf geekosaur? It results in () always |
2024-10-26 00:09:29 +0200 | <mauke> | which is mostly unrelated, but can be used instead of show |
2024-10-26 00:09:40 +0200 | <Zer000> | oh cool |
2024-10-26 00:09:59 +0200 | <mauke> | evaluate (rnf x) |
2024-10-26 00:11:14 +0200 | <monochrom> | it results in exception if there is an exception. |
2024-10-26 00:11:29 +0200 | <geekosaur> | or ``rnf x `seq` y`` |
2024-10-26 00:13:25 +0200 | <mauke> | > [1, 2, 3, error "an exception has occurred", 5] `seq` "all good" |
2024-10-26 00:13:26 +0200 | <lambdabot> | "all good" |
2024-10-26 00:13:31 +0200 | <mauke> | > rnf [1, 2, 3, error "an exception has occurred", 5] `seq` "all good" |
2024-10-26 00:13:32 +0200 | <lambdabot> | error: Variable not in scope: rnf :: [a1] -> a0 |
2024-10-26 00:13:36 +0200 | <mauke> | :-( |
2024-10-26 00:13:45 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 246 seconds) |
2024-10-26 00:13:56 +0200 | <mauke> | @let import Control.DeepSeq |
2024-10-26 00:13:57 +0200 | <lambdabot> | Defined. |
2024-10-26 00:13:59 +0200 | <mauke> | > rnf [1, 2, 3, error "an exception has occurred", 5] `seq` "all good" |
2024-10-26 00:14:00 +0200 | <lambdabot> | "*Exception: an exception has occurred |
2024-10-26 00:15:09 +0200 | <Zer000> | I see, so you just use it on a separate line in an IO context to see if everything is ok |
2024-10-26 00:15:24 +0200 | <Zer000> | thanks! |
2024-10-26 00:17:58 +0200 | <geekosaur> | it should work even if x and y are the same thing (in my example) |
2024-10-26 00:18:02 +0200 | vglfr | (~vglfr@c-73-250-25-113.hsd1.md.comcast.net) vglfr |
2024-10-26 00:18:15 +0200 | <geekosaur> | whereas ``x `seq` x`` is a non-sequitur |
2024-10-26 00:18:43 +0200 | <geekosaur> | ("force `x` to WHNF when `x` is forced to WHNF") |
2024-10-26 00:19:07 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 00:19:34 +0200 | <monochrom> | I'll finish when I finish. :) |
2024-10-26 00:22:10 +0200 | <Zer000> | I had a function that was defined in point-free-style and when I made everything there explicit (and extra bangs just in case) it seemed to work. |
2024-10-26 00:26:00 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-10-26 00:33:09 +0200 | supercode | (~supercode@user/supercode) (Quit: Client closed) |
2024-10-26 00:34:07 +0200 | pavonia | (~user@user/siracusa) siracusa |
2024-10-26 00:35:57 +0200 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
2024-10-26 00:37:08 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 00:43:40 +0200 | sawilagar | (~sawilagar@user/sawilagar) (Remote host closed the connection) |
2024-10-26 00:44:14 +0200 | sawilagar | (~sawilagar@user/sawilagar) sawilagar |
2024-10-26 00:45:14 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
2024-10-26 00:45:42 +0200 | Ranhir | (~Ranhir@157.97.53.139) (Read error: Connection reset by peer) |
2024-10-26 00:48:16 +0200 | Everything | (~Everythin@178-133-29-214.mobile.vf-ua.net) (Quit: leaving) |
2024-10-26 00:48:48 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) Tuplanolla |
2024-10-26 00:55:17 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2024-10-26 00:55:24 +0200 | raym | (~ray@user/raym) (Ping timeout: 246 seconds) |
2024-10-26 00:56:13 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 01:00:39 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-10-26 01:02:05 +0200 | Ranhir | (~Ranhir@157.97.53.139) Ranhir |
2024-10-26 01:02:28 +0200 | raym | (~ray@user/raym) raym |
2024-10-26 01:11:35 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 01:18:10 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-10-26 01:18:17 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
2024-10-26 01:19:15 +0200 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds) |
2024-10-26 01:29:37 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 01:30:30 +0200 | Shires | (~Shires@user/shires) Shires |
2024-10-26 01:33:55 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-26 01:42:09 +0200 | ljdarj1 | (~Thunderbi@user/ljdarj) ljdarj |
2024-10-26 01:42:09 +0200 | acidjnk_new | (~acidjnk@p200300d6e72cfb03d1a45ef603fb56e9.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2024-10-26 01:44:59 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds) |
2024-10-26 01:44:59 +0200 | ljdarj1 | ljdarj |
2024-10-26 01:45:00 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 01:49:20 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-26 01:53:21 +0200 | Shires | (~Shires@user/shires) () |
2024-10-26 02:00:23 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 02:00:39 +0200 | sawilagar | (~sawilagar@user/sawilagar) (Ping timeout: 265 seconds) |
2024-10-26 02:03:09 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2024-10-26 02:05:00 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-10-26 02:05:03 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
2024-10-26 02:06:24 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
2024-10-26 02:10:24 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 272 seconds) |
2024-10-26 02:15:45 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 02:20:20 +0200 | hgolden__ | (~hgolden@146.70.173.165) hgolden |
2024-10-26 02:20:36 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-26 02:22:53 +0200 | hgolden_ | (~hgolden@169.150.203.10) (Ping timeout: 245 seconds) |
2024-10-26 02:24:22 +0200 | Digit | (~user@user/digit) (Read error: Connection reset by peer) |
2024-10-26 02:26:03 +0200 | Digit | (~user@user/digit) Digit |
2024-10-26 02:27:05 +0200 | synchromesh | (~john@2406:5a00:24b4:a600:cdca:aa06:55e4:f4ac) synchromesh |
2024-10-26 02:30:04 +0200 | synchrom1 | (~john@2406:5a00:24b4:a600:cdca:aa06:55e4:f4ac) synchromesh |
2024-10-26 02:30:24 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds) |
2024-10-26 02:31:07 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 02:32:34 +0200 | synchromesh | (~john@2406:5a00:24b4:a600:cdca:aa06:55e4:f4ac) (Ping timeout: 260 seconds) |
2024-10-26 02:32:40 +0200 | synchrom2 | (~john@2406:5a00:24b4:a600:cdca:aa06:55e4:f4ac) synchromesh |
2024-10-26 02:33:29 +0200 | tabemann_ | tabemann |
2024-10-26 02:35:31 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-26 02:35:31 +0200 | synchrom1 | (~john@2406:5a00:24b4:a600:cdca:aa06:55e4:f4ac) (Ping timeout: 252 seconds) |
2024-10-26 02:38:31 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2024-10-26 02:38:36 +0200 | gmg | (~user@user/gehmehgeh) gehmehgeh |
2024-10-26 02:45:18 +0200 | synchromesh | (~john@2406:5a00:24b4:a600:cdca:aa06:55e4:f4ac) synchromesh |
2024-10-26 02:46:30 +0200 | synchrom1 | (~john@2406:5a00:24b4:a600:cdca:aa06:55e4:f4ac) synchromesh |
2024-10-26 02:46:31 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 02:48:19 +0200 | synchrom2 | (~john@2406:5a00:24b4:a600:cdca:aa06:55e4:f4ac) (Ping timeout: 260 seconds) |
2024-10-26 02:49:34 +0200 | synchromesh | (~john@2406:5a00:24b4:a600:cdca:aa06:55e4:f4ac) (Ping timeout: 244 seconds) |
2024-10-26 02:52:55 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds) |
2024-10-26 03:00:54 +0200 | habib | (~habib@146.70.119.186) habib |
2024-10-26 03:01:03 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 246 seconds) |
2024-10-26 03:02:20 +0200 | <habib> | hey, does anyone know if it's possible to pass key values with spaces in to hadrian when building ghc? no matter how i quote or escape i can't seem to do it, and i've even been reading the hadrian source code, and it seems it's impossible; please tell me i'm missing something, because i could really do with this to fix a problem with a cross-compile build on openbsd |
2024-10-26 03:03:34 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 03:08:03 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-10-26 03:18:55 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 03:23:47 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
2024-10-26 03:34:21 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 03:38:39 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
2024-10-26 03:49:42 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 03:56:51 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-26 03:58:24 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
2024-10-26 04:07:45 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 04:12:43 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds) |
2024-10-26 04:14:03 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 04:22:13 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-26 04:25:14 +0200 | weary-traveler | (~user@user/user363627) user363627 |
2024-10-26 04:30:21 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds) |
2024-10-26 04:30:32 +0200 | spew | (~spew@155.133.15.67) (Quit: spew) |
2024-10-26 04:33:19 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 04:36:53 +0200 | td_ | (~td@i5387090F.versanet.de) (Ping timeout: 252 seconds) |
2024-10-26 04:37:33 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
2024-10-26 04:38:53 +0200 | td_ | (~td@i5387093A.versanet.de) td_ |
2024-10-26 04:39:00 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) stiell |
2024-10-26 04:46:41 +0200 | stiell | (~stiell@gateway/tor-sasl/stiell) stiell |
2024-10-26 04:48:42 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 04:50:46 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds) |
2024-10-26 04:53:09 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
2024-10-26 04:59:15 +0200 | xff0x | (~xff0x@2405:6580:b080:900:c8b8:61af:1cb3:d380) (Ping timeout: 244 seconds) |
2024-10-26 05:00:49 +0200 | xff0x | (~xff0x@2405:6580:b080:900:c8b8:61af:1cb3:d380) |
2024-10-26 05:04:04 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 05:04:24 +0200 | td_ | (~td@i5387093A.versanet.de) (Ping timeout: 252 seconds) |
2024-10-26 05:06:27 +0200 | td_ | (~td@i53870937.versanet.de) td_ |
2024-10-26 05:08:25 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-26 05:19:26 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 05:24:07 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
2024-10-26 05:31:55 +0200 | gorignak | (~gorignak@user/gorignak) gorignak |
2024-10-26 05:34:49 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 05:39:33 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
2024-10-26 05:50:14 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 05:53:58 +0200 | Zer000 | (~02@64.137.132.10) (Quit: Leaving) |
2024-10-26 05:57:12 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-26 05:57:38 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2024-10-26 06:10:53 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 06:18:01 +0200 | Guest15 | (~Guest15@138.199.60.25) |
2024-10-26 06:18:36 +0200 | Guest15 | (~Guest15@138.199.60.25) (Client Quit) |
2024-10-26 06:19:08 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
2024-10-26 06:30:10 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 06:32:34 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2024-10-26 06:34:49 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
2024-10-26 06:45:32 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 06:50:00 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-26 06:56:37 +0200 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
2024-10-26 07:02:11 +0200 | poscat0x04 | (~poscat@user/poscat) (Quit: Bye) |
2024-10-26 07:02:47 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 07:07:33 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
2024-10-26 07:10:21 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 07:13:30 +0200 | arahael | (~arahael@user/arahael) (Quit: Reconnecting) |
2024-10-26 07:13:42 +0200 | arahael | (~arahael@user/arahael) arahael |
2024-10-26 07:14:56 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-26 07:23:40 +0200 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
2024-10-26 07:27:53 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 245 seconds) |
2024-10-26 07:30:23 +0200 | alioguzhan | (~Thunderbi@78.173.69.170) (Ping timeout: 245 seconds) |
2024-10-26 07:30:29 +0200 | arahael | (~arahael@user/arahael) (Ping timeout: 248 seconds) |
2024-10-26 07:31:10 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 07:35:54 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
2024-10-26 07:38:53 +0200 | <kqr> | Leary, Thanks. That is too complicated. I'm working on a library that will be interfacing with a main project backed by Persistent. However, I want the library to be relatively agnostic of where it is plugged in, i.e. it should not depend on the main project. I was imagining a newtype wrapper around something generic like a ByteString to contain references to entities in the main project, to avoid |
2024-10-26 07:38:55 +0200 | <kqr> | what I fear would become complicated generics if I just keep that type unconstrained. I want relatively new Haskell programmers to be able to work on the library in a pinch. |
2024-10-26 07:46:33 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 07:48:35 +0200 | arahael | (~arahael@user/arahael) arahael |
2024-10-26 07:53:21 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-26 07:58:43 +0200 | poscat | (~poscat@user/poscat) poscat |
2024-10-26 08:00:48 +0200 | rosco | (~rosco@60.53.7.10) rosco |
2024-10-26 08:06:59 +0200 | rvalue | (~rvalue@user/rvalue) rvalue |
2024-10-26 08:09:27 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 08:12:26 +0200 | poscat0x04 | (~poscat@user/poscat) poscat |
2024-10-26 08:13:09 +0200 | nitrix | (~nitrix@user/meow/nitrix) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-10-26 08:13:19 +0200 | poscat | (~poscat@user/poscat) (Ping timeout: 264 seconds) |
2024-10-26 08:13:58 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-26 08:15:21 +0200 | nitrix | (~nitrix@user/meow/nitrix) nitrix |
2024-10-26 08:15:38 +0200 | alioguzhan | (~Thunderbi@78.173.95.204) |
2024-10-26 08:17:03 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 08:21:24 +0200 | harveypwca | (~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288) HarveyPwca |
2024-10-26 08:21:41 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
2024-10-26 08:30:46 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-10-26 08:32:25 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 08:37:04 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-26 08:47:47 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 08:52:06 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-26 08:55:56 +0200 | Miroboru | (~myrvoll@178-164-114.82.3p.ntebredband.no) (Ping timeout: 255 seconds) |
2024-10-26 08:57:27 +0200 | sawilagar | (~sawilagar@user/sawilagar) sawilagar |
2024-10-26 09:00:00 +0200 | caconym | (~caconym@user/caconym) (Quit: bye) |
2024-10-26 09:00:14 +0200 | JamesMowery4 | (~JamesMowe@ip98-167-207-182.ph.ph.cox.net) (Quit: Goodbye) |
2024-10-26 09:00:31 +0200 | JamesMowery43 | (~JamesMowe@ip98-167-207-182.ph.ph.cox.net) JamesMowery |
2024-10-26 09:00:37 +0200 | caconym | (~caconym@user/caconym) caconym |
2024-10-26 09:02:13 +0200 | Square | (~Square@user/square) Square |
2024-10-26 09:03:10 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 09:07:30 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-26 09:13:14 +0200 | acidjnk_new | (~acidjnk@p200300d6e72cfb93b5372362da7684c9.dip0.t-ipconnect.de) acidjnk |
2024-10-26 09:18:02 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 09:21:22 +0200 | AlexNoo | (~AlexNoo@178.34.162.25) (Read error: Connection reset by peer) |
2024-10-26 09:22:05 +0200 | AlexNoo | (~AlexNoo@178.34.162.25) |
2024-10-26 09:22:32 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-26 09:25:36 +0200 | flukiluke | (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Remote host closed the connection) |
2024-10-26 09:26:32 +0200 | flukiluke | (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) flukiluke |
2024-10-26 09:28:01 +0200 | harveypwca | (~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288) (Quit: Leaving) |
2024-10-26 09:33:25 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 09:35:48 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-10-26 09:36:01 +0200 | euphores | (~SASL_euph@user/euphores) (Read error: Connection reset by peer) |
2024-10-26 09:37:00 +0200 | euphores | (~SASL_euph@user/euphores) euphores |
2024-10-26 09:40:07 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-26 09:40:24 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds) |
2024-10-26 09:43:34 +0200 | ash3en | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en |
2024-10-26 09:44:45 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
2024-10-26 09:53:47 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 09:54:01 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2024-10-26 09:58:06 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-26 10:02:37 +0200 | Miroboru | (~myrvoll@178-164-114.82.3p.ntebredband.no) Miroboru |
2024-10-26 10:02:37 +0200 | Pixi` | Pixi |
2024-10-26 10:13:36 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 10:17:54 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-26 10:19:08 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 10:25:54 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-10-26 10:35:00 +0200 | ubert | (~Thunderbi@77.119.173.172.wireless.dyn.drei.com) (Ping timeout: 246 seconds) |
2024-10-26 10:36:09 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) Tuplanolla |
2024-10-26 10:37:06 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 10:40:20 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) wootehfoot |
2024-10-26 10:41:20 +0200 | billchenchina- | (~billchenc@p54090-ipngnfx01osakakita.osaka.ocn.ne.jp) billchenchina |
2024-10-26 10:41:24 +0200 | billchenchina- | (~billchenc@p54090-ipngnfx01osakakita.osaka.ocn.ne.jp) (Remote host closed the connection) |
2024-10-26 10:41:59 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
2024-10-26 10:44:08 +0200 | rosco | (~rosco@60.53.7.10) (Quit: Lost terminal) |
2024-10-26 10:52:02 +0200 | Guest38 | (~Guest38@58.182.144.85) |
2024-10-26 10:52:03 +0200 | sawilagar | (~sawilagar@user/sawilagar) (Remote host closed the connection) |
2024-10-26 10:52:18 +0200 | sawilagar | (~sawilagar@user/sawilagar) sawilagar |
2024-10-26 10:52:27 +0200 | billchenchina- | (~billchenc@p54090-ipngnfx01osakakita.osaka.ocn.ne.jp) billchenchina |
2024-10-26 10:52:29 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 10:56:42 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-10-26 11:04:15 +0200 | <haskellbridge> | <tux314159> lambdabot> 1+2 |
2024-10-26 11:04:29 +0200 | <Rembane> | > 1 + 2 |
2024-10-26 11:04:30 +0200 | <lambdabot> | 3 |
2024-10-26 11:04:36 +0200 | <Rembane> | See if that works better |
2024-10-26 11:04:36 +0200 | <haskellbridge> | <tux314159> ahh |
2024-10-26 11:04:54 +0200 | <haskellbridge> | <tux314159> > Just "hi" |
2024-10-26 11:04:56 +0200 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
2024-10-26 11:05:08 +0200 | <haskellbridge> | <tux314159> > Just 2 |
2024-10-26 11:05:30 +0200 | <haskellbridge> | <tux314159> > 1 + 2 |
2024-10-26 11:06:05 +0200 | <haskellbridge> | <tux314159> hmm maybe it doesn't work through matrix |
2024-10-26 11:06:54 +0200 | <Rembane> | That might be the case, because the bridge adds your nick before > and that makes everything confusing for the bot |
2024-10-26 11:07:05 +0200 | ash3en1 | (~Thunderbi@146.70.124.222) ash3en |
2024-10-26 11:07:17 +0200 | ash3en | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 265 seconds) |
2024-10-26 11:07:18 +0200 | ash3en1 | ash3en |
2024-10-26 11:07:21 +0200 | <haskellbridge> | <tux314159> makes sense ha |
2024-10-26 11:07:33 +0200 | <haskellbridge> | <tux314159> btw is this more active than the matrix? |
2024-10-26 11:07:50 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 11:08:09 +0200 | Guest38 | (~Guest38@58.182.144.85) (Quit: Client closed) |
2024-10-26 11:08:46 +0200 | <tomsmeding> | tux314159: try putting the lambdabot command on the second line of your message |
2024-10-26 11:08:56 +0200 | <Rembane> | I don't know since I'm not in the matrix, but this is a reasonably active IRC channel. |
2024-10-26 11:08:58 +0200 | <haskellbridge> | <tux314159> > 1 + 2 |
2024-10-26 11:09:04 +0200 | <tomsmeding> | the first line needs to be non-empty :) |
2024-10-26 11:09:21 +0200 | <haskellbridge> | <tux314159> x |
2024-10-26 11:09:21 +0200 | <haskellbridge> | > 1 + 2 |
2024-10-26 11:09:23 +0200 | <lambdabot> | 3 |
2024-10-26 11:09:37 +0200 | <haskellbridge> | <tux314159> oh wow thanks xD |
2024-10-26 11:10:26 +0200 | <tomsmeding> | tux314159: for an idea of activity, there are logs https://ircbrowse.tomsmeding.com/browse/lchaskell |
2024-10-26 11:10:41 +0200 | <haskellbridge> | <tux314159> think I'll ask here instead then - |
2024-10-26 11:10:41 +0200 | <haskellbridge> | Hmm is there any reason the MonadFail instance for ExceptT has `fail = ExceptT . fail`? Seems a bit odd, since the whole point of exceptT is to handle these, not bubble them up to the next monad |
2024-10-26 11:11:04 +0200 | <tomsmeding> | ExceptT doesn't necessarily have String as the first component |
2024-10-26 11:11:16 +0200 | <tomsmeding> | similarly Either doesn't have the MonadFail instance you might expect |
2024-10-26 11:11:31 +0200 | <tomsmeding> | (indeed, it has none) |
2024-10-26 11:12:24 +0200 | <tomsmeding> | I think for Either the motivation is "there are arguments for an against a MonadFail instance for `Either String a`, so in dispute, let's do nothing" |
2024-10-26 11:12:29 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
2024-10-26 11:12:56 +0200 | <Rembane> | \o/ Orphan instances ftw! \o/ |
2024-10-26 11:12:57 +0200 | <tomsmeding> | for ExceptT, perhaps the reasoning is "ExceptT is for explicit exceptions, and the fail from MonadFail is called also in perhaps unintended situations like partial pattern matches" |
2024-10-26 11:13:26 +0200 | <haskellbridge> | <tux314159> actually that's precisely my usecase xD |
2024-10-26 11:13:27 +0200 | <Rembane> | MonadFail is very good for making do-notation more succinct when only the happy flow is cared about |
2024-10-26 11:13:29 +0200 | <tomsmeding> | % :t \m -> do { Nothing <- m; return "ok" } |
2024-10-26 11:13:29 +0200 | <yahb2> | \m -> do { Nothing <- m; return "ok" } ; :: MonadFail m => m (Maybe a) -> m String |
2024-10-26 11:13:51 +0200 | <haskellbridge> | <tux314159> instance Monad m => MonadFail (ExceptT String m) where |
2024-10-26 11:13:51 +0200 | <haskellbridge> | ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/gwoFNkeSYhMaeyAOqJyRqQGR/gklQIOtpBMU (3 lines) |
2024-10-26 11:14:08 +0200 | <haskellbridge> | <tux314159> but it's more specific so... can I just enable OverlappingInstances xD |
2024-10-26 11:14:11 +0200 | <tomsmeding> | make your own newtype around ExceptT? |
2024-10-26 11:14:14 +0200 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
2024-10-26 11:14:29 +0200 | <tomsmeding> | making newtypes around the monads from transformers/mtl is what people generally recommend anyway |
2024-10-26 11:14:48 +0200 | <haskellbridge> | <tux314159> oh I tried that but it wants me to go ahead and define functor/appl/monad for my wrapper and it seems super high-effort for something os simple |
2024-10-26 11:14:50 +0200 | <tomsmeding> | i.e. write your own newtype that internally uses the convenience of mtl stuff, and then write your app in terms of that newtype |
2024-10-26 11:14:55 +0200 | <tomsmeding> | separate implementation from interface |
2024-10-26 11:15:06 +0200 | <tomsmeding> | that's what you have -XGeneralizedNewtypeDeriving for |
2024-10-26 11:15:12 +0200 | <tomsmeding> | deriving (Functor, Applicative, Monad) |
2024-10-26 11:15:25 +0200 | <haskellbridge> | <tux314159> "couldn't eta reduce enough" or something |
2024-10-26 11:15:34 +0200 | <tomsmeding> | what is your newtype precisely? |
2024-10-26 11:15:46 +0200 | <tomsmeding> | it indeed needs to be in the appropriate form |
2024-10-26 11:16:55 +0200 | <tomsmeding> | https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/newtype_deriving.html#generalising-… , for reference |
2024-10-26 11:17:41 +0200 | <haskellbridge> | <tux314159> oh I was trying `newtype ExceptT' e m a = ExceptT' { runExceptT' :: m (Either e a) } deriving (Functor, Applicative, Monad)` but I guess that's not the correct form? |
2024-10-26 11:18:00 +0200 | <tomsmeding> | ah, the idea is that you put the existing transformers _inside_ your newtype |
2024-10-26 11:18:17 +0200 | <tomsmeding> | `newtype App e a = App (ExceptT e IO a)` or something |
2024-10-26 11:18:29 +0200 | <tomsmeding> | write your full stack, then put _that_ inside the newtype |
2024-10-26 11:18:44 +0200 | <tomsmeding> | the 'a' that is the last type variable of 'App' must also be the last type variable in the type of the field |
2024-10-26 11:18:53 +0200 | <Leary> | Or refer to the transformers with DerivingVia. Which gives you better type roles too. |
2024-10-26 11:18:54 +0200 | <tomsmeding> | (in yours, it is not because it's inside an application to 'm') |
2024-10-26 11:19:12 +0200 | <tomsmeding> | hm, right |
2024-10-26 11:19:36 +0200 | <tomsmeding> | deriving (Functor, Applicative, Monad) via (ExceptT e m a) |
2024-10-26 11:20:04 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 11:20:09 +0200 | <Leary> | via ExceptT e m |
2024-10-26 11:20:09 +0200 | <haskellbridge> | <tux314159> I see, this thing works when the instances are equivalent when you peel back the newtype cosntructor? |
2024-10-26 11:20:34 +0200 | <tomsmeding> | it works when your newtype is _coercible_ (as in `Data.Coerce`) to the thing you put after `via` |
2024-10-26 11:20:44 +0200 | <tomsmeding> | so yes, the same after peeling off newtype constructors |
2024-10-26 11:20:58 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-10-26 11:21:44 +0200 | tomsmeding | is afk for a while |
2024-10-26 11:24:31 +0200 | <haskellbridge> | <tux314159> okay, thanks. but then this kind of runs into the dreaded n^2 instances issue with mtl doesn't it, I have to add every constraint I want to into the deriving |
2024-10-26 11:24:33 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
2024-10-26 11:24:34 +0200 | ash3en | (~Thunderbi@146.70.124.222) (Ping timeout: 248 seconds) |
2024-10-26 11:24:42 +0200 | ash3en1 | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en |
2024-10-26 11:25:40 +0200 | <Leary> | Not really. Just pull through whatever ExceptT has that you need. |
2024-10-26 11:27:08 +0200 | ash3en1 | ash3en |
2024-10-26 11:27:54 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2024-10-26 11:30:42 +0200 | <haskellbridge> | <tux314159> hooray it works :D question though, would overlappinginstances have been acceptable in that case? since ExceptT String m a is more specific that ExceptT e m a |
2024-10-26 11:30:52 +0200 | Square | (~Square@user/square) (Ping timeout: 252 seconds) |
2024-10-26 11:34:41 +0200 | <Leary> | More specific than what? I thought the issue was that there /was/ no `instance MonadFail (ExceptT _ _)`. You should only have gotten an orphan instance warning. |
2024-10-26 11:35:08 +0200 | <Leary> | Oh, wait, no. |
2024-10-26 11:35:25 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 11:35:30 +0200 | <Leary> | Well, I guess you could get away with that. |
2024-10-26 11:36:09 +0200 | <Leary> | But it's better not to tangle with overlapping instances without a good reason. |
2024-10-26 11:40:24 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
2024-10-26 11:50:48 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 11:54:41 +0200 | acidjnk_new | (~acidjnk@p200300d6e72cfb93b5372362da7684c9.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2024-10-26 11:55:29 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
2024-10-26 12:02:02 +0200 | <haskellbridge> | <tux314159> alright then I will hold my temptation :p |
2024-10-26 12:06:10 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-26 12:09:09 +0200 | sawilagar | (~sawilagar@user/sawilagar) (Ping timeout: 246 seconds) |
2024-10-26 12:13:02 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |