2024/10/26

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 +0200JuanDaugherty(~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
2024-10-26 00:01:34 +0200merijn(~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 +0200vglfr(~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 +0200merijn(~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 +0200peterbecich(~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 +0200vglfr(~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 +0200merijn(~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 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-10-26 00:33:09 +0200supercode(~supercode@user/supercode) (Quit: Client closed)
2024-10-26 00:34:07 +0200pavonia(~user@user/siracusa) siracusa
2024-10-26 00:35:57 +0200gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-10-26 00:37:08 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 00:43:40 +0200sawilagar(~sawilagar@user/sawilagar) (Remote host closed the connection)
2024-10-26 00:44:14 +0200sawilagar(~sawilagar@user/sawilagar) sawilagar
2024-10-26 00:45:14 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-10-26 00:45:42 +0200Ranhir(~Ranhir@157.97.53.139) (Read error: Connection reset by peer)
2024-10-26 00:48:16 +0200Everything(~Everythin@178-133-29-214.mobile.vf-ua.net) (Quit: leaving)
2024-10-26 00:48:48 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) Tuplanolla
2024-10-26 00:55:17 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-10-26 00:55:24 +0200raym(~ray@user/raym) (Ping timeout: 246 seconds)
2024-10-26 00:56:13 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 01:00:39 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-10-26 01:02:05 +0200Ranhir(~Ranhir@157.97.53.139) Ranhir
2024-10-26 01:02:28 +0200raym(~ray@user/raym) raym
2024-10-26 01:11:35 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 01:18:10 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-10-26 01:18:17 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-10-26 01:19:15 +0200machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds)
2024-10-26 01:29:37 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 01:30:30 +0200Shires(~Shires@user/shires) Shires
2024-10-26 01:33:55 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-26 01:42:09 +0200ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2024-10-26 01:42:09 +0200acidjnk_new(~acidjnk@p200300d6e72cfb03d1a45ef603fb56e9.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2024-10-26 01:44:59 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)
2024-10-26 01:44:59 +0200ljdarj1ljdarj
2024-10-26 01:45:00 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 01:49:20 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-26 01:53:21 +0200Shires(~Shires@user/shires) ()
2024-10-26 02:00:23 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 02:00:39 +0200sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 265 seconds)
2024-10-26 02:03:09 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-10-26 02:05:00 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
2024-10-26 02:05:03 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-10-26 02:06:24 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2024-10-26 02:10:24 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 272 seconds)
2024-10-26 02:15:45 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 02:20:20 +0200hgolden__(~hgolden@146.70.173.165) hgolden
2024-10-26 02:20:36 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-26 02:22:53 +0200hgolden_(~hgolden@169.150.203.10) (Ping timeout: 245 seconds)
2024-10-26 02:24:22 +0200Digit(~user@user/digit) (Read error: Connection reset by peer)
2024-10-26 02:26:03 +0200Digit(~user@user/digit) Digit
2024-10-26 02:27:05 +0200synchromesh(~john@2406:5a00:24b4:a600:cdca:aa06:55e4:f4ac) synchromesh
2024-10-26 02:30:04 +0200synchrom1(~john@2406:5a00:24b4:a600:cdca:aa06:55e4:f4ac) synchromesh
2024-10-26 02:30:24 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds)
2024-10-26 02:31:07 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 02:32:34 +0200synchromesh(~john@2406:5a00:24b4:a600:cdca:aa06:55e4:f4ac) (Ping timeout: 260 seconds)
2024-10-26 02:32:40 +0200synchrom2(~john@2406:5a00:24b4:a600:cdca:aa06:55e4:f4ac) synchromesh
2024-10-26 02:33:29 +0200tabemann_tabemann
2024-10-26 02:35:31 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-26 02:35:31 +0200synchrom1(~john@2406:5a00:24b4:a600:cdca:aa06:55e4:f4ac) (Ping timeout: 252 seconds)
2024-10-26 02:38:31 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-10-26 02:38:36 +0200gmg(~user@user/gehmehgeh) gehmehgeh
2024-10-26 02:45:18 +0200synchromesh(~john@2406:5a00:24b4:a600:cdca:aa06:55e4:f4ac) synchromesh
2024-10-26 02:46:30 +0200synchrom1(~john@2406:5a00:24b4:a600:cdca:aa06:55e4:f4ac) synchromesh
2024-10-26 02:46:31 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 02:48:19 +0200synchrom2(~john@2406:5a00:24b4:a600:cdca:aa06:55e4:f4ac) (Ping timeout: 260 seconds)
2024-10-26 02:49:34 +0200synchromesh(~john@2406:5a00:24b4:a600:cdca:aa06:55e4:f4ac) (Ping timeout: 244 seconds)
2024-10-26 02:52:55 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds)
2024-10-26 03:00:54 +0200habib(~habib@146.70.119.186) habib
2024-10-26 03:01:03 +0200ljdarj(~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 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 03:08:03 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-10-26 03:18:55 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 03:23:47 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-10-26 03:34:21 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 03:38:39 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-10-26 03:49:42 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 03:56:51 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-26 03:58:24 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2024-10-26 04:07:45 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 04:12:43 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds)
2024-10-26 04:14:03 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 04:22:13 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-26 04:25:14 +0200weary-traveler(~user@user/user363627) user363627
2024-10-26 04:30:21 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds)
2024-10-26 04:30:32 +0200spew(~spew@155.133.15.67) (Quit: spew)
2024-10-26 04:33:19 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 04:36:53 +0200td_(~td@i5387090F.versanet.de) (Ping timeout: 252 seconds)
2024-10-26 04:37:33 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-10-26 04:38:53 +0200td_(~td@i5387093A.versanet.de) td_
2024-10-26 04:39:00 +0200stiell_(~stiell@gateway/tor-sasl/stiell) stiell
2024-10-26 04:46:41 +0200stiell(~stiell@gateway/tor-sasl/stiell) stiell
2024-10-26 04:48:42 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 04:50:46 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds)
2024-10-26 04:53:09 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-10-26 04:59:15 +0200xff0x(~xff0x@2405:6580:b080:900:c8b8:61af:1cb3:d380) (Ping timeout: 244 seconds)
2024-10-26 05:00:49 +0200xff0x(~xff0x@2405:6580:b080:900:c8b8:61af:1cb3:d380)
2024-10-26 05:04:04 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 05:04:24 +0200td_(~td@i5387093A.versanet.de) (Ping timeout: 252 seconds)
2024-10-26 05:06:27 +0200td_(~td@i53870937.versanet.de) td_
2024-10-26 05:08:25 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-26 05:19:26 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 05:24:07 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-10-26 05:31:55 +0200gorignak(~gorignak@user/gorignak) gorignak
2024-10-26 05:34:49 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 05:39:33 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-10-26 05:50:14 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 05:53:58 +0200Zer000(~02@64.137.132.10) (Quit: Leaving)
2024-10-26 05:57:12 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-26 05:57:38 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-10-26 06:10:53 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 06:18:01 +0200Guest15(~Guest15@138.199.60.25)
2024-10-26 06:18:36 +0200Guest15(~Guest15@138.199.60.25) (Client Quit)
2024-10-26 06:19:08 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2024-10-26 06:30:10 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 06:32:34 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2024-10-26 06:34:49 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-10-26 06:45:32 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 06:50:00 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-26 06:56:37 +0200weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-10-26 07:02:11 +0200poscat0x04(~poscat@user/poscat) (Quit: Bye)
2024-10-26 07:02:47 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 07:07:33 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-10-26 07:10:21 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 07:13:30 +0200arahael(~arahael@user/arahael) (Quit: Reconnecting)
2024-10-26 07:13:42 +0200arahael(~arahael@user/arahael) arahael
2024-10-26 07:14:56 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-26 07:23:40 +0200gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-10-26 07:27:53 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 245 seconds)
2024-10-26 07:30:23 +0200alioguzhan(~Thunderbi@78.173.69.170) (Ping timeout: 245 seconds)
2024-10-26 07:30:29 +0200arahael(~arahael@user/arahael) (Ping timeout: 248 seconds)
2024-10-26 07:31:10 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 07:35:54 +0200merijn(~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 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 07:48:35 +0200arahael(~arahael@user/arahael) arahael
2024-10-26 07:53:21 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-26 07:58:43 +0200poscat(~poscat@user/poscat) poscat
2024-10-26 08:00:48 +0200rosco(~rosco@60.53.7.10) rosco
2024-10-26 08:06:59 +0200rvalue(~rvalue@user/rvalue) rvalue
2024-10-26 08:09:27 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 08:12:26 +0200poscat0x04(~poscat@user/poscat) poscat
2024-10-26 08:13:09 +0200nitrix(~nitrix@user/meow/nitrix) (Quit: ZNC 1.8.2 - https://znc.in)
2024-10-26 08:13:19 +0200poscat(~poscat@user/poscat) (Ping timeout: 264 seconds)
2024-10-26 08:13:58 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-26 08:15:21 +0200nitrix(~nitrix@user/meow/nitrix) nitrix
2024-10-26 08:15:38 +0200alioguzhan(~Thunderbi@78.173.95.204)
2024-10-26 08:17:03 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 08:21:24 +0200harveypwca(~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288) HarveyPwca
2024-10-26 08:21:41 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-10-26 08:30:46 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-10-26 08:32:25 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 08:37:04 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-26 08:47:47 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 08:52:06 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-26 08:55:56 +0200Miroboru(~myrvoll@178-164-114.82.3p.ntebredband.no) (Ping timeout: 255 seconds)
2024-10-26 08:57:27 +0200sawilagar(~sawilagar@user/sawilagar) sawilagar
2024-10-26 09:00:00 +0200caconym(~caconym@user/caconym) (Quit: bye)
2024-10-26 09:00:14 +0200JamesMowery4(~JamesMowe@ip98-167-207-182.ph.ph.cox.net) (Quit: Goodbye)
2024-10-26 09:00:31 +0200JamesMowery43(~JamesMowe@ip98-167-207-182.ph.ph.cox.net) JamesMowery
2024-10-26 09:00:37 +0200caconym(~caconym@user/caconym) caconym
2024-10-26 09:02:13 +0200Square(~Square@user/square) Square
2024-10-26 09:03:10 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 09:07:30 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-26 09:13:14 +0200acidjnk_new(~acidjnk@p200300d6e72cfb93b5372362da7684c9.dip0.t-ipconnect.de) acidjnk
2024-10-26 09:18:02 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 09:21:22 +0200AlexNoo(~AlexNoo@178.34.162.25) (Read error: Connection reset by peer)
2024-10-26 09:22:05 +0200AlexNoo(~AlexNoo@178.34.162.25)
2024-10-26 09:22:32 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-26 09:25:36 +0200flukiluke(~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Remote host closed the connection)
2024-10-26 09:26:32 +0200flukiluke(~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) flukiluke
2024-10-26 09:28:01 +0200harveypwca(~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288) (Quit: Leaving)
2024-10-26 09:33:25 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 09:35:48 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-10-26 09:36:01 +0200euphores(~SASL_euph@user/euphores) (Read error: Connection reset by peer)
2024-10-26 09:37:00 +0200euphores(~SASL_euph@user/euphores) euphores
2024-10-26 09:40:07 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-26 09:40:24 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds)
2024-10-26 09:43:34 +0200ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en
2024-10-26 09:44:45 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2024-10-26 09:53:47 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 09:54:01 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2024-10-26 09:58:06 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-26 10:02:37 +0200Miroboru(~myrvoll@178-164-114.82.3p.ntebredband.no) Miroboru
2024-10-26 10:02:37 +0200Pixi`Pixi
2024-10-26 10:13:36 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 10:17:54 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-26 10:19:08 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 10:25:54 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-10-26 10:35:00 +0200ubert(~Thunderbi@77.119.173.172.wireless.dyn.drei.com) (Ping timeout: 246 seconds)
2024-10-26 10:36:09 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) Tuplanolla
2024-10-26 10:37:06 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 10:40:20 +0200wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2024-10-26 10:41:20 +0200billchenchina-(~billchenc@p54090-ipngnfx01osakakita.osaka.ocn.ne.jp) billchenchina
2024-10-26 10:41:24 +0200billchenchina-(~billchenc@p54090-ipngnfx01osakakita.osaka.ocn.ne.jp) (Remote host closed the connection)
2024-10-26 10:41:59 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-10-26 10:44:08 +0200rosco(~rosco@60.53.7.10) (Quit: Lost terminal)
2024-10-26 10:52:02 +0200Guest38(~Guest38@58.182.144.85)
2024-10-26 10:52:03 +0200sawilagar(~sawilagar@user/sawilagar) (Remote host closed the connection)
2024-10-26 10:52:18 +0200sawilagar(~sawilagar@user/sawilagar) sawilagar
2024-10-26 10:52:27 +0200billchenchina-(~billchenc@p54090-ipngnfx01osakakita.osaka.ocn.ne.jp) billchenchina
2024-10-26 10:52:29 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 10:56:42 +0200merijn(~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 +0200tzh(~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 +0200ash3en1(~Thunderbi@146.70.124.222) ash3en
2024-10-26 11:07:17 +0200ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 265 seconds)
2024-10-26 11:07:18 +0200ash3en1ash3en
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 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 11:08:09 +0200Guest38(~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 +0200merijn(~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 +0200ljdarj(~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 +0200merijn(~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 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-10-26 11:21:44 +0200tomsmedingis 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 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-10-26 11:24:34 +0200ash3en(~Thunderbi@146.70.124.222) (Ping timeout: 248 seconds)
2024-10-26 11:24:42 +0200ash3en1(~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 +0200ash3en1ash3en
2024-10-26 11:27:54 +0200Sgeo(~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 +0200Square(~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 +0200merijn(~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 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
2024-10-26 11:50:48 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 11:54:41 +0200acidjnk_new(~acidjnk@p200300d6e72cfb93b5372362da7684c9.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2024-10-26 11:55:29 +0200merijn(~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 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 12:09:09 +0200sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 246 seconds)
2024-10-26 12:13:02 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-26 12:15:56 +0200sawilagar(~sawilagar@user/sawilagar) sawilagar