2023/05/01

2023-05-01 00:06:59 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-d5f7-1d09-2f8d-3550.rev.sfr.net) (Remote host closed the connection)
2023-05-01 00:08:26 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-d5f7-1d09-2f8d-3550.rev.sfr.net)
2023-05-01 00:12:36 +0200puke(~puke@user/puke) (Quit: puke)
2023-05-01 00:12:50 +0200jpds2(~jpds@gateway/tor-sasl/jpds)
2023-05-01 00:17:16 +0200puke(~puke@user/puke)
2023-05-01 00:21:20 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2023-05-01 00:21:55 +0200masterbu1lder(~masterbui@user/masterbuilder) (Quit: leaving)
2023-05-01 00:26:55 +0200Square(~Square@user/square)
2023-05-01 00:27:48 +0200jpds2(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2023-05-01 00:28:09 +0200 <Square> Iirc there are some language extensions that can complicate your code a fair bit. Any comes to mind?
2023-05-01 00:28:36 +0200 <Square> (and I don't mean OverloadedLists or OverloadedStrings)
2023-05-01 00:29:12 +0200 <justsomeguy> So I just noticed that these are the same... :set -XTypeApplications; :type flip (concatMap @[]); :type (>>=) @[];
2023-05-01 00:29:27 +0200 <Square> Suspects are FlexibleInstances, FlexibleContexts, UndecidableInstances, AllowAmbiguousTypes...
2023-05-01 00:29:38 +0200jpds2(~jpds@gateway/tor-sasl/jpds)
2023-05-01 00:37:38 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 246 seconds)
2023-05-01 00:38:44 +0200RED_cat_King(~RED_cat_K@2001:b07:a3d:74f4:11f4:5630:82d4:8e1f)
2023-05-01 00:42:11 +0200 <geekosaur> I think the two `Flexible` are considered pretty safe
2023-05-01 00:42:25 +0200fun-safe-math(~fun-safe-@c-24-22-94-205.hsd1.or.comcast.net)
2023-05-01 00:45:01 +0200 <geekosaur> UndecidableInstances means you accept the blame if the typechecker goes into an infinite loop. (It's OverlappingInstances and especially IncoherentInstances that are really problematic.)
2023-05-01 00:45:15 +0200gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2023-05-01 00:46:00 +0200gmg(~user@user/gehmehgeh)
2023-05-01 00:46:08 +0200 <geekosaur> AllowAmbiguousTypes means you accept the responsibility to use TypeApplications to help the typechecker along
2023-05-01 00:47:32 +0200 <geekosaur> But it gets you out of situations where ghc can't figure out a type by itself and needs that help
2023-05-01 00:50:27 +0200 <Square> geekosaur, thanks. I think UndecidableInstances is what got me in trouble before.
2023-05-01 00:52:54 +0200 <monochrom> I guess I have a different idea of what "complicate" means.
2023-05-01 00:54:01 +0200 <monochrom> or rather, "complicate your code". (which is different from "complicate the language")
2023-05-01 00:56:36 +0200RED_cat_King(~RED_cat_K@2001:b07:a3d:74f4:11f4:5630:82d4:8e1f) (Quit: Client closed)
2023-05-01 01:06:11 +0200falafel(~falafel@2603-8000-d700-115c-a6c7-5a73-c391-763a.res6.spectrum.com)
2023-05-01 01:10:32 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
2023-05-01 01:17:44 +0200caryhartline(~caryhartl@2600:1700:2d0:8d30:9843:3567:836:49e9)
2023-05-01 01:19:45 +0200fun-safe-math(~fun-safe-@c-24-22-94-205.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
2023-05-01 01:22:41 +0200 <Square> monochrom, I this case I'm later using some constructed instances / classes to construct combined instances that. And I remember that was tricky once i involved UndecidableInstances. Could be my lacking know how that get's in the way. =D
2023-05-01 01:23:45 +0200burakcank(burakcank@has.arrived.and.is.ready-to.party) (Quit: fBNC - https://bnc4free.com)
2023-05-01 01:26:31 +0200jinsun(~jinsun@user/jinsun) (Read error: Connection reset by peer)
2023-05-01 01:27:00 +0200Batzy(~quassel@user/batzy) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2023-05-01 01:27:22 +0200Batzy(~quassel@user/batzy)
2023-05-01 01:28:08 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
2023-05-01 01:28:23 +0200jinsun(~jinsun@user/jinsun)
2023-05-01 01:37:58 +0200mauke_(~mauke@user/mauke)
2023-05-01 01:39:19 +0200 <fbytez> Am I just writing an existing builtin function? ...
2023-05-01 01:39:24 +0200 <fbytez> ors :: [a -> Bool] -> a -> Bool
2023-05-01 01:39:25 +0200 <fbytez> ors [] a = False
2023-05-01 01:39:25 +0200 <fbytez> ors (f:fs) a = f a || ors fs a
2023-05-01 01:39:52 +0200mauke(~mauke@user/mauke) (Ping timeout: 276 seconds)
2023-05-01 01:39:52 +0200mauke_mauke
2023-05-01 01:41:28 +0200 <monochrom> It's a bit close to a library function but not obvious: ors fs a = any (\f -> f a) fs
2023-05-01 01:42:31 +0200 <int-e> :t (or .) . sequence
2023-05-01 01:42:32 +0200 <lambdabot> Traversable t => t (a -> Bool) -> a -> Bool
2023-05-01 01:44:35 +0200 <int-e> :t (getAny . ) . foldMap (Any .)
2023-05-01 01:44:36 +0200 <lambdabot> Foldable t => t (a -> Bool) -> a -> Bool
2023-05-01 01:44:45 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 240 seconds)
2023-05-01 01:45:54 +0200 <int-e> I'd go with monochrom's except I'd write (\f -> f a) as ($ a)
2023-05-01 01:45:55 +0200nate1(~nate@98.45.169.16)
2023-05-01 01:46:43 +0200son0p(~ff@181.136.122.143)
2023-05-01 01:46:56 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
2023-05-01 01:47:26 +0200 <int-e> @pl ors fs a = any (\f -> f a) fs
2023-05-01 01:47:26 +0200 <lambdabot> ors = flip (any . flip id)
2023-05-01 01:47:39 +0200 <int-e> nice flips
2023-05-01 01:47:41 +0200 <fbytez> Does it short-circuit or evaluate all?
2023-05-01 01:47:49 +0200 <monochrom> short circuits
2023-05-01 01:48:02 +0200 <fbytez> Thanks very much.
2023-05-01 01:48:22 +0200 <monochrom> > any (\f -> f 0) ((== 0) : undefined)
2023-05-01 01:48:23 +0200 <lambdabot> True
2023-05-01 01:51:11 +0200nate1(~nate@98.45.169.16) (Ping timeout: 264 seconds)
2023-05-01 01:51:43 +0200acidjnk(~acidjnk@p200300d6e715c46489327d173b2333a9.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2023-05-01 01:57:51 +0200zeenk(~zeenk@2a02:2f04:a20f:5200::7fe) (Quit: Konversation terminated!)
2023-05-01 02:01:30 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2023-05-01 02:04:15 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-05-01 02:04:15 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-05-01 02:04:15 +0200wroathe(~wroathe@user/wroathe)
2023-05-01 02:12:59 +0200falafel(~falafel@2603-8000-d700-115c-a6c7-5a73-c391-763a.res6.spectrum.com) (Ping timeout: 248 seconds)
2023-05-01 02:13:01 +0200gurkenglas(~gurkengla@dynamic-046-114-179-053.46.114.pool.telefonica.de) (Ping timeout: 276 seconds)
2023-05-01 02:13:40 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 276 seconds)
2023-05-01 02:14:24 +0200pyook(~puke@user/puke) (Remote host closed the connection)
2023-05-01 02:14:35 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2023-05-01 02:14:45 +0200pyook(~puke@user/puke)
2023-05-01 02:30:46 +0200Guest3954(~ix@2a02:8012:281f:0:d65d:64ff:fe52:5efe) (Quit: WeeChat 3.8)
2023-05-01 02:31:23 +0200ix(~ix@2a02:8012:281f:0:d65d:64ff:fe52:5efe)
2023-05-01 02:33:49 +0200anpad(~pandeyan@user/anpad) (Read error: Connection reset by peer)
2023-05-01 02:35:50 +0200anpad(~pandeyan@user/anpad)
2023-05-01 02:42:43 +0200xff0x_(~xff0x@160.86.227.171)
2023-05-01 02:42:56 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-01 02:44:43 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 265 seconds)
2023-05-01 02:47:13 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 250 seconds)
2023-05-01 02:47:17 +0200nate1(~nate@98.45.169.16)
2023-05-01 02:49:35 +0200justsomeguy(~justsomeg@user/justsomeguy)
2023-05-01 02:49:56 +0200tremon(~tremon@83.80.159.219) (Quit: getting boxed in)
2023-05-01 02:55:49 +0200Lycurgus(~juan@user/Lycurgus)
2023-05-01 03:09:21 +0200bilegeek(~bilegeek@2600:1008:b089:7d02:e67a:f767:a7e8:1fa6)
2023-05-01 03:11:11 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2023-05-01 03:11:13 +0200chexum_(~quassel@gateway/tor-sasl/chexum)
2023-05-01 03:11:23 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2023-05-01 03:12:08 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:d4d0:8bd2:d805:7ab6) (Remote host closed the connection)
2023-05-01 03:15:16 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2023-05-01 03:16:24 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-05-01 03:17:06 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 265 seconds)
2023-05-01 03:17:19 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-05-01 03:19:43 +0200pyook(~puke@user/puke) (Read error: Connection reset by peer)
2023-05-01 03:19:56 +0200pyook(~puke@user/puke)
2023-05-01 03:22:52 +0200puke(~puke@user/puke) (Quit: puke)
2023-05-01 03:26:05 +0200hugo(znc@verdigris.lysator.liu.se)
2023-05-01 03:33:08 +0200gehmehgeh(~user@user/gehmehgeh)
2023-05-01 03:33:36 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 250 seconds)
2023-05-01 03:33:44 +0200gmg(~user@user/gehmehgeh) (Ping timeout: 240 seconds)
2023-05-01 03:37:14 +0200 <remexre> ought this program be able to typecheck? https://paste.sr.ht/~remexre/ac84eebe1b25892447ac582df8927d88c11ef088
2023-05-01 03:37:23 +0200Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz)
2023-05-01 03:37:25 +0200 <remexre> or no because skolems count too?
2023-05-01 03:37:40 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-05-01 03:49:52 +0200nate1(~nate@98.45.169.16) (Ping timeout: 276 seconds)
2023-05-01 03:50:46 +0200Inst(~Inst@2601:6c4:4081:2fc0:5c3a:8a0b:648e:de5a)
2023-05-01 03:51:41 +0200 <ski> i suspect that'll not work, since it'd need induction on `N'
2023-05-01 03:52:30 +0200 <ski> (not that that'd be logically wrong, but i don't think the instance resolution machinery can handle that)
2023-05-01 03:53:10 +0200 <int-e> it's also operationall challenging... I mean, imagine doing that with a class that's not empty.
2023-05-01 03:54:23 +0200 <int-e> Then the code would have to generate the right instance according to the given `n`, but I expect that that's erased during compilation.
2023-05-01 03:54:57 +0200 <ski> hm, i guess a `forall'ed constraint would be parametric in that type variable, not requiring type-passing
2023-05-01 03:55:07 +0200 <ski> yea
2023-05-01 03:57:23 +0200 <int-e> I guess the other question is, how are you going to use that constraint?
2023-05-01 03:57:41 +0200 <remexre> No use-case in mind, I was just wondering
2023-05-01 03:57:58 +0200Guest|14(~Guest|14@mobile-107-77-208-79.mobile.att.net)
2023-05-01 04:01:15 +0200JScript(~JScript@103.137.12.21) (Ping timeout: 248 seconds)
2023-05-01 04:02:18 +0200 <Guest|14> Hi, I was having some trouble getting ghcup working.
2023-05-01 04:02:36 +0200 <Guest|14> here is the error report.
2023-05-01 04:02:36 +0200 <Guest|14> [GHCup-00841] Process "make" with arguments ["DESTDIR=/home/username/.ghcup/tmp/ghcup-b6036eaa6efe29c2",
2023-05-01 04:02:37 +0200 <Guest|14> [ ... ] "install"] failed with exit code 2.
2023-05-01 04:03:06 +0200 <jackdk> That's just the final failure, and doesn't say what originally went wrong to make things abort. @where paste
2023-05-01 04:03:12 +0200 <jackdk> @where paster
2023-05-01 04:03:12 +0200 <lambdabot> I know nothing about paster.
2023-05-01 04:03:19 +0200 <jackdk> @where paste
2023-05-01 04:03:19 +0200 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
2023-05-01 04:08:10 +0200 <Guest|14> https://paste.tomsmeding.com/TDRRJjqK
2023-05-01 04:08:47 +0200 <remexre> > copyFile: resource exhausted (No space left on device)
2023-05-01 04:08:49 +0200 <lambdabot> error: Variable not in scope: copyFileerror:
2023-05-01 04:08:49 +0200 <lambdabot> Variable not in scope: resource :: t0 -> t1 -> [a]error: Variable not in...
2023-05-01 04:08:49 +0200 <lambdabot> • Data constructor not in scope:
2023-05-01 04:08:56 +0200 <remexre> oops
2023-05-01 04:09:11 +0200 <remexre> Guest|14: any chance you ran out of disk space during the install?
2023-05-01 04:09:33 +0200 <Guest|14> possible, have 4 gb left
2023-05-01 04:09:46 +0200 <Guest|14> is it expected to take up that much
2023-05-01 04:10:42 +0200 <Guest|14> will clear up and see if that fixes
2023-05-01 04:11:41 +0200 <remexre> i'd be unsurprised if it did, especially including temporary files that the installer creates
2023-05-01 04:12:36 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:94bc:6ee2:e2a3:4361)
2023-05-01 04:16:56 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:94bc:6ee2:e2a3:4361) (Ping timeout: 250 seconds)
2023-05-01 04:17:38 +0200 <monochrom> It basically does double buffering. You need 6GB. Or a little bit more.
2023-05-01 04:18:08 +0200 <monochrom> Well, you need 6GB at the peak, it will drop back to 2-3GB at the end.
2023-05-01 04:20:40 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2023-05-01 04:23:59 +0200 <Guest|14> I cleared for up to 6.6 gb
2023-05-01 04:24:07 +0200 <Guest|14> got this error next
2023-05-01 04:24:08 +0200 <Guest|14> https://paste.tomsmeding.com/CJRKhctw
2023-05-01 04:27:50 +0200mud(~mud@user/kadoban) (Remote host closed the connection)
2023-05-01 04:28:22 +0200notzmv(~zmv@user/notzmv)
2023-05-01 04:34:35 +0200 <Guest|14> The package is installed on computer.
2023-05-01 04:35:20 +0200 <Guest|14> I'm seeing fedora in the installation, however mine is debian.
2023-05-01 04:35:28 +0200falafel(~falafel@2603-8000-d700-115c-a5bf-978f-35b4-956b.res6.spectrum.com)
2023-05-01 04:36:01 +0200 <Guest|14> Might this be the problem?
2023-05-01 04:37:18 +0200xff0x_(~xff0x@160.86.227.171) (Ping timeout: 265 seconds)
2023-05-01 04:37:18 +0200 <jackdk> Guest|14: I believe that is provided by package `libtinfo6`; you could try installing it manually?
2023-05-01 04:40:11 +0200[Leary](~Leary]@user/Leary/x-0910699) (Remote host closed the connection)
2023-05-01 04:41:37 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 250 seconds)
2023-05-01 04:44:15 +0200szkl(uid110435@2a03:5180:f:5::1:af63)
2023-05-01 04:47:58 +0200 <Guest|14> Tried to reinstall libtinfo6
2023-05-01 04:47:59 +0200 <Guest|14> https://paste.tomsmeding.com/Bd84Gjpw
2023-05-01 04:48:03 +0200 <Guest|14> seems all is well
2023-05-01 04:48:25 +0200 <Guest|14> attempted a manual install of ghcup but received same error
2023-05-01 04:50:27 +0200[Leary](~Leary]@user/Leary/x-0910699)
2023-05-01 04:52:16 +0200td_(~td@i53870931.versanet.de) (Ping timeout: 276 seconds)
2023-05-01 04:53:20 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 240 seconds)
2023-05-01 04:53:50 +0200td_(~td@i53870907.versanet.de)
2023-05-01 04:55:38 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-05-01 05:05:08 +0200 <monochrom> I believe you need libtinfo-dev instead.
2023-05-01 05:05:43 +0200 <monochrom> But supposedly ghcup chooses the fedora build precisely because it would not need libtinfo.
2023-05-01 05:08:10 +0200jero98772(~jero98772@2800:484:1d84:9000::3) (Remote host closed the connection)
2023-05-01 05:12:04 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2023-05-01 05:12:58 +0200puke(~puke@user/puke)
2023-05-01 05:14:28 +0200krskrft(~textual@24-220-240-23-static.midco.net)
2023-05-01 05:21:50 +0200Fischmiep(~Fischmiep@user/Fischmiep)
2023-05-01 05:27:11 +0200 <Guest|14> I checked and libtinfo-dev is also installed,
2023-05-01 05:27:11 +0200 <Guest|14> though I reinstalled that and then tried installing ghcup.
2023-05-01 05:27:12 +0200 <Guest|14> received the libtinfo.so.6 error once more.
2023-05-01 05:27:12 +0200 <Guest|14> https://paste.tomsmeding.com/CJRKhctw
2023-05-01 05:32:20 +0200janus(janus@anubis.0x90.dk) ()
2023-05-01 05:41:46 +0200swamp_(~zmt00@user/zmt00) (Quit: Leaving)
2023-05-01 05:43:36 +0200falafel(~falafel@2603-8000-d700-115c-a5bf-978f-35b4-956b.res6.spectrum.com) (Ping timeout: 250 seconds)
2023-05-01 05:46:44 +0200zmt00(~zmt00@user/zmt00)
2023-05-01 05:47:40 +0200falafel(~falafel@2603-8000-d700-115c-fa70-5732-b900-a0ec.res6.spectrum.com)
2023-05-01 05:51:32 +0200JScript(~JScript@103.137.12.20)
2023-05-01 05:51:34 +0200JScript(~JScript@103.137.12.20) (Max SendQ exceeded)
2023-05-01 05:53:26 +0200bilegeek(~bilegeek@2600:1008:b089:7d02:e67a:f767:a7e8:1fa6) (Quit: Leaving)
2023-05-01 05:55:27 +0200JScript(~JScript@103.137.12.20)
2023-05-01 06:00:44 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 246 seconds)
2023-05-01 06:08:05 +0200JScript(~JScript@103.137.12.20) (Ping timeout: 240 seconds)
2023-05-01 06:08:39 +0200Guest|14(~Guest|14@mobile-107-77-208-79.mobile.att.net) (Quit: Connection closed)
2023-05-01 06:10:54 +0200ystael(~ystael@user/ystael) (Ping timeout: 250 seconds)
2023-05-01 06:11:07 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-05-01 06:12:50 +0200ystael(~ystael@user/ystael)
2023-05-01 06:17:16 +0200JScript(~JScript@103.137.12.22)
2023-05-01 06:27:10 +0200JScript(~JScript@103.137.12.22) (Ping timeout: 276 seconds)
2023-05-01 06:42:32 +0200finsternis(~X@23.226.237.192) (Ping timeout: 250 seconds)
2023-05-01 06:42:40 +0200heartburn(~gass@2a00:d880:3:1::b1e4:b241) (Ping timeout: 248 seconds)
2023-05-01 06:43:12 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-01 06:43:13 +0200finsternis(~X@23.226.237.192)
2023-05-01 06:43:23 +0200heartburn(~gass@2a00:d880:3:1::b1e4:b241)
2023-05-01 06:46:22 +0200Guest7(~Guest7@47.243.176.7)
2023-05-01 06:47:27 +0200Guest7(~Guest7@47.243.176.7) (Client Quit)
2023-05-01 06:47:44 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 250 seconds)
2023-05-01 06:48:30 +0200ryantrinkle(~ryantrink@944c68d2.cst.lightpath.net)
2023-05-01 07:04:12 +0200szkl(uid110435@2a03:5180:f:5::1:af63) (Quit: Connection closed for inactivity)
2023-05-01 07:05:29 +0200Square(~Square@user/square) (Ping timeout: 250 seconds)
2023-05-01 07:11:55 +0200Me-me(~Me-me@user/me-me)
2023-05-01 07:18:44 +0200coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2023-05-01 07:19:23 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-d5f7-1d09-2f8d-3550.rev.sfr.net) (Ping timeout: 245 seconds)
2023-05-01 07:24:32 +0200trev(~trev@user/trev)
2023-05-01 07:25:26 +0200krskrft(~textual@24-220-240-23-static.midco.net) (Quit: Textual IRC Client: www.textualapp.com)
2023-05-01 07:31:55 +0200flukiluke(~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Ping timeout: 260 seconds)
2023-05-01 07:32:15 +0200flukiluke(~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962)
2023-05-01 07:32:23 +0200Inst_(~Inst@2601:6c4:4081:2fc0:9bc:3427:db1e:1d7e)
2023-05-01 07:35:44 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2023-05-01 07:36:17 +0200Inst(~Inst@2601:6c4:4081:2fc0:5c3a:8a0b:648e:de5a) (Ping timeout: 246 seconds)
2023-05-01 07:36:46 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-e9a3-93a7-d78d-61c4.rev.sfr.net)
2023-05-01 07:40:22 +0200trev(~trev@user/trev) (Quit: trev)
2023-05-01 07:40:51 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
2023-05-01 07:40:51 +0200trev(~trev@user/trev)
2023-05-01 07:41:03 +0200img(~img@user/img)
2023-05-01 07:45:48 +0200anpad(~pandeyan@user/anpad) (Ping timeout: 250 seconds)
2023-05-01 07:46:14 +0200nate1(~nate@98.45.169.16)
2023-05-01 07:46:50 +0200anpad(~pandeyan@user/anpad)
2023-05-01 07:51:40 +0200nate1(~nate@98.45.169.16) (Ping timeout: 276 seconds)
2023-05-01 07:54:44 +0200anpad(~pandeyan@user/anpad) (Read error: Connection reset by peer)
2023-05-01 07:57:11 +0200anpad(~pandeyan@user/anpad)
2023-05-01 07:57:30 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 250 seconds)
2023-05-01 08:02:20 +0200hugo(znc@verdigris.lysator.liu.se)
2023-05-01 08:03:33 +0200falafel(~falafel@2603-8000-d700-115c-fa70-5732-b900-a0ec.res6.spectrum.com) (Ping timeout: 250 seconds)
2023-05-01 08:05:47 +0200pharonix71(~pharonix7@user/pharonix71) (Remote host closed the connection)
2023-05-01 08:06:17 +0200pharonix71(~pharonix7@user/pharonix71)
2023-05-01 08:11:11 +0200gurkenglas(~gurkengla@dynamic-046-114-179-053.46.114.pool.telefonica.de)
2023-05-01 08:14:35 +0200ryantrinkle(~ryantrink@944c68d2.cst.lightpath.net) (Ping timeout: 248 seconds)
2023-05-01 08:14:49 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2023-05-01 08:14:49 +0200mechap(~mechap@user/mechap)
2023-05-01 08:17:36 +0200fr33domlover(~fr33domlo@towards.vision) (Ping timeout: 248 seconds)
2023-05-01 08:19:30 +0200fr33domlover(~fr33domlo@towards.vision)
2023-05-01 08:21:34 +0200mei(~mei@user/mei) (Ping timeout: 276 seconds)
2023-05-01 08:25:06 +0200mei(~mei@user/mei)
2023-05-01 08:37:50 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-05-01 09:00:47 +0200 <maerwald> they installed libc6, not libtinfo6
2023-05-01 09:10:24 +0200acidjnk(~acidjnk@p200300d6e715c464285fef55bd00a3c3.dip0.t-ipconnect.de)
2023-05-01 09:14:35 +0200 <Axman6> those don'e seem to be the same thing to me...
2023-05-01 09:14:39 +0200 <Axman6> don't*
2023-05-01 09:14:45 +0200gehmehgehgmg
2023-05-01 09:15:04 +0200yaroot(~yaroot@2400:4052:ac0:d900:1cf4:2aff:fe51:c04c) (Remote host closed the connection)
2023-05-01 09:15:47 +0200yaroot(~yaroot@2400:4052:ac0:d900:1cf4:2aff:fe51:c04c)
2023-05-01 09:19:24 +0200gurkenglas(~gurkengla@dynamic-046-114-179-053.46.114.pool.telefonica.de) (Ping timeout: 250 seconds)
2023-05-01 09:20:17 +0200JScript(~JScript@103.137.12.22)
2023-05-01 09:20:33 +0200JScript(~JScript@103.137.12.22) (Max SendQ exceeded)
2023-05-01 09:22:50 +0200cyphase_eviltwincyphase
2023-05-01 09:27:08 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2023-05-01 09:28:00 +0200zer0bitz(~zer0bitz@2001:2003:f443:d600:878:5e67:f0ac:a07d) (Ping timeout: 248 seconds)
2023-05-01 09:28:31 +0200zer0bitz(~zer0bitz@2001:2003:f443:d600:799d:b077:ccea:4521)
2023-05-01 09:28:47 +0200Inst__(~Inst@2601:6c4:4081:2fc0:984:5bea:8459:33e9)
2023-05-01 09:28:56 +0200JScript(~JScript@103.137.12.22)
2023-05-01 09:28:58 +0200JScript(~JScript@103.137.12.22) (Max SendQ exceeded)
2023-05-01 09:29:35 +0200JScript(~JScript@103.137.12.22)
2023-05-01 09:29:38 +0200JScript(~JScript@103.137.12.22) (Max SendQ exceeded)
2023-05-01 09:32:49 +0200Inst_(~Inst@2601:6c4:4081:2fc0:9bc:3427:db1e:1d7e) (Ping timeout: 250 seconds)
2023-05-01 09:33:47 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2023-05-01 09:35:28 +0200titibandit(~titibandi@user/titibandit)
2023-05-01 09:44:36 +0200 <maerwald> correct
2023-05-01 09:45:21 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-05-01 09:48:18 +0200falafel(~falafel@2603-8000-d700-115c-a910-fa27-90fe-abc2.res6.spectrum.com)
2023-05-01 09:49:51 +0200 <Inst__> got my first knight's tour solver done in Haskell
2023-05-01 09:49:55 +0200Inst__Inst
2023-05-01 09:49:57 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-05-01 09:50:00 +0200 <Inst> ludicrously unperformant, as you'd expect
2023-05-01 09:50:40 +0200JScript(~JScript@103.137.12.22)
2023-05-01 09:50:51 +0200JScript(~JScript@103.137.12.22) (Max SendQ exceeded)
2023-05-01 09:53:44 +0200JScript(~JScript@103.137.12.22)
2023-05-01 09:54:23 +0200JScript(~JScript@103.137.12.22) (Max SendQ exceeded)
2023-05-01 09:55:39 +0200 <Axman6> well, if you know it works, then you also know it's not exponentially bad at least :)
2023-05-01 09:56:50 +0200 <Inst> sort of the problem is that i'm generating ALL possible knight's tours
2023-05-01 09:56:52 +0200 <Inst> and outputting them
2023-05-01 09:57:53 +0200 <Inst> and Axman6: I'm not arguing that Haskell should be strict, it just looks like that in certain applications (NRI, etc), it lowers the skill requirement, especially when they don't have a professional Haskell engineer to teach the newbies how not to space leak themselves to death
2023-05-01 09:58:06 +0200 <jade[m]> that'll get out of hand for larger boards haha
2023-05-01 09:58:17 +0200JScript(~JScript@103.137.12.22)
2023-05-01 09:58:46 +0200JScript(~JScript@103.137.12.22) (Max SendQ exceeded)
2023-05-01 09:59:07 +0200 <Inst> well, it's already stalling out at 6, and the configuration right now is set for a single starting point
2023-05-01 09:59:30 +0200 <jade[m]> yep
2023-05-01 10:00:10 +0200 <jade[m]> reading the wikipedia article it seems like you can divide & conquer the board
2023-05-01 10:00:17 +0200 <jade[m]> using subboards and solving it for those
2023-05-01 10:00:51 +0200 <Inst> i'm not that interested in the problem; i was just wondering what someone meant on Reddit when they said they learned all they needed to learn about for loops etc
2023-05-01 10:01:02 +0200 <Inst> when it was the capstone project for their intro to programming with C class
2023-05-01 10:01:07 +0200 <Inst> I have no idea how you'd do this in C
2023-05-01 10:01:17 +0200 <Inst> but then again, maybe my Haskell solution isn't recursive enough
2023-05-01 10:01:19 +0200JScript(~JScript@103.137.12.22)
2023-05-01 10:01:25 +0200 <Inst> https://paste.tomsmeding.com/jhuTGyyR
2023-05-01 10:01:39 +0200 <jade[m]> fair enough
2023-05-01 10:02:02 +0200 <jade[m]> there seems to be a heuristic approach where you greedily go to the square with the least choices in the future
2023-05-01 10:02:08 +0200 <jade[m]> that's interesting
2023-05-01 10:02:19 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 276 seconds)
2023-05-01 10:02:25 +0200JScript(~JScript@103.137.12.22) (Max SendQ exceeded)
2023-05-01 10:02:48 +0200xff0x_(~xff0x@fsa056e3ab.kytj202.ap.nuro.jp)
2023-05-01 10:03:11 +0200 <Inst> Shouldn't we have a function for this?
2023-05-01 10:03:11 +0200 <Inst> fmap (clamp (1, gridSize)) [column, row] == [column, row]
2023-05-01 10:03:36 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2023-05-01 10:03:52 +0200 <jade[m]> I have an interesting idea for a brute force algorithm that would take like 3 lines of haskell
2023-05-01 10:03:59 +0200 <jade[m]> let me try to write it down
2023-05-01 10:05:53 +0200JScript(~JScript@103.137.12.22)
2023-05-01 10:05:55 +0200JScript(~JScript@103.137.12.22) (Max SendQ exceeded)
2023-05-01 10:06:29 +0200 <Inst> https://media.discordapp.net/attachments/968989726633779215/1102506256914202655/image.png?width=21…
2023-05-01 10:06:32 +0200 <Inst> i love you, laziness
2023-05-01 10:06:34 +0200JScript(~JScript@103.137.12.22)
2023-05-01 10:06:40 +0200JScript(~JScript@103.137.12.22) (Max SendQ exceeded)
2023-05-01 10:07:09 +0200JScript(~JScript@103.137.12.22)
2023-05-01 10:07:12 +0200JScript(~JScript@103.137.12.22) (Max SendQ exceeded)
2023-05-01 10:10:32 +0200JScript(~JScript@103.137.12.22)
2023-05-01 10:10:53 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2023-05-01 10:11:39 +0200JScript(~JScript@103.137.12.22) (Max SendQ exceeded)
2023-05-01 10:15:56 +0200JScript(~JScript@103.137.12.22)
2023-05-01 10:15:59 +0200JScript(~JScript@103.137.12.22) (Max SendQ exceeded)
2023-05-01 10:17:23 +0200jade[m]uploaded an image: (20KiB) < https://libera.ems.host/_matrix/media/v3/download/matrix.org/VLKvObixnSPrJPcriMHrwDHF/image.png >
2023-05-01 10:17:24 +0200 <jade[m]> ooooookay
2023-05-01 10:18:03 +0200 <tomsmeding> that went down with a crash
2023-05-01 10:20:41 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2023-05-01 10:24:21 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2023-05-01 10:37:50 +0200JScript(~JScript@103.137.12.22)
2023-05-01 10:38:56 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2023-05-01 10:39:38 +0200falafel(~falafel@2603-8000-d700-115c-a910-fa27-90fe-abc2.res6.spectrum.com) (Ping timeout: 246 seconds)
2023-05-01 10:40:38 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
2023-05-01 10:44:08 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
2023-05-01 10:58:52 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2023-05-01 11:00:38 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
2023-05-01 11:04:33 +0200enva2712(~enva2712@c-73-220-46-13.hsd1.ca.comcast.net)
2023-05-01 11:04:55 +0200caryhartline(~caryhartl@2600:1700:2d0:8d30:9843:3567:836:49e9) (Quit: caryhartline)
2023-05-01 11:05:29 +0200hrberg(~quassel@171.79-160-161.customer.lyse.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2023-05-01 11:05:48 +0200hrberg(~quassel@171.79-160-161.customer.lyse.net)
2023-05-01 11:06:46 +0200 <Inst> btw, ummm, can i ask
2023-05-01 11:07:14 +0200 <Inst> how idiomatic is it these days to abuse either and a custom data type for your function?
2023-05-01 11:07:22 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
2023-05-01 11:07:42 +0200 <Inst> like, you have a bunch of verifications on the input, you have a bunch of exceptions via either
2023-05-01 11:10:23 +0200 <jade[m]> how is that abusing it? Isn't that sort of the intended purpose?
2023-05-01 11:10:23 +0200 <somerandomnick[m> when all the verifications are of Either you may use join. Using Left to match errors is very common, very idiomatic. But beyond I would create my own data constructor, a good opportunity to make the code more expressive
2023-05-01 11:11:02 +0200 <somerandomnick[m> because the name you use for the data constructor turns up in pattern matches
2023-05-01 11:11:11 +0200 <somerandomnick[m> so make it count
2023-05-01 11:16:40 +0200 <somerandomnick[m> @run join . join $ Right (Right (Left "error"))
2023-05-01 11:16:41 +0200 <lambdabot> Left "error"
2023-05-01 11:17:00 +0200 <somerandomnick[m> @run join . join $ Right (Right (Right 2))
2023-05-01 11:17:02 +0200 <lambdabot> Right 2
2023-05-01 11:17:09 +0200Bocaneri(~sauvin@user/Sauvin)
2023-05-01 11:17:32 +0200BocaneriGuest7706
2023-05-01 11:19:29 +0200 <somerandomnick[m> The error type must be shared for this to work. eg Either ErrorDataType is instance of Monad
2023-05-01 11:19:44 +0200jpds2(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
2023-05-01 11:19:55 +0200Sauvin(~sauvin@user/Sauvin) (Ping timeout: 265 seconds)
2023-05-01 11:19:56 +0200jpds2(~jpds@gateway/tor-sasl/jpds)
2023-05-01 11:22:01 +0200 <somerandomnick[m> @run join . join . join $ Right (Left "error")
2023-05-01 11:22:03 +0200 <lambdabot> Left "error"
2023-05-01 11:22:17 +0200enva2712(~enva2712@c-73-220-46-13.hsd1.ca.comcast.net) ()
2023-05-01 11:23:11 +0200 <somerandomnick[m> @type join . join . join
2023-05-01 11:23:12 +0200 <lambdabot> Monad m => m (m (m (m a))) -> m a
2023-05-01 11:24:04 +0200Guest7706Sauvin
2023-05-01 11:30:51 +0200xff0x_(~xff0x@fsa056e3ab.kytj202.ap.nuro.jp) (Ping timeout: 248 seconds)
2023-05-01 11:33:04 +0200Guest42(~Guest42@ip5f5be7a8.dynamic.kabel-deutschland.de)
2023-05-01 11:33:54 +0200 <somerandomnick[m> @type bimap show id
2023-05-01 11:33:55 +0200 <lambdabot> (Bifunctor p, Show a) => p a d -> p String d
2023-05-01 11:36:32 +0200 <geekosaur> could you experiment in /query, please? (DM in element)
2023-05-01 11:37:12 +0200 <somerandomnick[m> I have my own lambdabot, I am trying to show smth here
2023-05-01 11:38:17 +0200 <somerandomnick[m> you can tell by the errors not happening ;-)
2023-05-01 11:47:46 +0200nate1(~nate@98.45.169.16)
2023-05-01 11:52:21 +0200 <Helle> you know, Haskell has one property that it shares with Ruby, it is actually useful to pop open the source of libraries and the like for a reference if you are getting fancy
2023-05-01 11:52:29 +0200nate1(~nate@98.45.169.16) (Ping timeout: 246 seconds)
2023-05-01 11:52:39 +0200 <Helle> because most libraries are actually well laid out, but the documentation is a bit uuuuh, sparse
2023-05-01 11:53:06 +0200 <geekosaur> lots of people believe the types are all you need. sometimes that's even true
2023-05-01 11:53:17 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-05-01 11:53:18 +0200 <Helle> mood
2023-05-01 11:53:51 +0200 <Helle> geekosaur: I mean that is kinda the dream, but sometimes figuring out how the author intended those to be stuck together is non-obvious
2023-05-01 11:54:35 +0200 <geekosaur> (sonetimes the functions are just binding to someone else's library and you're expected to refer to the docs for that. X11 for example does that. I still find it frustrating at times(
2023-05-01 11:55:06 +0200 <mauke> ah, PHP style
2023-05-01 11:56:12 +0200 <mauke> that's one of the things I miss from Perl: a strong documentation and testing culture
2023-05-01 11:57:17 +0200 <Helle> mauke: that is a mood
2023-05-01 11:57:30 +0200 <Helle> I mean I write in like a dozen languages on the regular, so I get to make some comparisons
2023-05-01 11:59:14 +0200 <Helle> anyway, I need to mess with some setting up for vim so I can get some type information on the fly, but reality is, I just hit a ghci or browser for it now
2023-05-01 11:59:23 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:fdd9:cd01:9100:d00b)
2023-05-01 12:05:13 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:fdd9:cd01:9100:d00b) (Ping timeout: 256 seconds)
2023-05-01 12:10:52 +0200titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-05-01 12:17:44 +0200tremon(~tremon@83.80.159.219)
2023-05-01 12:22:14 +0200 <Rembane> Helle: Have you taken a look at ghcid? https://github.com/ndmitchell/ghcid It's quite useful if one tableflips the editor configuration.
2023-05-01 12:31:00 +0200gurkenglas(~gurkengla@dynamic-046-114-179-053.46.114.pool.telefonica.de)
2023-05-01 12:41:36 +0200Guest42(~Guest42@ip5f5be7a8.dynamic.kabel-deutschland.de) (Quit: Connection closed)
2023-05-01 12:43:08 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-e9a3-93a7-d78d-61c4.rev.sfr.net) (Ping timeout: 245 seconds)
2023-05-01 12:46:41 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-109b-bb02-a548-f50a.rev.sfr.net)
2023-05-01 12:49:00 +0200paul_j(~user@2001:8b0:dea0:f3c9:cd47:c8b0:d6:5463)
2023-05-01 12:56:03 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-109b-bb02-a548-f50a.rev.sfr.net) (Ping timeout: 245 seconds)
2023-05-01 12:59:00 +0200cyphase(~cyphase@user/cyphase) (Ping timeout: 265 seconds)
2023-05-01 13:04:11 +0200cyphase(~cyphase@user/cyphase)
2023-05-01 13:27:43 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-0504-91f2-c755-48f0.rev.sfr.net)
2023-05-01 13:36:58 +0200Inst_(~Inst@2601:6c4:4081:2fc0:d143:23:251b:8863)
2023-05-01 13:40:04 +0200gemmaro(~user@240f:74:d1f0:1:ba1:e787:c9e:b1dc)
2023-05-01 13:40:16 +0200Inst(~Inst@2601:6c4:4081:2fc0:984:5bea:8459:33e9) (Ping timeout: 250 seconds)
2023-05-01 13:44:12 +0200bw_(sid2730@user/betawaffle) ()
2023-05-01 13:45:07 +0200bw_(sid2730@user/betawaffle)
2023-05-01 13:46:10 +0200bw_betawaffle
2023-05-01 13:47:06 +0200betawafflebw
2023-05-01 13:49:01 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2023-05-01 13:49:13 +0200tibamita(~tibamita@169.139.0.21)
2023-05-01 13:49:55 +0200tibamita(~tibamita@169.139.0.21) ()
2023-05-01 13:50:00 +0200Guest13(~Guest13@firewall1a.robinson.cam.ac.uk)
2023-05-01 13:51:14 +0200radiance(~tibamita@169.139.0.21)
2023-05-01 13:51:23 +0200 <radiance> hey guys
2023-05-01 13:51:53 +0200 <radiance> im trying to get into haskell but im confused on what it's actually used for
2023-05-01 13:52:13 +0200 <radiance> like, why should i learn it? what does it do
2023-05-01 13:52:26 +0200Guest13(~Guest13@firewall1a.robinson.cam.ac.uk) (Client Quit)
2023-05-01 13:57:02 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds)
2023-05-01 13:57:20 +0200 <radiance> i guess i shouldn't learn it
2023-05-01 13:57:26 +0200 <radiance> damn..
2023-05-01 13:57:43 +0200 <Helle> have fun
2023-05-01 13:58:10 +0200 <radiance> why should i
2023-05-01 13:59:06 +0200 <jade[m]> ask the same question about any other language
2023-05-01 13:59:21 +0200 <jade[m]> haskell is general purpose, you can use it for anything
2023-05-01 13:59:56 +0200 <jade[m]> Haskell is functional and declarative, so the compiler helps you to write safe and modular code
2023-05-01 13:59:56 +0200 <radiance> not helpful
2023-05-01 14:00:00 +0200radiance(~tibamita@169.139.0.21) (Quit: Client closed)
2023-05-01 14:00:24 +0200 <jade[m]> wow, why did you even come to this room in the first place?
2023-05-01 14:01:06 +0200 <jade[m]> It sounds like you don't want to learn Haskell, in which case I'd advice you to spend your time elsewhere
2023-05-01 14:02:27 +0200 <hpc> just keep learning the same language over and over again - you already know it's useful so you're not wasting your time :D
2023-05-01 14:02:47 +0200Hellelooks at her mental repository of languages
2023-05-01 14:02:56 +0200 <Helle> yes, you only need one language and it is uuuuuh
2023-05-01 14:03:32 +0200 <jade[m]> brainfuck
2023-05-01 14:04:07 +0200 <darkling> Mondrian. :)
2023-05-01 14:06:44 +0200xff0x_(~xff0x@fsa056e3ab.kytj202.ap.nuro.jp)
2023-05-01 14:07:09 +0200caryhartline(~caryhartl@2600:1700:2d0:8d30:7403:252e:76f:b28b)
2023-05-01 14:15:22 +0200 <Rembane> INTERCAL <3
2023-05-01 14:20:38 +0200Inst__(~Inst@2601:6c4:4081:2fc0:d8b3:dee1:3160:b47d)
2023-05-01 14:23:47 +0200Inst(~Inst@2601:6c4:4081:2fc0:2587:5a44:82b3:c91)
2023-05-01 14:24:27 +0200Inst_(~Inst@2601:6c4:4081:2fc0:d143:23:251b:8863) (Ping timeout: 250 seconds)
2023-05-01 14:26:20 +0200Inst__(~Inst@2601:6c4:4081:2fc0:d8b3:dee1:3160:b47d) (Ping timeout: 260 seconds)
2023-05-01 14:35:14 +0200bontaq(~user@ool-45779b84.dyn.optonline.net)
2023-05-01 14:35:29 +0200caryhartline(~caryhartl@2600:1700:2d0:8d30:7403:252e:76f:b28b) (Quit: caryhartline)
2023-05-01 14:35:51 +0200 <Helle> is "intText = toStrict . toLazyText . buildInt
2023-05-01 14:36:07 +0200 <Helle> " really the most simple way to turn an Int into Text ?
2023-05-01 14:36:39 +0200bontaq(~user@ool-45779b84.dyn.optonline.net) (Remote host closed the connection)
2023-05-01 14:37:31 +0200 <ncf> pack . show ?
2023-05-01 14:39:43 +0200bontaq(~user@69.119.155.132)
2023-05-01 14:39:56 +0200 <Helle> I was told to not use show for that, but I may be overly cautious
2023-05-01 14:40:55 +0200 <Helle> Now I am unable to find /why/
2023-05-01 14:41:57 +0200Joao003(~Joao003@2804:840:8311:b700:9d7c:6e92:45f4:155)
2023-05-01 14:44:59 +0200 <[exa]> Helle: show is not very configurable w.r.t. how you want the integer to look in the end
2023-05-01 14:45:28 +0200 <[exa]> as in, if you're ok with the show "specification" that very informally say "haskell can parse it back", it's OK
2023-05-01 14:45:53 +0200 <merijn> I mean, I would agree with "don't use show for numbers", but that's mostly because show is, indeed, not configurable :p
2023-05-01 14:47:04 +0200 <[exa]> technically there's no logical barrier that would stop `show` from rendering 42 as 0b101010 or so
2023-05-01 14:47:18 +0200mechap(~mechap@user/mechap) (Ping timeout: 265 seconds)
2023-05-01 14:48:08 +0200mechap(~mechap@user/mechap)
2023-05-01 14:48:33 +0200 <Helle> I mean I guess "intText = toStrict . toLazyText . decimal" the only silliness is that I can't just straight up get it as a text, instead of a lazy text
2023-05-01 14:49:07 +0200 <Helle> (I have Text.Lazy.Builder around anyway for a different format, so it's not like it adds any hassle with that)
2023-05-01 14:49:26 +0200 <[exa]> Helle: my very rough guess on that situation is that there's no reason for having 2 implementations of `decimal` as lazy and strict text, and AFAIK the overhead should disappear
2023-05-01 14:50:54 +0200 <merijn> Helle: Well, that's mostly due to builder being for building large amounts of text, which only makes sense lazily
2023-05-01 14:51:02 +0200 <Helle> So I am doing this to a LOT of int's and uuuh, pack . show is slower.....
2023-05-01 14:51:05 +0200 <Helle> just did a comparison
2023-05-01 14:51:32 +0200 <merijn> Helle: Yes, but if you are making lots of ints into text, you probably want to instead make 1 giant Builder then convert at the end
2023-05-01 14:51:44 +0200 <[exa]> is that the strict pack or lazy pack?
2023-05-01 14:51:50 +0200 <Helle> strict
2023-05-01 14:51:57 +0200 <merijn> Helle: The goal of builder is to give fast, incremental construction of Text
2023-05-01 14:52:23 +0200Me-me(~Me-me@user/me-me) (Quit: Something has gone terribly, terribly wrong, that being that I'm not here any more.)
2023-05-01 14:52:27 +0200 <Helle> merijn: sadly jamming them into XML, I may have to switch to a streaming XML library because my memory load is not entirely happy
2023-05-01 14:52:50 +0200 <Helle> (it's also not too horrendous, but still)
2023-05-01 14:53:22 +0200 <merijn> Helle: How much is it using then?
2023-05-01 14:54:27 +0200 <Helle> merijn: well, degenerate test cases, realistically, it should only briefly double memory
2023-05-01 14:54:34 +0200 <Helle> worst case
2023-05-01 14:54:40 +0200 <Helle> err, realistic case
2023-05-01 14:55:41 +0200 <Helle> so everything ran in a 200MiB and generating the XML pushed it to over 2GiB, which is honestly still not too horrendous
2023-05-01 14:56:05 +0200 <Helle> wait, I am reading these numbers wrong
2023-05-01 14:56:13 +0200 <Helle> let me rerun it with the correct benchmarking setup
2023-05-01 14:56:22 +0200 <Helle> the time is accurate, the memory was not
2023-05-01 15:03:36 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:fdd9:cd01:9100:d00b)
2023-05-01 15:08:13 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:fdd9:cd01:9100:d00b) (Ping timeout: 250 seconds)
2023-05-01 15:10:15 +0200driib(~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat)
2023-05-01 15:12:02 +0200driib(~driib@vmi931078.contaboserver.net)
2023-05-01 15:12:14 +0200cheater(~Username@user/cheater)
2023-05-01 15:16:03 +0200 <Joao003> > 1 + - 1
2023-05-01 15:16:05 +0200 <lambdabot> error:
2023-05-01 15:16:05 +0200 <lambdabot> Precedence parsing error
2023-05-01 15:16:05 +0200 <lambdabot> cannot mix ‘+’ [infixl 6] and prefix `-' [infixl 6] in the same infi...
2023-05-01 15:16:09 +0200 <Joao003> > 1 + (- 1)
2023-05-01 15:16:10 +0200 <lambdabot> 0
2023-05-01 15:16:15 +0200 <Joao003> How many people hate that?
2023-05-01 15:16:53 +0200 <merijn> Joao003: Not nearly as much as I hate "-1" written as "- 1" :p
2023-05-01 15:17:16 +0200 <Joao003> > 1 + -1
2023-05-01 15:17:17 +0200 <lambdabot> error:
2023-05-01 15:17:17 +0200 <lambdabot> Precedence parsing error
2023-05-01 15:17:17 +0200 <lambdabot> cannot mix ‘+’ [infixl 6] and prefix `-' [infixl 6] in the same infi...
2023-05-01 15:17:41 +0200 <Joao003> Ugh. That looks like 1 + -1 should be 0, but no, we need parentheses.
2023-05-01 15:17:58 +0200 <ncf> there is a NegativeLiterals extension
2023-05-01 15:18:14 +0200 <Joao003> How to toggle?
2023-05-01 15:18:24 +0200 <geekosaur> @let {-# LANGUAGE NegativeLiterals #-}
2023-05-01 15:18:25 +0200 <lambdabot> Defined.
2023-05-01 15:18:29 +0200 <merijn> I think the current grammatical handling of - is a mistake, but that's not something fixable now
2023-05-01 15:18:33 +0200 <geekosaur> > 1 + -1
2023-05-01 15:18:34 +0200 <lambdabot> error:
2023-05-01 15:18:34 +0200 <lambdabot> Precedence parsing error
2023-05-01 15:18:35 +0200 <lambdabot> cannot mix ‘+’ [infixl 6] and prefix `-' [infixl 6] in the same infi...
2023-05-01 15:18:38 +0200 <merijn> ncf: Does that actually fix this problem, though?
2023-05-01 15:18:45 +0200 <geekosaur> nope
2023-05-01 15:18:48 +0200 <ncf> guess not
2023-05-01 15:19:03 +0200 <ncf> @let {-# LANGUAGE LexicalNegation #-}
2023-05-01 15:19:04 +0200 <lambdabot> Defined.
2023-05-01 15:19:06 +0200 <ncf> > 1 + -1
2023-05-01 15:19:08 +0200 <lambdabot> error:
2023-05-01 15:19:08 +0200 <lambdabot> Precedence parsing error
2023-05-01 15:19:08 +0200 <lambdabot> cannot mix ‘+’ [infixl 6] and prefix `-' [infixl 6] in the same infi...
2023-05-01 15:19:17 +0200 <merijn> I'm not sure @let works like that?
2023-05-01 15:19:23 +0200 <geekosaur> it does
2023-05-01 15:19:29 +0200 <merijn> % :set -XNegativeLiterals
2023-05-01 15:19:29 +0200 <yahb2> <no output>
2023-05-01 15:19:32 +0200 <merijn> % 1 + -1
2023-05-01 15:19:32 +0200 <yahb2> 0
2023-05-01 15:19:35 +0200 <geekosaur> it just adds a line to L.hs and makes sure the result compiles
2023-05-01 15:19:48 +0200 <merijn> geekosaur: yahb disagrees :p
2023-05-01 15:19:54 +0200 <geekosaur> hm
2023-05-01 15:19:55 +0200 <ncf> are extensions from L.hs actually carried on to the evaluation though
2023-05-01 15:20:03 +0200 <merijn> ncf: Shouldn't be
2023-05-01 15:20:05 +0200 <geekosaur> they're supposed to be
2023-05-01 15:20:13 +0200 <merijn> geekosaur: In ghci they're not
2023-05-01 15:20:30 +0200 <merijn> geekosaur: I'm not sure what mueval does, but it is not unreasonable to do the same
2023-05-01 15:20:40 +0200 <merijn> geekosaur: There's a reason :set and :seti are distinct
2023-05-01 15:21:07 +0200 <merijn> Extensions in loaded source files are not supposed to affect the ghci prompt
2023-05-01 15:21:23 +0200 <merijn> So I can certainly see extensions in L.hs not affecting mueval
2023-05-01 15:22:44 +0200 <geekosaur> hm. but actually it did affect it
2023-05-01 15:23:12 +0200 <geekosaur> it's a syntax error without the extension, not a precedence error
2023-05-01 15:23:42 +0200 <geekosaur> LexicalNegation is another question but I think LB is actually too old for that one
2023-05-01 15:24:22 +0200 <geekosaur> yahb is running a newer ghc and has it
2023-05-01 15:25:39 +0200 <geekosaur> iirc the one is 9.0 anmd the other 9.2)
2023-05-01 15:25:44 +0200califax(~califax@user/califx) (Ping timeout: 240 seconds)
2023-05-01 15:25:48 +0200califax_(~califax@user/califx)
2023-05-01 15:26:41 +0200 <geekosaur> and the reason ghci has the distinction is yiu can focus ghci on multiple source files and it'd be bad or at least confusing for the current language to change with them
2023-05-01 15:26:57 +0200 <geekosaur> but in mueval's case you'll never be focused on anything but L.hs
2023-05-01 15:27:08 +0200califax_califax
2023-05-01 15:30:45 +0200 <geekosaur> plus you don't have :seti at all in mueval's case so you need to do it somehow
2023-05-01 15:34:21 +0200kuttenbrunzer(~kuttenbru@2a02:8108:8b80:1d48:70:260a:bcd3:34c9)
2023-05-01 15:44:47 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-0504-91f2-c755-48f0.rev.sfr.net) (Remote host closed the connection)
2023-05-01 15:45:36 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-0504-91f2-c755-48f0.rev.sfr.net)
2023-05-01 15:49:18 +0200nate1(~nate@98.45.169.16)
2023-05-01 15:54:25 +0200nate1(~nate@98.45.169.16) (Ping timeout: 260 seconds)
2023-05-01 16:01:16 +0200emanuellee(~emanuelle@197.240.208.84)
2023-05-01 16:02:45 +0200ddellacosta(~ddellacos@146.70.168.100) (Ping timeout: 240 seconds)
2023-05-01 16:05:02 +0200ddellacosta(~ddellacos@146.70.165.230)
2023-05-01 16:09:44 +0200emanuellee(~emanuelle@197.240.208.84) (Quit: Connection closed)
2023-05-01 16:14:21 +0200jero98772(~jero98772@2800:484:1d84:9000::3)
2023-05-01 16:15:05 +0200ddellacosta(~ddellacos@146.70.165.230) (Ping timeout: 240 seconds)
2023-05-01 16:17:24 +0200ddellacosta(~ddellacos@146.70.165.166)
2023-05-01 16:18:13 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-05-01 16:20:19 +0200kuttenbrunzer(~kuttenbru@2a02:8108:8b80:1d48:70:260a:bcd3:34c9) (Read error: Connection reset by peer)
2023-05-01 16:20:34 +0200dontdieych(~alarm@132.226.169.184)
2023-05-01 16:24:01 +0200acidbong(6e5528b381@198.108.77.94) (Quit: Gateway shutdown)
2023-05-01 16:24:01 +0200mesaoptimizer|dn(34cef275bb@198.108.77.94) (Quit: Gateway shutdown)
2023-05-01 16:28:28 +0200jero98772(~jero98772@2800:484:1d84:9000::3) (Remote host closed the connection)
2023-05-01 16:28:47 +0200Sgeo(~Sgeo@user/sgeo)
2023-05-01 16:41:28 +0200sudden(~cat@user/sudden) (Read error: Connection reset by peer)
2023-05-01 16:42:18 +0200sudden(~cat@user/sudden)
2023-05-01 16:42:54 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-05-01 16:46:35 +0200 <Joao003> Does anyone use rational numbers?
2023-05-01 16:46:59 +0200 <Joao003> > (1 % 2) + (1 % 3)
2023-05-01 16:47:01 +0200 <lambdabot> 5 % 6
2023-05-01 16:47:11 +0200Guest|14(~Guest|14@mobile-107-77-207-220.mobile.att.net)
2023-05-01 16:47:34 +0200 <Joao003> I mean, if you don't want to have float precision errors, I guess you can use them
2023-05-01 16:51:23 +0200Guest|14(~Guest|14@mobile-107-77-207-220.mobile.att.net) (Client Quit)
2023-05-01 16:53:25 +0200 <geekosaur> I have one program that uses them extensively, but you generally wouldn't notice because Rational has a Fractional instance so all the numeric literals look like doubles
2023-05-01 16:54:33 +0200 <geekosaur> you wouldn't even tell by looking at the types because I use a type alias which I switched between Double, Rational, and CReal until I decided Rational was good enough
2023-05-01 16:56:19 +0200 <Joao003> > 0.1+0.2/=0.3
2023-05-01 16:56:20 +0200 <lambdabot> True
2023-05-01 16:56:28 +0200 <Joao003> > (0.1+0.2)/=0.3
2023-05-01 16:56:29 +0200 <lambdabot> True
2023-05-01 16:56:33 +0200 <Joao003> Ugh
2023-05-01 16:56:44 +0200 <merijn> > 0.1 + 0.2 :: Rational
2023-05-01 16:56:46 +0200 <lambdabot> 3 % 10
2023-05-01 16:56:50 +0200 <Joao003> > 1 % 10 + 2 % 10 == 3 % 10
2023-05-01 16:56:52 +0200 <lambdabot> True
2023-05-01 16:57:04 +0200 <ski> > 0.1 + 0.2 == (0.3 :: Rational)
2023-05-01 16:57:05 +0200 <lambdabot> True
2023-05-01 16:57:52 +0200 <Joao003> > 0.1 + 0.2
2023-05-01 16:57:53 +0200 <lambdabot> 0.30000000000000004
2023-05-01 16:58:12 +0200 <Joao003> > (0.1+0.2) :: Rational
2023-05-01 16:58:12 +0200 <geekosaur> this is why people use Rational
2023-05-01 16:58:14 +0200 <lambdabot> 3 % 10
2023-05-01 16:58:46 +0200 <Joao003> > length $ show (0.1+0.2)
2023-05-01 16:58:48 +0200 <lambdabot> 19
2023-05-01 16:59:12 +0200 <ski> is anything unclear ?
2023-05-01 16:59:31 +0200 <Joao003> > 30000000000000004 % (10^18)
2023-05-01 16:59:33 +0200 <lambdabot> 7500000000000001 % 250000000000000000
2023-05-01 17:00:58 +0200Square(~Square@user/square)
2023-05-01 17:01:29 +0200 <Joao003> > (0.5) % (1)
2023-05-01 17:01:30 +0200 <lambdabot> error:
2023-05-01 17:01:31 +0200 <lambdabot> • Ambiguous type variable ‘a0’ arising from a use of ‘show_M200312366393...
2023-05-01 17:01:31 +0200 <lambdabot> prevents the constraint ‘(Show a0)’ from being solved.
2023-05-01 17:01:56 +0200 <ski> @type (%)
2023-05-01 17:01:57 +0200 <lambdabot> Integral a => a -> a -> Ratio a
2023-05-01 17:02:02 +0200 <Joao003> >:D
2023-05-01 17:02:18 +0200 <ski> `Double's not an instance of `Integral'
2023-05-01 17:02:38 +0200mokee(~mokee@37.228.215.215)
2023-05-01 17:03:28 +0200JScript(~JScript@103.137.12.22) (Ping timeout: 248 seconds)
2023-05-01 17:17:01 +0200justsomeguy(~justsomeg@user/justsomeguy)
2023-05-01 17:17:14 +0200mechap(~mechap@user/mechap) (Ping timeout: 246 seconds)
2023-05-01 17:18:30 +0200mechap(~mechap@user/mechap)
2023-05-01 17:19:15 +0200mechap(~mechap@user/mechap) (Client Quit)
2023-05-01 17:20:32 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
2023-05-01 17:21:00 +0200mechap(~mechap@user/mechap)
2023-05-01 17:23:09 +0200mokee(~mokee@37.228.215.215) (Quit: off)
2023-05-01 17:24:51 +0200 <fr33domlover> o/ How do I turn a small piece of data, a single Haskell record, into an ACID persistent single-value micro-database? No need for concurrent writes (often not even concurrent reads), I just want a "TVar that is stored to disk and can be safely restored, even after s crash"
2023-05-01 17:25:44 +0200 <fr33domlover> (I'm aware of TCache and acid-state, looking for people who have good experience with them (or with other tools) and can recommend them)
2023-05-01 17:26:37 +0200 <merijn> fr33domlover: Honestly: SQLite
2023-05-01 17:26:55 +0200 <merijn> fr33domlover: The acid part of acid-state is more...aspirational than reality
2023-05-01 17:27:19 +0200 <merijn> And produces corrupted state more frequently than you'd like
2023-05-01 17:27:36 +0200 <merijn> fr33domlover: OTOH, after extensively using SQLite my main conclusion is: I need to use more SQLite
2023-05-01 17:28:10 +0200 <merijn> fr33domlover: Probably overkill for the problem you describe, otoh it is easy and you're 100% certain you'll not run into problems if you ever need more than a tiny bit of info stored ;)
2023-05-01 17:29:56 +0200xff0x_(~xff0x@fsa056e3ab.kytj202.ap.nuro.jp) (Ping timeout: 250 seconds)
2023-05-01 17:30:27 +0200 <fr33domlover> merijn: SQLite even if I just want to store a single little Haskell record? I suppose it's possible and safe indeed, I was just really hoping that some magical Haskellish option would appear "^_^ I suppose I could write my own little wrapper for a single-record SQLite database
2023-05-01 17:31:36 +0200 <merijn> fr33domlover: getting actual ACID is *hard*, so if you truly care about that, then that's the way I'd go, tbh
2023-05-01 17:32:50 +0200 <nitrix> It's never just one record. Once you open Pandora's box... x]
2023-05-01 17:33:20 +0200 <fr33domlover> Thank you merijn! Yeah, I want something that can really survives crashes etc. just like a SQL database, except for a single row. I'm going with SQLite then :)
2023-05-01 17:33:50 +0200 <merijn> And yeah, as nitrix says: Inevitably you will wanna store more :p
2023-05-01 17:34:01 +0200fr33domloverstill wonders why acid-state couldn't copy sqlite's implementation of ACIDity... oh well
2023-05-01 17:34:20 +0200 <merijn> fr33domlover: Oh, let me give you one pro-tip/trick I learned
2023-05-01 17:34:43 +0200 <merijn> fr33domlover: https://www.sqlite.org/pragma.html#pragma_user_version
2023-05-01 17:34:45 +0200 <fr33domlover> (I'm implementing an actor system so it's per-actor storage, that's why it'll often be small)
2023-05-01 17:35:12 +0200 <nitrix> merijn, For migrations?
2023-05-01 17:35:16 +0200 <merijn> nitrix: yeah
2023-05-01 17:35:21 +0200 <nitrix> Neat.
2023-05-01 17:35:37 +0200 <merijn> The ability to have a specific schema version inside the database is great
2023-05-01 17:35:49 +0200 <merijn> So you can change your schema later and easily detect it
2023-05-01 17:36:05 +0200 <nitrix> "SQLite automatically increments the schema-version whenever the schema changes."
2023-05-01 17:36:19 +0200 <nitrix> "As each SQL statement runs, the schema version is checked to ensure that the schema has not changed since the SQL statement was prepared."
2023-05-01 17:36:20 +0200gurkenglas(~gurkengla@dynamic-046-114-179-053.46.114.pool.telefonica.de) (Ping timeout: 268 seconds)
2023-05-01 17:36:41 +0200 <nitrix> That can both be a huge advantage and a surprise I guess.
2023-05-01 17:37:35 +0200 <[exa]> surprise? why
2023-05-01 17:37:50 +0200gurkenglas(~gurkengla@dynamic-046-114-182-194.46.114.pool.telefonica.de)
2023-05-01 17:38:00 +0200 <[exa]> (except for if your dbms relies on permanently changing the schema, at which point the dbms is the surprise...)
2023-05-01 17:38:41 +0200 <geekosaur> you add a view that shouldn't affect your running app (e.g. for reporting), your app breaks
2023-05-01 17:39:30 +0200 <monochrom> Perhaps never use prepared statements. >:)
2023-05-01 17:39:57 +0200 <geekosaur> gotta prepare them before executing them. and keeping around prepared statements is often a win for common queries
2023-05-01 17:40:48 +0200Alex_test(~al_test@178.34.150.15) (Ping timeout: 248 seconds)
2023-05-01 17:40:48 +0200AlexZenon(~alzenon@178.34.150.15) (Ping timeout: 248 seconds)
2023-05-01 17:41:21 +0200 <Helle> me the last 5 times trying to solve a problem "I am sure pattern matching isn't this powerful" and then of course it actually is
2023-05-01 17:41:47 +0200 <jade[m]> yeah
2023-05-01 17:42:00 +0200 <merijn> geekosaur: I'm not sure why that would break anything?
2023-05-01 17:42:17 +0200 <merijn> geekosaur: It mostly "Just Works" for me
2023-05-01 17:42:39 +0200 <geekosaur> see what noitrix said about enabling automatic schema versioning
2023-05-01 17:42:43 +0200 <merijn> Anyway, the schema_version doesn't really seem like something most users should be bothering with
2023-05-01 17:42:46 +0200 <geekosaur> *nitrix
2023-05-01 17:42:57 +0200 <jade[m]> not to mention that everything is technically a pattern match - any control structure like guards or if-else are simply `case expr of True -> foo; False -> bar`
2023-05-01 17:43:25 +0200 <merijn> geekosaur: That was a quote of what pragma does, but yeah, I wouldn't use that for versioning anyway, the user_version one is explicitly only for you and lets you do that just fine
2023-05-01 17:46:06 +0200AlexZenon(~alzenon@178.34.150.15)
2023-05-01 17:46:08 +0200Alex_test(~al_test@178.34.150.15)
2023-05-01 17:46:11 +0200 <geekosaur> right; someone asked why it might be a surprise, I gave an example
2023-05-01 17:53:25 +0200 <monochrom> Yeah I just meant don't keep prepared statements or unrefridged food overnight :)
2023-05-01 17:54:13 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
2023-05-01 17:55:34 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
2023-05-01 17:59:53 +0200Joao003(~Joao003@2804:840:8311:b700:9d7c:6e92:45f4:155) (Quit: Leaving)
2023-05-01 18:01:41 +0200cyphase(~cyphase@user/cyphase) (Ping timeout: 246 seconds)
2023-05-01 18:05:43 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-05-01 18:07:13 +0200ddellacosta(~ddellacos@146.70.165.166) (Ping timeout: 276 seconds)
2023-05-01 18:08:07 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2023-05-01 18:08:44 +0200ddellacosta(~ddellacos@146.70.171.166)
2023-05-01 18:08:53 +0200gurkenglas(~gurkengla@dynamic-046-114-182-194.46.114.pool.telefonica.de) (Remote host closed the connection)
2023-05-01 18:10:09 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2023-05-01 18:11:45 +0200heraldo(~heraldo@user/heraldo)
2023-05-01 18:13:22 +0200 <Helle> *sigh* reworking code, someone was being too smart with types and now I can't use 2 code paths on the same data as ofcourse that is mutually exclusive due to type....
2023-05-01 18:13:37 +0200 <Helle> not saying they made a bad choice to begin with, but they did create more work now
2023-05-01 18:15:43 +0200 <monochrom> @quote monochrom debates
2023-05-01 18:15:43 +0200 <lambdabot> monochrom says: All pointless debates can be settled by going polymorphic.
2023-05-01 18:16:42 +0200skiidly wonders in which fashion they were being too smart with types
2023-05-01 18:20:06 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:fdd9:cd01:9100:d00b)
2023-05-01 18:20:10 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-05-01 18:30:44 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-05-01 18:30:53 +0200gemmaro(~user@240f:74:d1f0:1:ba1:e787:c9e:b1dc) (Remote host closed the connection)
2023-05-01 18:31:45 +0200econo(uid147250@user/econo)
2023-05-01 18:33:43 +0200mei(~mei@user/mei) (Remote host closed the connection)
2023-05-01 18:33:50 +0200nick4(~nick@50.86.118.19)
2023-05-01 18:36:25 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-0504-91f2-c755-48f0.rev.sfr.net) (Remote host closed the connection)
2023-05-01 18:37:14 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-0504-91f2-c755-48f0.rev.sfr.net)
2023-05-01 18:38:18 +0200nick4(~nick@50.86.118.19) (Ping timeout: 265 seconds)
2023-05-01 18:41:20 +0200rbancroft(~ryan@d104-205-58-199.abhsia.telus.net) (Remote host closed the connection)
2023-05-01 18:41:22 +0200mei(~mei@user/mei)
2023-05-01 18:47:04 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 250 seconds)
2023-05-01 18:47:37 +0200jpds2(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2023-05-01 18:48:01 +0200jpds2(~jpds@gateway/tor-sasl/jpds)
2023-05-01 18:53:43 +0200pharonix71(~pharonix7@user/pharonix71) (Remote host closed the connection)
2023-05-01 18:54:09 +0200pharonix71(~pharonix7@user/pharonix71)
2023-05-01 18:59:08 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 246 seconds)
2023-05-01 18:59:40 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-05-01 19:01:16 +0200marinelli(~weechat@gateway/tor-sasl/marinelli)
2023-05-01 19:02:47 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2023-05-01 19:06:25 +0200gurkenglas(~gurkengla@dynamic-046-114-182-194.46.114.pool.telefonica.de)
2023-05-01 19:12:44 +0200heraldo(~heraldo@user/heraldo) (Ping timeout: 246 seconds)
2023-05-01 19:13:48 +0200heraldo(~heraldo@user/heraldo)
2023-05-01 19:15:13 +0200coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2023-05-01 19:18:42 +0200heraldo(~heraldo@user/heraldo) (Ping timeout: 268 seconds)
2023-05-01 19:28:29 +0200nek0(~nek0@2a01:4f8:222:2b41::12) (Quit: The Lounge - https://thelounge.chat)
2023-05-01 19:34:43 +0200heraldo(~heraldo@user/heraldo)
2023-05-01 19:35:00 +0200enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
2023-05-01 19:41:28 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-0504-91f2-c755-48f0.rev.sfr.net) (Ping timeout: 245 seconds)
2023-05-01 19:48:38 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-5d8c-8b3d-ea84-cebb.rev.sfr.net)
2023-05-01 19:50:27 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-01 19:50:49 +0200nate1(~nate@98.45.169.16)
2023-05-01 19:52:47 +0200elain4(~textual@static-71-251-226-194.rcmdva.fios.verizon.net)
2023-05-01 19:53:24 +0200CyberSoul(~ray@2405:201:680a:b174:7b30:abcb:1d56:b23)
2023-05-01 19:54:25 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds)
2023-05-01 19:55:44 +0200heraldo(~heraldo@user/heraldo) (Quit: heraldo)
2023-05-01 19:55:55 +0200nate1(~nate@98.45.169.16) (Ping timeout: 260 seconds)
2023-05-01 20:02:06 +0200 <CyberSoul> Hello Everyone
2023-05-01 20:02:19 +0200 <[exa]> o/
2023-05-01 20:02:32 +0200 <CyberSoul> do you guys think ghcup could be packaged for debian ?
2023-05-01 20:03:12 +0200 <monochrom> Do you mean that the debian repo should have a deb for ghcup?
2023-05-01 20:03:13 +0200 <CyberSoul> so debian and its derivatives could use the latest toolset
2023-05-01 20:03:17 +0200 <CyberSoul> yes
2023-05-01 20:03:58 +0200 <monochrom> Oh IMO the debian repo should have much more than that. Or rather, should have much newer versions across the board in the first place.
2023-05-01 20:04:32 +0200 <monochrom> But I guess my opinion is in direct conflict with the whole point of debian, so meh.
2023-05-01 20:05:15 +0200 <monochrom> Well, taking in ghcup is a good compromise. So official packages can still be old, but there is a convenient program for fetching new ones.
2023-05-01 20:05:52 +0200 <monochrom> But now the tug war is merely moved to: which outdated version of ghcup should be in the debian repo haha.
2023-05-01 20:06:36 +0200 <[exa]> there were lots of tradeoffs in "debian folks manage to update everything in time" vs "pandoc from the .deb still works"
2023-05-01 20:06:50 +0200 <CyberSoul> haha yes they should have newer packages
2023-05-01 20:07:01 +0200 <monochrom> Plus ghcup has a self-update command that conflicts with distro package monopoly. That one will be a thorny issue i.e. should it be disabled or what should it do instead.
2023-05-01 20:07:26 +0200 <[exa]> the self-update isn't a big deal (you can patch it out)
2023-05-01 20:07:43 +0200 <dsal> That defeats "so debian and its derivatives could use the latest toolset"
2023-05-01 20:07:47 +0200 <CyberSoul> and exactly if ghcup can be included the tools it manages would be so much easier to get
2023-05-01 20:08:11 +0200 <monochrom> Oh disabling it is easy. Changing it to fit into the distro context is also easy.
2023-05-01 20:08:28 +0200 <monochrom> The thorny issue is once again people will debate forever which one to do.
2023-05-01 20:08:41 +0200 <CyberSoul> ghcup would be simpler to package than incrementally packaging continuosly outdated packages
2023-05-01 20:08:41 +0200 <monochrom> And half of the people will always be unhappy.
2023-05-01 20:09:12 +0200 <monochrom> Right? Even in Haskell, adopting any real record system is easy, the hard part is which one to choose from. >:)
2023-05-01 20:09:16 +0200Joao003(~Joao003@2804:840:8311:b700:9d7c:6e92:45f4:155)
2023-05-01 20:10:04 +0200elain4(~textual@static-71-251-226-194.rcmdva.fios.verizon.net) (Remote host closed the connection)
2023-05-01 20:10:05 +0200ski. o O ( perhaps there's a way to get the worst of all worlds )
2023-05-01 20:10:10 +0200 <monochrom> For now I take the route of "getting ghcup from ghcup's website is easy" and be complacent and recommend doing nothing.
2023-05-01 20:15:20 +0200 <[exa]> CyberSoul: actually you might try this right on the ghcup repo https://hackage.haskell.org/package/cabal-debian
2023-05-01 20:20:51 +0200 <tomsmeding> CyberSoul: simpler to package sure, but that wouldn't help debian at all: there are a whole bunch of packages in the debian repos depending on haskell libraries, and they'd all have to work with whatever toolchain you're installing with ghcup
2023-05-01 20:21:14 +0200 <tomsmeding> the package system works because the package system controls all versions
2023-05-01 20:21:45 +0200bjobjo(~bjobjo@user/bjobjo)
2023-05-01 20:21:53 +0200 <Clint> [exa]: the dependencies would have to be done first
2023-05-01 20:21:57 +0200 <tomsmeding> and if debian would hard-install a particular ghc version with ghcup in order to support the other haskell-based packages in the repos, then you're back in precisely the same spot as we currently are, except the same outdated ghc version is now installed using ghcup
2023-05-01 20:21:58 +0200 <tomsmeding> which is not a win
2023-05-01 20:22:24 +0200 <tomsmeding> putting ghcup in the debian repos would purely be for users, not for system packages
2023-05-01 20:23:50 +0200 <[exa]> Clint: yeah I was just trying to figure out what was the problem last time, and looks like some packages are still missing
2023-05-01 20:24:23 +0200 <[exa]> haskus stuff and yaml-streamly, among other
2023-05-01 20:25:00 +0200 <[exa]> (and streamly in general)
2023-05-01 20:26:43 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-05-01 20:26:44 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-05-01 20:26:44 +0200wroathe(~wroathe@user/wroathe)
2023-05-01 20:28:55 +0200 <monochrom> Moral of the story: Monopolies and dictatorships work. >:)
2023-05-01 20:29:20 +0200 <monochrom> Wait, how do those work in the plural?! haha
2023-05-01 20:32:21 +0200cyphase(~cyphase@user/cyphase)
2023-05-01 20:33:26 +0200nek0(~nek0@2a01:4f8:222:2b41::12)
2023-05-01 20:33:53 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-5d8c-8b3d-ea84-cebb.rev.sfr.net) (Remote host closed the connection)
2023-05-01 20:34:12 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-5d8c-8b3d-ea84-cebb.rev.sfr.net)
2023-05-01 20:39:47 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-05-01 20:55:26 +0200Inst_(~Inst@2601:6c4:4081:2fc0:95de:ea8b:4618:4a8d)
2023-05-01 20:58:08 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:fdd9:cd01:9100:d00b) (Remote host closed the connection)
2023-05-01 20:59:15 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 260 seconds)
2023-05-01 20:59:30 +0200Inst(~Inst@2601:6c4:4081:2fc0:2587:5a44:82b3:c91) (Ping timeout: 260 seconds)
2023-05-01 21:13:39 +0200enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
2023-05-01 21:21:50 +0200michalz(~michalz@185.246.207.205)
2023-05-01 21:24:42 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2023-05-01 21:25:42 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2023-05-01 21:26:06 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-5d8c-8b3d-ea84-cebb.rev.sfr.net) (Remote host closed the connection)
2023-05-01 21:26:30 +0200Joao003(~Joao003@2804:840:8311:b700:9d7c:6e92:45f4:155) (Quit: Leaving)
2023-05-01 21:26:59 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-5d8c-8b3d-ea84-cebb.rev.sfr.net)
2023-05-01 21:32:38 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:fdd9:cd01:9100:d00b)
2023-05-01 21:36:20 +0200marinelli(~weechat@gateway/tor-sasl/marinelli) (Remote host closed the connection)
2023-05-01 21:37:09 +0200marinelli(~weechat@gateway/tor-sasl/marinelli)
2023-05-01 21:44:37 +0200trev(~trev@user/trev) (Quit: trev)
2023-05-01 21:45:35 +0200pavonia(~user@user/siracusa)
2023-05-01 21:47:40 +0200Ellenor(ellenor@callbox.trd.is) (Quit: Bye Open Projects!)
2023-05-01 22:06:18 +0200jumper149(~jumper149@base.felixspringer.xyz)
2023-05-01 22:07:07 +0200zeenk(~zeenk@2a02:2f04:a20f:5200::7fe)
2023-05-01 22:07:23 +0200krskrft(~textual@24-220-240-23-static.midco.net)
2023-05-01 22:08:07 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:fdd9:cd01:9100:d00b) (Remote host closed the connection)
2023-05-01 22:20:46 +0200Ellenor(~Ellenor@callbox.trd.is)
2023-05-01 22:25:17 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
2023-05-01 22:31:48 +0200tired(~tired@user/tired) (Quit: /)
2023-05-01 22:33:35 +0200tired(~tired@user/tired)
2023-05-01 22:50:01 +0200ubert(~Thunderbi@p200300ecdf15588e8ba3eaebe9e1d757.dip0.t-ipconnect.de)
2023-05-01 22:50:53 +0200waleee(~waleee@h-176-10-137-138.NA.cust.bahnhof.se)
2023-05-01 22:58:24 +0200lottaquestions(~nick@2607:fa49:503f:6d00:b69d:225e:2844:c837) (Quit: Konversation terminated!)
2023-05-01 23:05:16 +0200ub(~Thunderbi@p548c9793.dip0.t-ipconnect.de)
2023-05-01 23:06:11 +0200ubert(~Thunderbi@p200300ecdf15588e8ba3eaebe9e1d757.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2023-05-01 23:06:11 +0200ububert
2023-05-01 23:08:08 +0200TonyStone(~TonyStone@cpe-74-76-57-186.nycap.res.rr.com) (Quit: Leaving)
2023-05-01 23:08:36 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2023-05-01 23:12:50 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
2023-05-01 23:18:52 +0200jero98772(~jero98772@2800:484:1d84:9000::3)
2023-05-01 23:32:51 +0200Joao003(~Joao003@2804:840:8311:b700:41a1:fe85:9a5f:a01e)
2023-05-01 23:32:58 +0200Joao003(~Joao003@2804:840:8311:b700:41a1:fe85:9a5f:a01e) (Read error: Connection reset by peer)
2023-05-01 23:36:39 +0200krskrft(~textual@24-220-240-23-static.midco.net) (Quit: Textual IRC Client: www.textualapp.com)
2023-05-01 23:40:04 +0200biberu(~biberu@user/biberu) (Read error: Connection reset by peer)
2023-05-01 23:42:18 +0200o-90(~o-90@gateway/tor-sasl/o-90)
2023-05-01 23:42:35 +0200o-90(~o-90@gateway/tor-sasl/o-90) (Remote host closed the connection)
2023-05-01 23:43:42 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-05-01 23:44:29 +0200waleee(~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 268 seconds)
2023-05-01 23:44:33 +0200tired(~tired@user/tired) (Quit: /)
2023-05-01 23:45:11 +0200tired(~tired@user/tired)
2023-05-01 23:50:53 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-01 23:51:35 +0200inversed(~inversed@bcdcac82.skybroadband.com) (Ping timeout: 260 seconds)
2023-05-01 23:52:20 +0200nate1(~nate@98.45.169.16)
2023-05-01 23:54:45 +0200biberu(~biberu@user/biberu)
2023-05-01 23:55:37 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds)
2023-05-01 23:56:24 +0200waleee(~waleee@h-176-10-137-138.NA.cust.bahnhof.se)
2023-05-01 23:57:26 +0200nate1(~nate@98.45.169.16) (Ping timeout: 268 seconds)