2023/10/28

2023-10-28 00:00:27 +0200 <Inst> i like mapM_ :(
2023-10-28 00:00:35 +0200 <Inst> other needless cute options:
2023-10-28 00:00:42 +0200 <int-e> and meh, those do blocks on lines 18-19 is also ugly
2023-10-28 00:00:49 +0200 <Inst> first `qs` (pivSwapTo - 1)
2023-10-28 00:01:03 +0200 <EvanR> Arrows...
2023-10-28 00:01:23 +0200 <EvanR> Arrow code is an all-in or all-out thing xD
2023-10-28 00:02:07 +0200 <geekosaur> h-Arrow-ing
2023-10-28 00:03:08 +0200 <int-e> nice pun
2023-10-28 00:03:34 +0200 <Inst> unfortunately the function default precedence doesn't play well with addition / subtraction operators :(
2023-10-28 00:03:49 +0200 <int-e> that's what parentheses are for
2023-10-28 00:04:51 +0200merijn(~merijn@233-142-158-163.dynamic.caiway.nl)
2023-10-28 00:05:41 +0200 <EvanR> parentheses?! what do you think this is, lisp?
2023-10-28 00:07:10 +0200 <int-e> > (+ 1 2)
2023-10-28 00:07:11 +0200 <lambdabot> error:
2023-10-28 00:07:11 +0200 <lambdabot> • Could not deduce (Num t0)
2023-10-28 00:07:11 +0200 <lambdabot> from the context: (Num a, Num t, Num (t -> a))
2023-10-28 00:07:18 +0200 <int-e> I rather suspect it isn't
2023-10-28 00:07:28 +0200 <Inst> > ((+) 1 2)
2023-10-28 00:07:29 +0200 <lambdabot> 3
2023-10-28 00:08:05 +0200 <EvanR> we like to do railyard shunting to figure out how the expression is treed
2023-10-28 00:08:24 +0200 <Inst> i guess i should go convert the code to STRef and see how it works out?
2023-10-28 00:09:10 +0200merijn(~merijn@233-142-158-163.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2023-10-28 00:09:25 +0200 <haskellbridge> 12<C​elestial> with a lisp that would be haßkell
2023-10-28 00:15:31 +0200 <mauke> > (+ 1 2) 1
2023-10-28 00:15:32 +0200 <lambdabot> error:
2023-10-28 00:15:32 +0200 <lambdabot> • Could not deduce (Num t0)
2023-10-28 00:15:32 +0200 <lambdabot> from the context: (Num a, Num t, Num (t -> a))
2023-10-28 00:16:02 +0200 <EvanR> can the matrixers not use lambdabot
2023-10-28 00:17:14 +0200 <ghoulguy> All their messages are prefixed with a nickname, so probably not
2023-10-28 00:18:37 +0200Guest|17(~Guest|17@068-186-020-129.res.spectrum.com) (Ping timeout: 255 seconds)
2023-10-28 00:23:26 +0200 <Unicorn_Princess> https://gitlab.haskell.org/ghc/ghc/-/issues/602 :|
2023-10-28 00:26:23 +0200 <EvanR> the gist I got is it would be nice if you could enable language pragmas only for certain pieces of a source file
2023-10-28 00:26:39 +0200 <Unicorn_Princess> perhaps my grandchildren will be able to
2023-10-28 00:26:45 +0200 <Unicorn_Princess> at this rate
2023-10-28 00:27:26 +0200hololeap(~quassel@user/hololeap) (Quit: Bye)
2023-10-28 00:27:41 +0200 <EvanR> I guess we need to switch to NeoHaskell
2023-10-28 00:28:24 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 258 seconds)
2023-10-28 00:28:40 +0200hololeap(~quassel@user/hololeap)
2023-10-28 00:32:35 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-10-28 00:36:14 +0200aljazmc_(~aljazmc@user/aljazmc) (Remote host closed the connection)
2023-10-28 00:36:37 +0200tan00kee(~paul@pauloliver.dev)
2023-10-28 00:38:28 +0200 <rgw> wow that issue was created 19 years ago
2023-10-28 00:38:38 +0200 <rgw> i'm sure it will be handled any day now
2023-10-28 00:38:58 +0200 <dostoyevsky2> Is it true tht NeoHaskell uses Comic Sans as the default font?
2023-10-28 00:39:39 +0200 <geekosaur> they are in fact working toward selective warning suppression
2023-10-28 00:39:45 +0200 <c_wraith> no. if it did, it would have
2023-10-28 00:39:51 +0200 <c_wraith> some reason to use it
2023-10-28 00:39:56 +0200 <rgw> is neohaskell a haskell meme now?
2023-10-28 00:43:34 +0200phma(phma@2001:5b0:211f:d828:d963:986:c941:cee8) (Read error: Connection reset by peer)
2023-10-28 00:43:57 +0200phma(~phma@host-67-44-208-132.hnremote.net)
2023-10-28 00:50:35 +0200acidjnk(~acidjnk@p200300d6e72b9302c5eda31b9368d419.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2023-10-28 00:53:24 +0200 <yushyin> always was
2023-10-28 00:54:18 +0200 <yushyin> or better, 'always has been' with this other meme image, https://imgflip.com/s/meme/Always-Has-Been.png
2023-10-28 00:54:34 +0200 <rgw> that's the way i read it
2023-10-28 00:58:15 +0200 <dostoyevsky2> I prefer EmojiHaskell more, though.. NeoHaskell sounds a bit dated imho
2023-10-28 00:59:18 +0200 <yushyin> rgw: https://i.imgflip.com/843d9w.jpg :P?
2023-10-28 01:00:11 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Quit: WeeChat 4.0.2)
2023-10-28 01:00:31 +0200 <rgw> posthaskell
2023-10-28 01:01:05 +0200 <geekosaur> emoji is so 3 years ago
2023-10-28 01:01:25 +0200 <rgw> it's all about animated gifs now
2023-10-28 01:03:19 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
2023-10-28 01:03:44 +0200target_i(~target_i@217.175.14.39) (Quit: leaving)
2023-10-28 01:05:17 +0200Square(~Square@user/square)
2023-10-28 01:05:44 +0200santiagopim(~user@90.167.66.131) (Ping timeout: 255 seconds)
2023-10-28 01:10:39 +0200dorin(~dorin@user/dorin) (Ping timeout: 248 seconds)
2023-10-28 01:11:13 +0200falafel(~falafel@62.175.113.194.dyn.user.ono.com)
2023-10-28 01:15:47 +0200gooba(~gooba@90-231-13-185-no3430.tbcn.telia.com)
2023-10-28 01:16:07 +0200arahael(~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net)
2023-10-28 01:22:31 +0200 <Inst> davean, so, you were right about the STRef
2023-10-28 01:23:07 +0200chomwitt(~chomwitt@2a02:587:7a01:8f00:1ac0:4dff:fedb:a3f1) (Ping timeout: 264 seconds)
2023-10-28 01:27:09 +0200 <Inst> i'll probably cook it into a proper benchmark later
2023-10-28 01:29:58 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-10-28 01:32:30 +0200 <Inst> I'm extremely annoyed that STRef is outperforming accum parameter, by up to 50%, in this case, however
2023-10-28 01:41:14 +0200arahael(~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) (Ping timeout: 258 seconds)
2023-10-28 01:43:51 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 260 seconds)
2023-10-28 01:56:58 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2023-10-28 01:57:07 +0200chexum_(~quassel@gateway/tor-sasl/chexum)
2023-10-28 02:03:06 +0200Deide(d0130db69a@user/deide)
2023-10-28 02:04:41 +0200tomboy64(~tomboy64@user/tomboy64) (Ping timeout: 255 seconds)
2023-10-28 02:18:50 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2023-10-28 02:19:13 +0200falafel(~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 255 seconds)
2023-10-28 02:19:30 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-10-28 02:27:23 +0200Inst(~Inst@120.244.192.250) (Remote host closed the connection)
2023-10-28 02:30:48 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2023-10-28 02:31:54 +0200Inst(~Inst@120.244.192.250)
2023-10-28 02:31:59 +0200 <Inst> oh, i think i know what's actually going on
2023-10-28 02:32:01 +0200 <Inst> :(
2023-10-28 02:32:09 +0200 <Inst> i'm using accumulating parameter with monadic code
2023-10-28 02:32:34 +0200 <Inst> accumulating parameter code works well with direct calls, but with monadic code, your last function call isn't the last entry in the list, but rather
2023-10-28 02:32:44 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Read error: Connection reset by peer)
2023-10-28 02:33:02 +0200 <Inst> it's the (>>) operator
2023-10-28 02:33:06 +0200 <Inst> been there, done that
2023-10-28 02:33:33 +0200 <Inst> so no true TCO
2023-10-28 02:33:52 +0200phma(~phma@host-67-44-208-132.hnremote.net) (Read error: Connection reset by peer)
2023-10-28 02:34:15 +0200phma(phma@2001:5b0:211f:d828:d963:986:c941:cee8)
2023-10-28 02:36:19 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2023-10-28 02:36:58 +0200notzmv(~zmv@user/notzmv)
2023-10-28 02:42:01 +0200chexum_(~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.)
2023-10-28 02:43:29 +0200chexum(~quassel@gateway/tor-sasl/chexum)
2023-10-28 02:54:39 +0200Square(~Square@user/square) (Ping timeout: 245 seconds)
2023-10-28 02:57:34 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 245 seconds)
2023-10-28 02:59:04 +0200Lycurgus(~georg@li1192-118.members.linode.com)
2023-10-28 02:59:04 +0200Lycurgus(~georg@li1192-118.members.linode.com) (Changing host)
2023-10-28 02:59:04 +0200Lycurgus(~georg@user/Lycurgus)
2023-10-28 02:59:34 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2023-10-28 03:02:40 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
2023-10-28 03:02:45 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2023-10-28 03:04:09 +0200Lord_of_Life_Lord_of_Life
2023-10-28 03:07:58 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2023-10-28 03:11:07 +0200 <EvanR> Inst, monadic code is just normal code, you just need to look at the definition of >>=
2023-10-28 03:11:45 +0200 <EvanR> if your accumulating parameter needs to be strict, then seq needs to appear somewhere
2023-10-28 03:17:53 +0200Lycurgus(~georg@user/Lycurgus) (Quit: leaving)
2023-10-28 03:20:37 +0200vglfr(~vglfr@88.155.177.86)
2023-10-28 03:30:20 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-10-28 03:31:53 +0200 <Inst> i bang patterened it a lot
2023-10-28 03:32:01 +0200rosco(~rosco@yp-150-69.tm.net.my)
2023-10-28 03:32:24 +0200 <Inst> in either case, my attempt to StateT s0 (ST s1) a seems to be failing.
2023-10-28 03:33:38 +0200dostoyevsky2(~sck@user/dostoyevsky2) (Quit: leaving)
2023-10-28 03:33:55 +0200dostoyevsky2(~sck@user/dostoyevsky2)
2023-10-28 03:36:24 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2023-10-28 03:37:25 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-10-28 03:39:53 +0200rembo10_(~rembo10@main.remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
2023-10-28 03:41:56 +0200 <Inst> lol, i space leaked
2023-10-28 03:42:35 +0200cheater(~Username@user/cheater)
2023-10-28 03:43:01 +0200rembo10(~rembo10@main.remulis.com)
2023-10-28 03:44:30 +0200 <Inst> serves me right
2023-10-28 03:46:01 +0200tan00kee(~paul@pauloliver.dev) (Quit: WeeChat 4.0.5)
2023-10-28 03:47:40 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-10-28 03:49:59 +0200 <Inst> i'mm so screwed
2023-10-28 03:50:01 +0200 <Inst> https://paste.tomsmeding.com/k4FvdFkk
2023-10-28 03:52:41 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
2023-10-28 03:53:13 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com)
2023-10-28 03:56:40 +0200 <Inst> code broken, forget it
2023-10-28 04:00:46 +0200otto_s(~user@p5de2f7d1.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
2023-10-28 04:02:25 +0200otto_s(~user@p5de2f729.dip0.t-ipconnect.de)
2023-10-28 04:04:43 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2023-10-28 04:04:43 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-10-28 04:04:43 +0200finn_elijaFinnElija
2023-10-28 04:22:36 +0200 <Inst> jeez, this is just irritating :(
2023-10-28 04:24:10 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2023-10-28 04:25:27 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2023-10-28 04:26:39 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 240 seconds)
2023-10-28 04:26:55 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:a583:cfb:37b7:5112) (Remote host closed the connection)
2023-10-28 04:27:12 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:3851:3484:9307:a1fe)
2023-10-28 04:30:51 +0200srk_(~sorki@user/srk)
2023-10-28 04:33:00 +0200otto_s(~user@p5de2f729.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2023-10-28 04:33:24 +0200srk(~sorki@user/srk) (Ping timeout: 245 seconds)
2023-10-28 04:33:40 +0200srk_srk
2023-10-28 04:35:01 +0200otto_s(~user@p5b044193.dip0.t-ipconnect.de)
2023-10-28 04:35:52 +0200 <Inst> ah, i understand what I did wrong
2023-10-28 04:36:01 +0200 <Inst> the last time I benchmarked StateT vs ST, I was using for
2023-10-28 04:36:37 +0200 <Inst> in monadic code, folds are just much more efficient than accum param because you can't trigger TCO
2023-10-28 04:37:18 +0200 <Inst> whereas with folds, you can potentially trigger list fusion
2023-10-28 04:37:18 +0200 <Inst> got it
2023-10-28 04:38:21 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2023-10-28 04:41:51 +0200td_(~td@i53870923.versanet.de) (Ping timeout: 240 seconds)
2023-10-28 04:43:58 +0200td_(~td@i53870920.versanet.de)
2023-10-28 04:44:39 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 240 seconds)
2023-10-28 04:47:13 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2023-10-28 04:52:13 +0200ubert1(~Thunderbi@91.141.50.52.wireless.dyn.drei.com)
2023-10-28 04:52:58 +0200ubert(~Thunderbi@91.141.46.255.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
2023-10-28 04:52:58 +0200ubert1ubert
2023-10-28 04:54:47 +0200[_](~itchyjunk@user/itchyjunk/x-7353470)
2023-10-28 04:58:46 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 272 seconds)
2023-10-28 04:59:30 +0200sm(~sm@plaintextaccounting/sm)
2023-10-28 05:00:21 +0200sm(~sm@plaintextaccounting/sm) (Client Quit)
2023-10-28 05:08:21 +0200aforemny(~aforemny@2001:9e8:6ce5:bf00:1e8f:75b8:6118:d8e)
2023-10-28 05:09:00 +0200troydm(~troydm@user/troydm) (Ping timeout: 258 seconds)
2023-10-28 05:09:27 +0200td_(~td@i53870920.versanet.de) (Ping timeout: 240 seconds)
2023-10-28 05:10:10 +0200aforemny_(~aforemny@2001:9e8:6cf6:7100:4ac5:e904:a193:520d) (Ping timeout: 272 seconds)
2023-10-28 05:11:32 +0200td_(~td@i5387091A.versanet.de)
2023-10-28 05:15:09 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2023-10-28 05:15:09 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-10-28 05:15:09 +0200finn_elijaFinnElija
2023-10-28 05:22:04 +0200edr(~edr@user/edr) (Quit: Leaving)
2023-10-28 05:28:48 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
2023-10-28 05:33:21 +0200tijko(~igloo@172.58.219.217)
2023-10-28 05:42:29 +0200 <tijko> @here is there a bot that will test compile code?
2023-10-28 05:42:29 +0200 <lambdabot> I know nothing about is.
2023-10-28 05:43:04 +0200 <probie> @where love
2023-10-28 05:43:04 +0200 <lambdabot> http://en.wikipedia.org/wiki/Where_Is_Love%3F
2023-10-28 05:43:09 +0200 <EvanR> > let code = 3 + 7 in code
2023-10-28 05:43:10 +0200 <lambdabot> 10
2023-10-28 05:43:16 +0200 <probie> that didn't work out as I intended
2023-10-28 05:43:39 +0200 <probie> @here love
2023-10-28 05:43:39 +0200 <lambdabot> http://en.wikipedia.org/wiki/Where_Is_Love%3F
2023-10-28 05:44:23 +0200 <EvanR> Inst, there's no TCO in haskell, since there's no call stack, and every call is normal order reduction anyway
2023-10-28 05:44:44 +0200Inst(~Inst@120.244.192.250) (Ping timeout: 255 seconds)
2023-10-28 05:50:56 +0200tijko(~igloo@172.58.219.217) (Ping timeout: 255 seconds)
2023-10-28 05:53:03 +0200ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 240 seconds)
2023-10-28 05:55:01 +0200ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net)
2023-10-28 06:01:17 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 255 seconds)
2023-10-28 06:10:33 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2023-10-28 06:11:00 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-10-28 06:20:49 +0200thaumavorio(~thaumavor@thaumavor.io) (Quit: ZNC 1.8.2 - https://znc.in)
2023-10-28 06:23:11 +0200thaumavorio(~thaumavor@thaumavor.io)
2023-10-28 06:27:25 +0200pixelmonk(~pixelmonk@173.46.79.26) (Quit: WeeChat 4.1.0)
2023-10-28 06:34:17 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2023-10-28 06:35:32 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-10-28 06:44:18 +0200aforemny_(~aforemny@2001:9e8:6cf4:800:bfe8:1a13:2556:84ce)
2023-10-28 06:45:36 +0200aforemny(~aforemny@2001:9e8:6ce5:bf00:1e8f:75b8:6118:d8e) (Ping timeout: 258 seconds)
2023-10-28 07:01:33 +0200nyc(~nyc@2603-7000-a106-2fb5-0000-0000-0000-1f21.res6.spectrum.com) (Ping timeout: 248 seconds)
2023-10-28 07:16:22 +0200vglfr(~vglfr@88.155.177.86) (Read error: Connection reset by peer)
2023-10-28 07:17:19 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2023-10-28 07:29:30 +0200troydm(~troydm@user/troydm)
2023-10-28 07:35:32 +0200harveypwca(~harveypwc@2601:246:c280:6a90:837d:db39:3eea:f7db)
2023-10-28 07:39:38 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 272 seconds)
2023-10-28 07:43:31 +0200myme(~myme@2a01:799:d60:e400:9f43:ca0d:9ecf:24fd) (Ping timeout: 264 seconds)
2023-10-28 07:43:33 +0200rgw(~R@2605:a601:a0df:5600:8d84:33a2:dab6:e31f) (Read error: Connection reset by peer)
2023-10-28 07:44:04 +0200myme(~myme@2a01:799:d60:e400:5aab:e46b:41f3:b6c7)
2023-10-28 07:49:09 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-10-28 07:53:49 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 248 seconds)
2023-10-28 07:54:46 +0200johnw(~johnw@69.62.242.138) (Quit: ZNC - http://znc.in)
2023-10-28 07:55:43 +0200johnw(~johnw@69.62.242.138)
2023-10-28 07:58:42 +0200srk_(~sorki@user/srk)
2023-10-28 08:00:55 +0200srk(~sorki@user/srk) (Ping timeout: 264 seconds)
2023-10-28 08:01:31 +0200srk_srk
2023-10-28 08:03:44 +0200CrunchyFlakes_(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de)
2023-10-28 08:04:14 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
2023-10-28 08:05:37 +0200arahael(~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net)
2023-10-28 08:48:20 +0200Hooloovoo(~Hooloovoo@hax0rbana.org) (Ping timeout: 255 seconds)
2023-10-28 08:50:35 +0200Hooloovoo(~Hooloovoo@hax0rbana.org)
2023-10-28 09:00:52 +0200Lycurgus(~georg@user/Lycurgus)
2023-10-28 09:05:30 +0200 <probie> EvanR: What precisely do you mean by "there's no TCO in Haskell"? TCO is a compiler optimisation, and the presence of a call stack is an implementation detail and not related to the language itself.
2023-10-28 09:07:43 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-10-28 09:12:40 +0200Guest7(~Guest7@250.79-105-213.static.virginmediabusiness.co.uk)
2023-10-28 09:12:59 +0200 <Guest7> hi, i have some code trying to implement a polar lagrange transform
2023-10-28 09:13:10 +0200 <Guest7> but it seems to have a bugf
2023-10-28 09:13:19 +0200 <Guest7> can anyone help?
2023-10-28 09:14:14 +0200 <Guest7> i have it plotting with juicypixels
2023-10-28 09:14:15 +0200 <Guest7> https://paste.tomsmeding.com/Utcy72Vd
2023-10-28 09:15:58 +0200 <Guest7> it gives NaN, which i think means it must be dividing by zero
2023-10-28 09:16:34 +0200 <probie> > 1/(0 :: Double)
2023-10-28 09:16:35 +0200 <Guest7> the multivariate lagrange interpolation has division by a determinant, but i cant see why it would break if the interpolation works correctly
2023-10-28 09:16:36 +0200 <lambdabot> Infinity
2023-10-28 09:16:47 +0200 <probie> > 0/(0 :: Double)
2023-10-28 09:16:48 +0200 <lambdabot> NaN
2023-10-28 09:16:57 +0200 <Guest7> agreed
2023-10-28 09:16:59 +0200harveypwca(~harveypwc@2601:246:c280:6a90:837d:db39:3eea:f7db) (Quit: Leaving)
2023-10-28 09:17:18 +0200 <probie> > sqrt (-1 :: Double)
2023-10-28 09:17:20 +0200 <lambdabot> NaN
2023-10-28 09:17:26 +0200 <Guest7> ahh...
2023-10-28 09:17:43 +0200 <Guest7> could be not divide by zero i suppose
2023-10-28 09:17:59 +0200 <Guest7> the determinant its dividing by shouldnt be zero. because the poles are not coaligned
2023-10-28 09:19:10 +0200 <mauke> > 1/0 - 1/0
2023-10-28 09:19:12 +0200 <lambdabot> NaN
2023-10-28 09:20:18 +0200 <tomsmeding> Guest7: try putting a traceShowId around the argument of sqrt, and around the second argument of (/)
2023-10-28 09:20:22 +0200 <tomsmeding> from Debug.Trace
2023-10-28 09:20:50 +0200 <Guest7> i think its because its 1d after the polar transform...
2023-10-28 09:20:55 +0200 <Guest7> that makes the det always 0
2023-10-28 09:21:14 +0200 <Guest7> it takes the radius as the interpolant "weight", i think thats whats doing it
2023-10-28 09:21:37 +0200 <Guest7> i found it guarding for 0 in the calc of del
2023-10-28 09:22:14 +0200 <tomsmeding> ... or you can stare at the code with domain knowledge, indeed :p
2023-10-28 09:23:48 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
2023-10-28 09:24:59 +0200euleritian(~euleritia@x52716a95.dyn.telefonica.de)
2023-10-28 09:25:36 +0200 <Guest7> i dont think the determinant calcualtion is right
2023-10-28 09:25:37 +0200 <Guest7> determinant [[1.3002465638163236,0.982793723247329],[0.8637778515112974,0.3487710035839072],[1.1835849315851377,0.9237491335745737]]
2023-10-28 09:25:38 +0200 <Guest7> 0.0
2023-10-28 09:25:59 +0200 <Guest7> can anyone check the implementation?
2023-10-28 09:26:13 +0200 <tomsmeding> hoe does a non-square thing have a determinant
2023-10-28 09:26:15 +0200 <tomsmeding> *how
2023-10-28 09:26:21 +0200 <Guest7> i wrote it from a paper but i think i might have got it wrong
2023-10-28 09:26:29 +0200 <Guest7> erp
2023-10-28 09:26:39 +0200 <Guest7> it has to be sqaure apparently, thanks!
2023-10-28 09:28:01 +0200 <tomsmeding> also skimming your determinant implementation, I believe it's the O(n!) version
2023-10-28 09:28:09 +0200 <tomsmeding> there are more efficient algorithms
2023-10-28 09:28:10 +0200euleritian(~euleritia@x52716a95.dyn.telefonica.de) (Read error: Connection reset by peer)
2023-10-28 09:28:28 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-10-28 09:29:41 +0200 <Guest7> heres the version i have now
2023-10-28 09:29:46 +0200 <Guest7> it gives a tail error
2023-10-28 09:29:47 +0200 <Guest7> https://paste.tomsmeding.com/mcYjirfT
2023-10-28 09:30:00 +0200 <Guest7> could you link me a better determinant algo?
2023-10-28 09:30:22 +0200santiagopim(~user@90.167.66.131)
2023-10-28 09:30:23 +0200billchenchina(~billchenc@103.152.35.21)
2023-10-28 09:31:52 +0200 <Guest7> i got the version im using from here
2023-10-28 09:31:54 +0200 <Guest7> https://github.com/mjgpy3/MyHaskellMathStuff/blob/master/Math/MatrixOps.hs
2023-10-28 09:32:06 +0200 <tomsmeding> I think you're using this formula, right? Laplace_expansion
2023-10-28 09:32:12 +0200 <tomsmeding> oh oops
2023-10-28 09:32:16 +0200 <tomsmeding> https://en.wikipedia.org/wiki/Determinant#Laplace_expansion
2023-10-28 09:32:34 +0200 <tomsmeding> yeah
2023-10-28 09:32:39 +0200 <Guest7> i was working from this
2023-10-28 09:32:40 +0200 <Guest7> https://evoq-eval.siam.org/Portals/0/Publications/SIURO/Vol1_Issue1/A_Simple_Expression_for_Multiv…
2023-10-28 09:32:59 +0200 <tomsmeding> I mean I'd first get your code correct before introducing a more efficient, more complicated algorithm here :p
2023-10-28 09:33:01 +0200 <Guest7> basically expression (7)
2023-10-28 09:33:26 +0200 <Guest7> well its someone elses determinant calculation and it seems error prone
2023-10-28 09:33:48 +0200 <tomsmeding> yeah that seems like the same formula in different notation
2023-10-28 09:33:55 +0200 <Guest7> and this is supp to go in a net neuronal mapping, so it should be fast if possible
2023-10-28 09:34:05 +0200 <tomsmeding> get the rest of your code correct first
2023-10-28 09:34:15 +0200 <Guest7> hmm?
2023-10-28 09:34:21 +0200 <Guest7> the only error is in the det calc im sure
2023-10-28 09:34:31 +0200 <Guest7> the laplace bit is something differrent
2023-10-28 09:34:40 +0200 <tomsmeding> print the matrix you're giving it as input and print the resulting determinant
2023-10-28 09:34:40 +0200 <Guest7> interpolation formula that just uses the det calc
2023-10-28 09:34:47 +0200 <tomsmeding> and check it by hand
2023-10-28 09:35:50 +0200 <tomsmeding> removeCols i rs = map (\r -> let (left, right) = splitAt i r in left ++ tail right) rs
2023-10-28 09:35:57 +0200 <tomsmeding> use your list functions :p
2023-10-28 09:37:57 +0200 <Guest7> its  it gets the determinant calcualtion right
2023-10-28 09:37:58 +0200 <Guest7> https://paste.tomsmeding.com/te0dGKLV
2023-10-28 09:38:01 +0200 <Guest7> if i do it by hand
2023-10-28 09:38:12 +0200 <Guest7> but it throws a tail error if i do it via the call to it!?
2023-10-28 09:38:41 +0200 <tomsmeding> what is the matrix that it's erroring on?
2023-10-28 09:38:52 +0200 <Guest7> thanks for the alternate expression, i literally just copy pasted it
2023-10-28 09:39:41 +0200 <Guest7> still gives the same error tho
2023-10-28 09:39:46 +0200coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-10-28 09:39:48 +0200 <tomsmeding> yeah should do the same thing
2023-10-28 09:39:56 +0200 <Guest7> https://paste.tomsmeding.com/ohZo2joK
2023-10-28 09:40:03 +0200 <tomsmeding> what is the problematic matrix?
2023-10-28 09:40:09 +0200 <Guest7> oh right, i thought it might not give the tail error
2023-10-28 09:40:13 +0200 <Guest7> i wonder whats doing that!
2023-10-28 09:41:24 +0200 <Guest7> er the problem matrix is, in eg2
2023-10-28 09:41:25 +0200 <tomsmeding> 'eg2' evaluates fine for me
2023-10-28 09:41:34 +0200 <tomsmeding> -0.29630365918569423
2023-10-28 09:41:36 +0200 <Guest7> right, but thats the matrix it gets from eg1
2023-10-28 09:41:45 +0200 <Guest7> and thats the expression that fails in the call
2023-10-28 09:42:14 +0200 <tomsmeding> trigger the tail error, and print the matrix that leads to that error
2023-10-28 09:42:21 +0200 <tomsmeding> this is apparently not it, because it doesn't error :p
2023-10-28 09:42:43 +0200 <tomsmeding> (I think the problem is _not_ in 'determinant')
2023-10-28 09:43:30 +0200sm(~sm@plaintextaccounting/sm)
2023-10-28 09:43:35 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2023-10-28 09:43:45 +0200euleritian(~euleritia@x52716a95.dyn.telefonica.de)
2023-10-28 09:44:10 +0200euleritian(~euleritia@x52716a95.dyn.telefonica.de) (Read error: Connection reset by peer)
2023-10-28 09:44:27 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-10-28 09:44:36 +0200Maeda(~Maeda@91-161-10-149.subs.proxad.net) (Quit: leaving)
2023-10-28 09:44:44 +0200 <Guest7> https://paste.tomsmeding.com/Fk9qhpkz
2023-10-28 09:44:51 +0200sm(~sm@plaintextaccounting/sm) (Client Quit)
2023-10-28 09:44:51 +0200 <Guest7> yeah its *not* the determinant cal
2023-10-28 09:45:02 +0200 <Guest7> but somehow the way its being used triggers an error from within it!
2023-10-28 09:45:05 +0200 <Guest7> its confusing as hell!
2023-10-28 09:45:33 +0200 <tomsmeding> is the error that you are getting your "tail' !! " error?
2023-10-28 09:46:04 +0200 <tomsmeding> write `determinant' mat = determinant (traceShowId mat)` and use determinant' instead of determinant
2023-10-28 09:46:13 +0200 <tomsmeding> import Debug.Trace to get traceShowId
2023-10-28 09:46:57 +0200Jackneill(~Jackneill@20014C4E1E03D800AF259D09E48C0D87.dsl.pool.telekom.hu)
2023-10-28 09:47:17 +0200 <tomsmeding> a better algorithm for the determinant is by the way to gaussian elimination on the matrix using only row-add operations to reduce the thing to a triangular matrix, of which the determinant is just the product of the entries on the diagonal
2023-10-28 09:47:26 +0200 <tomsmeding> row-add operations don't change the determinant
2023-10-28 09:47:35 +0200 <tomsmeding> this is an O(n^3) algorithm because Gaussian elimination is O(n^3)
2023-10-28 09:47:55 +0200 <tomsmeding> also, for 2-by-2 matrices the optimal algorithm is directly computing ad-bc :p
2023-10-28 09:48:28 +0200 <Guest7> https://paste.tomsmeding.com/IQv3sD8e
2023-10-28 09:48:58 +0200 <Guest7> its supposed to work in very many dimensions, as many as neuronal inputs
2023-10-28 09:49:30 +0200 <tomsmeding> ah I see
2023-10-28 09:49:36 +0200 <tomsmeding> well those are not square matrices, are they? :)
2023-10-28 09:50:07 +0200 <Guest7> yeah, i guess that would give a tail error
2023-10-28 09:51:14 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
2023-10-28 09:51:37 +0200euleritian(~euleritia@x52716a95.dyn.telefonica.de)
2023-10-28 09:51:50 +0200 <Guest7> ok so the square matrix is the full det, i guess its doing the detj's wrong
2023-10-28 09:55:46 +0200 <Guest7> aha, where the atan is theres only one entry
2023-10-28 09:55:48 +0200 <Guest7> derp
2023-10-28 09:55:49 +0200 <Guest7> thanks
2023-10-28 09:56:40 +0200 <tomsmeding> glad I could be a rubber duck :)
2023-10-28 09:56:54 +0200 <Guest7> yes it works!
2023-10-28 09:58:17 +0200 <Guest7> https://paste.tomsmeding.com/8hZgtsDu
2023-10-28 09:58:32 +0200 <Guest7> it gives a crazy picture
2023-10-28 09:59:14 +0200danza(~francesco@151.43.151.98)
2023-10-28 09:59:57 +0200acidjnk(~acidjnk@p200300d6e72b9355f44ae38018441913.dip0.t-ipconnect.de)
2023-10-28 10:00:40 +0200 <Guest7> its not quite the desired algo as it has to do some rectification
2023-10-28 10:00:50 +0200 <Guest7> its eventually going to be a support set
2023-10-28 10:01:30 +0200 <Guest7> basically if its on a line to one of the points, its cos of just the radial direction
2023-10-28 10:01:38 +0200 <Guest7> normalised so that its 1 when its on that pole
2023-10-28 10:01:54 +0200 <Guest7> so if you imagine a bunch of poles at different radiuses surrounding an origin
2023-10-28 10:02:13 +0200 <Guest7> the cos waves are bunched up when its in the direction of a closer pole
2023-10-28 10:02:50 +0200 <Guest7> if this is 3/4 of the function, then its 1 just at the
2023-10-28 10:03:14 +0200 <Guest7> origin, and 0 at the poles
2023-10-28 10:03:28 +0200 <Guest7> then you can do leave one out, and support each origin seperately
2023-10-28 10:03:39 +0200 <Guest7> each point as the origin in turn.
2023-10-28 10:03:49 +0200 <Guest7> with all the other contributions at the other poles being 0
2023-10-28 10:04:01 +0200 <Guest7> so you can kind of use it like a trig lagrange function
2023-10-28 10:04:11 +0200 <Guest7> by how each of the contributions is just for one pole
2023-10-28 10:04:30 +0200 <Guest7> as a basis this is great, since it already fits all the points, is orthogonal
2023-10-28 10:04:41 +0200 <Guest7> so you can support the infill region
2023-10-28 10:04:57 +0200 <Guest7> and there are some ways that this can be made smooth with conditions over the coeffecient series
2023-10-28 10:05:22 +0200 <Guest7> and you can also make it so when a new incoming data point arives
2023-10-28 10:05:28 +0200 <Guest7> its fist supported by the basis
2023-10-28 10:05:49 +0200 <Guest7> before the basis is extended with contributions where it features as origin/pole
2023-10-28 10:06:00 +0200euleritian(~euleritia@x52716a95.dyn.telefonica.de) (Read error: Connection reset by peer)
2023-10-28 10:06:06 +0200 <Guest7> that way all the previous contributions are fixed to fit each point in turn
2023-10-28 10:06:19 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2023-10-28 10:06:21 +0200 <Guest7> in order to do that using gradient descent
2023-10-28 10:06:27 +0200 <Guest7> and preserving the smoothness
2023-10-28 10:06:34 +0200 <Guest7> you have to use angle of shallowest approach
2023-10-28 10:06:41 +0200 <Guest7> the opposite of what gradient descent would give you
2023-10-28 10:07:03 +0200danzaquack
2023-10-28 10:07:17 +0200 <Guest7> so you have to kind of descend towards the origin along the fastest approach, and then navigate round the elipse to find the angle of shallowest approach.
2023-10-28 10:07:42 +0200 <Guest7> guaranteeing smooth fits in this way by a descent method is pretty awasomesauce
2023-10-28 10:07:47 +0200mmhat(~mmh@p200300f1c7445ef6ee086bfffe095315.dip0.t-ipconnect.de)
2023-10-28 10:08:00 +0200mmhat(~mmh@p200300f1c7445ef6ee086bfffe095315.dip0.t-ipconnect.de) (Client Quit)
2023-10-28 10:10:46 +0200 <Guest7> https://ibb.co/L1jZfdF
2023-10-28 10:11:41 +0200 <Guest7> tomsmeding: you wana help me make these basis functions into a net?
2023-10-28 10:12:05 +0200 <Guest7> the autofitting property is pretty alluring
2023-10-28 10:12:18 +0200 <Guest7> no train, perfect fit, smooth interpolation, viola!
2023-10-28 10:12:29 +0200 <tomsmeding> Guest7: my experience with this kind of analysis is very limited :p
2023-10-28 10:12:46 +0200 <Guest7> thats quite polite!
2023-10-28 10:13:57 +0200 <Guest7> basically its normally quite an involved training process, with no guarantee of convergence, to fit some points with a net
2023-10-28 10:14:09 +0200 <Guest7> this thing does it without training
2023-10-28 10:14:29 +0200coot(~coot@89-69-206-216.dynamic.chello.pl) (Remote host closed the connection)
2023-10-28 10:14:37 +0200 <Guest7> and the smoothness idea basically is avoiding overfitting
2023-10-28 10:14:53 +0200coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-10-28 10:16:11 +0200 <Guest7> anyway, thanks for the help, ill return at some point if i ever finish it
2023-10-28 10:16:18 +0200 <[exa]> good morning
2023-10-28 10:16:20 +0200 <Guest7> shame theres not too much ppl about to help
2023-10-28 10:16:35 +0200neceve(~neceve@user/neceve)
2023-10-28 10:16:39 +0200 <tomsmeding> you may or may not have better luck in a channel more geared towards continuous analysis :p
2023-10-28 10:16:42 +0200 <[exa]> Guest7: it's night everywhere
2023-10-28 10:16:43 +0200 <Guest7> [exa] my room has no windows, its alway nighttime
2023-10-28 10:17:05 +0200 <[exa]> Guest7: btw how come the "shallowest descent" doesn't stop entirely?
2023-10-28 10:17:07 +0200 <tomsmeding> Guest7: start talking about algebra or category theory here, suddenly there's people around
2023-10-28 10:17:16 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
2023-10-28 10:17:33 +0200 <Guest7> [exa] its something to do with there being an overdetermined support
2023-10-28 10:17:41 +0200 <Guest7> if that makes sense
2023-10-28 10:17:52 +0200 <Guest7> like i think it could converge to within some region more or less
2023-10-28 10:18:13 +0200fendor(~fendor@2a02:8388:1640:be00:4648:ee17:640e:e578)
2023-10-28 10:18:14 +0200 <Guest7> within some tolerance, otherwise i cant see how the steepest vs shallowest descent would lead to different results
2023-10-28 10:18:19 +0200euleritian(~euleritia@x52716a95.dyn.telefonica.de)
2023-10-28 10:18:27 +0200 <Guest7> if it was underdetermined it would never fit exactly
2023-10-28 10:18:36 +0200 <Guest7> if its overdetermined i think there is wiggle room
2023-10-28 10:18:56 +0200 <Guest7> so it would be like, which choice
2023-10-28 10:19:20 +0200 <Guest7> and i think if you do the shallowest descent there is some theorem which means it should be smooth
2023-10-28 10:19:39 +0200 <Guest7> basically, like, if your doing steepest descent, thats when varying any contribution has the most drastic impact
2023-10-28 10:20:01 +0200 <Guest7> visa versa, so the shallowest descent should have each contribution being least sensitive
2023-10-28 10:20:08 +0200 <Guest7> adjusting it making lower impact
2023-10-28 10:20:18 +0200 <Guest7> hence shallower descent <-> smoothness
2023-10-28 10:20:26 +0200 <Guest7> if that makes sense?
2023-10-28 10:21:27 +0200 <Guest7> i mean, there is no guarantee that this holds away from the point your fitting i guess
2023-10-28 10:21:57 +0200 <Guest7> maybe some kind of localisation condition, with possibility for random discontinuities in the far field
2023-10-28 10:22:20 +0200 <[exa]> yeah it makes sense for smoothness but I'm not sure if a constant zero is the kind of smoothness you're seeking
2023-10-28 10:22:25 +0200 <Guest7> but you wouldnt really expect interpolations to fit or be smooth by how they fit, away from where they fit
2023-10-28 10:23:00 +0200 <Guest7> [exa]: sure, its just a regularization condition, there is a constant of proportionality to how much its prioritised
2023-10-28 10:23:10 +0200 <[exa]> ok
2023-10-28 10:23:44 +0200 <Guest7> er? no thats not right, i think it should just fit exactly, there isnt even any regularizer here to keep it smooth, it just ends up smooth by how you approach the solution, its weird
2023-10-28 10:24:00 +0200rosco(~rosco@yp-150-69.tm.net.my) (Quit: Lost terminal)
2023-10-28 10:24:19 +0200 <Guest7> but, yeah, it should be nonzero, just by firtue of fitting the points by *some kind of gradient descent*
2023-10-28 10:24:25 +0200 <Guest7> virtue*
2023-10-28 10:24:58 +0200 <Guest7> did you get the idea about how each of the points would be taken as an origin against the other points as poles, each in turn
2023-10-28 10:25:11 +0200 <Guest7> so that the trg functions only contribute their
2023-10-28 10:25:32 +0200 <Guest7> so theres like a bunch of terms in the frame, for each point
2023-10-28 10:25:49 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-10-28 10:25:52 +0200 <Guest7> like, all the cos periodicities that are 1 at the origin and 0 at the poles
2023-10-28 10:26:06 +0200 <Guest7> for each point as an origin. so like, a full series for each point
2023-10-28 10:26:14 +0200`2jt(~jtomas@90.162.208.36)
2023-10-28 10:26:16 +0200 <Guest7> then when the new point arrives, its fit by this entire set
2023-10-28 10:26:27 +0200 <Guest7> and a bunch of new frame elements are added using this new point
2023-10-28 10:26:27 +0200 <[exa]> Guest7: I'm probably not going to get it in the entirety, too much morning
2023-10-28 10:26:40 +0200 <Guest7> its a really cool idea if you can get to grips with it
2023-10-28 10:26:50 +0200 <[exa]> the shallowest thing was just a first usual view on a thing tha can go wrong
2023-10-28 10:27:18 +0200 <Guest7> growing the frame, fixing the coefs to each incoming point, leaving enough flexibility by the supports at the new point to support the next and so on
2023-10-28 10:27:48 +0200 <Guest7> [exa]: i mean, if you get there by steepest descent it still gives a fit
2023-10-28 10:27:53 +0200 <[exa]> also, beware floating point errors, innocent-looking linear algebra stuff explodes easily in computers
2023-10-28 10:27:57 +0200 <Guest7> but this smoothness idea i thought was interesting
2023-10-28 10:28:11 +0200 <Guest7> [exa]: fragile machines
2023-10-28 10:28:26 +0200 <[exa]> fragile inversions
2023-10-28 10:29:11 +0200 <Guest7> then how it works as a neuron is like, its a multivariate function, so it takes the vector from the previous layer, each scalar being output from one of these functions
2023-10-28 10:29:23 +0200 <[exa]> yeah that should work OK imo
2023-10-28 10:29:39 +0200 <[exa]> nvm have to find food, good luck :]
2023-10-28 10:29:43 +0200 <Guest7> and just fits everything out the box, seems awesome
2023-10-28 10:29:48 +0200 <Guest7> [exa] peace
2023-10-28 10:30:11 +0200Guest7(~Guest7@250.79-105-213.static.virginmediabusiness.co.uk) (Quit: Connection closed)
2023-10-28 10:31:57 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-10-28 10:37:07 +0200Lycurgus(~georg@user/Lycurgus) (Quit: leaving)
2023-10-28 10:38:16 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:3851:3484:9307:a1fe) (Remote host closed the connection)
2023-10-28 10:39:42 +0200coot(~coot@89-69-206-216.dynamic.chello.pl) (Remote host closed the connection)
2023-10-28 10:40:47 +0200coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-10-28 10:44:49 +0200tzh(~tzh@c-71-193-181-0.hsd1.or.comcast.net) (Quit: zzz)
2023-10-28 10:48:54 +0200Simikando(~Simikando@adsl-dyn216.91-127-84.t-com.sk)
2023-10-28 10:48:56 +0200target_i(~target_i@217.175.14.39)
2023-10-28 10:50:20 +0200econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2023-10-28 10:52:11 +0200random-jellyfish(~tiber@user/random-jellyfish)
2023-10-28 11:00:57 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
2023-10-28 11:03:05 +0200Hooloovoo(~Hooloovoo@hax0rbana.org) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in)
2023-10-28 11:03:13 +0200billchenchina(~billchenc@103.152.35.21) (Remote host closed the connection)
2023-10-28 11:09:13 +0200Hooloovoo(~Hooloovoo@hax0rbana.org)
2023-10-28 11:11:41 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:d94b:a6c4:b05d:2c65)
2023-10-28 11:18:13 +0200paddymahoney(~paddymaho@cpe883d24bcf597-cmbc4dfb741f80.cpe.net.cable.rogers.com) (Remote host closed the connection)
2023-10-28 11:26:00 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2023-10-28 11:27:01 +0200Pickchea(~private@user/pickchea)
2023-10-28 11:29:56 +0200paddymahoney(~paddymaho@cpe883d24bcf597-cmbc4dfb741f80.cpe.net.cable.rogers.com)
2023-10-28 11:39:27 +0200neceve(~neceve@user/neceve) (Ping timeout: 240 seconds)
2023-10-28 11:43:04 +0200xigua(~xigua@user/xigua) (Remote host closed the connection)
2023-10-28 11:43:40 +0200xigua(~xigua@user/xigua)
2023-10-28 11:47:07 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 264 seconds)
2023-10-28 11:49:25 +0200`2jt(~jtomas@90.162.208.36) (Remote host closed the connection)
2023-10-28 11:49:44 +0200`2jt(~jtomas@90.162.208.36)
2023-10-28 11:49:48 +0200`2jt(~jtomas@90.162.208.36) (Remote host closed the connection)
2023-10-28 11:50:28 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-10-28 11:52:35 +0200gmg(~user@user/gehmehgeh)
2023-10-28 11:56:08 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 272 seconds)
2023-10-28 11:57:13 +0200aljazmc(~aljazmc@user/aljazmc)
2023-10-28 11:58:02 +0200Guest98(~Guest98@2a02-a46f-7cd-1-d659-b804-f734-68a1.fixed6.kpn.net)
2023-10-28 12:06:41 +0200 <danza> i found this lightweight way to scrape content from pages by copying an element root from web console
2023-10-28 12:07:02 +0200 <danza> now i need to find a lightweight way to parse that in haskell without hating myself :P
2023-10-28 12:10:06 +0200 <danza> found tagsoup and tagchup, feel promising
2023-10-28 12:16:24 +0200Simikando(~Simikando@adsl-dyn216.91-127-84.t-com.sk) (Ping timeout: 272 seconds)
2023-10-28 12:22:42 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-10-28 12:23:16 +0200ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2023-10-28 12:23:59 +0200ec(~ec@gateway/tor-sasl/ec)
2023-10-28 12:24:07 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-10-28 12:31:47 +0200Simikando(~Simikando@adsl-dyn216.91-127-84.t-com.sk)
2023-10-28 12:32:09 +0200 <[exa]> hey all, so I want to make a small query execution engine; like for prolog facts but hopefully with indexes or so. Is there any cool database-query-processing library that I could start copying from, esp. regarding how to implement joins etc?
2023-10-28 12:32:38 +0200 <[exa]> (hasura unfortunately doesn't count, I tried to read from there and I keep getting lost)
2023-10-28 12:32:57 +0200Guest98(~Guest98@2a02-a46f-7cd-1-d659-b804-f734-68a1.fixed6.kpn.net) (Quit: Client closed)
2023-10-28 12:33:05 +0200 <[exa]> danza: tagsoup is good™
2023-10-28 12:33:25 +0200 <danza> thanks!
2023-10-28 12:34:20 +0200 <[exa]> there's also this DSL https://hackage.haskell.org/package/scalpel, might be nice if you want to avoid patternmatch overload
2023-10-28 12:34:45 +0200 <danza> cool!
2023-10-28 12:35:09 +0200 <danza> about the query, you mean relational? There was that project<number> that was based on relational algebra, probably well designed
2023-10-28 12:35:25 +0200 <[exa]> hm kinda wondering if a lensy view of tagsoup would help for scraping
2023-10-28 12:35:33 +0200[exa]opens the side project idea drawer
2023-10-28 12:35:36 +0200Simikando(~Simikando@adsl-dyn216.91-127-84.t-com.sk) (Remote host closed the connection)
2023-10-28 12:35:38 +0200[exa]stores this for later
2023-10-28 12:35:43 +0200[exa]closes the side project idea drawer
2023-10-28 12:36:01 +0200 <danza> project-m36 that was
2023-10-28 12:36:41 +0200 <[exa]> danza: something like if I have a SQL query with joins and selects and everything, and want to convert it into some executable query plan which doesn't suck (e.g., it can react to whether some operations are expected to be more costly or less)
2023-10-28 12:37:03 +0200 <[exa]> oh wow this m36 thing might do
2023-10-28 12:37:06 +0200 <[exa]> thanks
2023-10-28 12:38:06 +0200 <danza> that looks interesting yes. Recently on haskell weekly there was an article with extensive comparison of SQL mappers, but i do not have the link at hand
2023-10-28 12:38:57 +0200 <danza> (that did not include project-m36 as the goal is different)
2023-10-28 12:41:38 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2023-10-28 12:41:45 +0200Friendship(~Friendshi@user/Friendship)
2023-10-28 12:57:00 +0200random-jellyfish(~tiber@user/random-jellyfish) (Ping timeout: 240 seconds)
2023-10-28 12:58:53 +0200ash3en(~ash3en@dynamic-095-112-184-199.95.112.pool.telefonica.de)
2023-10-28 13:01:00 +0200 <ash3en> hey, i have two functions that read a json-file and operate on it. can i separate the reading, and Either decoding to one function and just operate on the Right value? here my code: https://privatebin.net/?b8ad1bd039c36fe0#CUnN656t2zEq1P23x3DdLkpaf2ct4mHUGS3ip1NDCnhz
2023-10-28 13:01:14 +0200Square(~Square@user/square)
2023-10-28 13:06:31 +0200 <ncf> yes
2023-10-28 13:11:32 +0200 <ash3en> hi nfc, great, would you point me to the solution?
2023-10-28 13:31:19 +0200mrmr1553(~mrmr@user/mrmr)
2023-10-28 13:32:11 +0200mrmr155(~mrmr@user/mrmr) (Ping timeout: 255 seconds)
2023-10-28 13:32:11 +0200mrmr1553mrmr155
2023-10-28 13:38:29 +0200aljazmc(~aljazmc@user/aljazmc) (Quit: Leaving)
2023-10-28 13:39:10 +0200aljazmc(~aljazmc@user/aljazmc)
2023-10-28 13:39:13 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.5)
2023-10-28 13:39:22 +0200danza(~francesco@151.43.151.98) (Read error: Connection reset by peer)
2023-10-28 13:42:43 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-10-28 13:52:54 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2023-10-28 13:54:52 +0200notzmv(~zmv@user/notzmv)
2023-10-28 14:11:02 +0200 <yin> is there a way to include +RTS -N in ghc options in the cabal file so i don't have to write `cabal run -- +RTS -N` ?
2023-10-28 14:13:46 +0200cheater_(~Username@user/cheater)
2023-10-28 14:15:56 +0200cheater(~Username@user/cheater) (Ping timeout: 255 seconds)
2023-10-28 14:16:01 +0200cheater_cheater
2023-10-28 14:16:58 +0200 <int-e> yin: ghc has a --with-rtsopts flag to bake RTS flags into executable. https://downloads.haskell.org/ghc/latest/docs/users_guide/runtime_control.html#rts-opts-compile-time
2023-10-28 14:17:18 +0200chomwitt(~chomwitt@2a02:587:7a01:8f00:1ac0:4dff:fedb:a3f1)
2023-10-28 14:17:58 +0200 <int-e> err, only one hyphen
2023-10-28 14:34:00 +0200falafel(~falafel@62.175.113.194.dyn.user.ono.com)
2023-10-28 14:47:59 +0200arahael(~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds)
2023-10-28 14:58:38 +0200Inst(~Inst@120.244.192.250)
2023-10-28 15:04:12 +0200Square(~Square@user/square) (Ping timeout: 240 seconds)
2023-10-28 15:09:02 +0200falafel(~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 255 seconds)
2023-10-28 15:13:08 +0200poscat(~poscat@user/poscat) (Quit: Bye)
2023-10-28 15:13:22 +0200poscat(~poscat@user/poscat)
2023-10-28 15:14:59 +0200aljazmc(~aljazmc@user/aljazmc) (Remote host closed the connection)
2023-10-28 15:16:01 +0200Square(~Square@user/square)
2023-10-28 15:19:47 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-10-28 15:20:40 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2023-10-28 15:30:23 +0200acidjnk(~acidjnk@p200300d6e72b9355f44ae38018441913.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
2023-10-28 15:34:14 +0200ash3en(~ash3en@dynamic-095-112-184-199.95.112.pool.telefonica.de) (Ping timeout: 245 seconds)
2023-10-28 15:34:15 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2023-10-28 15:34:33 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2023-10-28 15:35:06 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-10-28 15:35:15 +0200tremon(~tremon@83.80.159.219)
2023-10-28 15:35:56 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2023-10-28 15:36:39 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-10-28 15:41:20 +0200CO2(CO2@gateway/vpn/protonvpn/co2) (Quit: WeeChat 4.1.0)
2023-10-28 15:49:40 +0200 <yin> so `ghc-options: -with-rtsopts=-N4` in my cabal file, iiuc?
2023-10-28 15:52:09 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-10-28 15:57:13 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 258 seconds)
2023-10-28 16:04:45 +0200 <int-e> Yeah. Or ghc-options: "-with-rtsopts=-N4" to avoid a struggle if you ever want to add another RTS flag.
2023-10-28 16:07:01 +0200 <yin> how so?
2023-10-28 16:07:51 +0200 <int-e> Because the quotes have to go on the outside and that's easy to forget in a hurry.
2023-10-28 16:09:47 +0200Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 255 seconds)
2023-10-28 16:11:26 +0200Maxdamantus(~Maxdamant@user/maxdamantus)
2023-10-28 16:21:58 +0200jpolchlo(~jpolchlo@pool-71-185-247-168.phlapa.fios.verizon.net)
2023-10-28 16:22:20 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-10-28 16:25:21 +0200 <jpolchlo> Good day!  I am attempting to set up an XMonad prompt for unicode data, but it calls for a unicode data file path.  After digging around a bit, the `unicode-data` package, I think, was supposed to generate such a file with the `ucd.sh` script in the [repo](https://github.com/composewell/unicode-data).  This appears not to have happened.  Unless
2023-10-28 16:25:21 +0200 <jpolchlo> I'm missing something.  Any advice on how to generate the data file?  Maybe I pull down the ebuild for that package and update the build script?
2023-10-28 16:28:44 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-10-28 16:29:25 +0200kayvank(~user@52-119-115-185.PUBLIC.monkeybrains.net) (Ping timeout: 258 seconds)
2023-10-28 16:35:42 +0200acidjnk(~acidjnk@p200300d6e72b9355f44ae38018441913.dip0.t-ipconnect.de)
2023-10-28 16:36:35 +0200_xor(~xor@72.49.199.93) (Read error: Connection reset by peer)
2023-10-28 16:38:38 +0200_xor(~xor@72.49.199.93)
2023-10-28 16:51:31 +0200ash3en(~ash3en@2a01:c23:90e7:1600:a139:ce0d:15ed:d522)
2023-10-28 16:51:59 +0200ash3en(~ash3en@2a01:c23:90e7:1600:a139:ce0d:15ed:d522) (Client Quit)
2023-10-28 16:55:03 +0200 <geekosaur> that sounds like you should ask the gentoo maintainer
2023-10-28 16:55:19 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-10-28 16:57:55 +0200dostoyevsky2(~sck@user/dostoyevsky2) (Quit: leaving)
2023-10-28 16:58:09 +0200dostoyevsky2(~sck@user/dostoyevsky2)
2023-10-28 16:58:52 +0200[_](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 248 seconds)
2023-10-28 17:04:14 +0200 <hololeap> jpolchlo: join #gentoo-haskell or file a bug on https://github.com/gentoo-haskell/gentoo-haskell
2023-10-28 17:04:58 +0200 <jpolchlo> Oh, sorry!  Very wrong channel.  Thanks.
2023-10-28 17:05:06 +0200jpolchlo(~jpolchlo@pool-71-185-247-168.phlapa.fios.verizon.net) ()
2023-10-28 17:07:15 +0200sm(~sm@plaintextaccounting/sm)
2023-10-28 17:07:39 +0200aljazmc(~aljazmc@user/aljazmc)
2023-10-28 17:13:30 +0200aljazmc(~aljazmc@user/aljazmc) (Remote host closed the connection)
2023-10-28 17:14:12 +0200tan00kee(~paul@207.red-2-142-48.dynamicip.rima-tde.net)
2023-10-28 17:14:20 +0200aljazmc(~aljazmc@user/aljazmc)
2023-10-28 17:14:35 +0200kayvank(~user@52-119-115-185.PUBLIC.monkeybrains.net)
2023-10-28 17:16:03 +0200_xor(~xor@72.49.199.93) (Quit: Ping timeout (120 seconds))
2023-10-28 17:16:42 +0200_xor(~xor@72.49.199.93)
2023-10-28 17:18:36 +0200_xor(~xor@72.49.199.93) (Client Quit)
2023-10-28 17:19:24 +0200tan00kee(~paul@207.red-2-142-48.dynamicip.rima-tde.net) (Quit: WeeChat 4.0.5)
2023-10-28 17:22:26 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2023-10-28 17:24:20 +0200CO2(CO2@gateway/vpn/protonvpn/co2)
2023-10-28 17:28:11 +0200aljazmc(~aljazmc@user/aljazmc) (Remote host closed the connection)
2023-10-28 17:30:20 +0200aljazmc(~aljazmc@user/aljazmc)
2023-10-28 17:40:17 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2023-10-28 17:42:05 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2023-10-28 17:49:10 +0200 <Inst> okay, god's in his heaven and all's right with the world
2023-10-28 17:49:14 +0200Square(~Square@user/square) (Ping timeout: 255 seconds)
2023-10-28 17:49:30 +0200 <Inst> StateT Int ST is outperforming ST with STRef
2023-10-28 17:49:33 +0200 <Inst> by very tiny margins :(
2023-10-28 17:51:15 +0200dostoyevsky2(~sck@user/dostoyevsky2) (Quit: leaving)
2023-10-28 17:51:16 +0200 <EvanR> probie, tail call optimization, where you take a call in tail position, which normally saves a return address on the stack and perhaps rearranges registers due to caller save conventions before doing a jump, instead just does a jump. None of that applies in haskell because that's not how calls work
2023-10-28 17:51:28 +0200dostoyevsky2(~sck@user/dostoyevsky2)
2023-10-28 17:52:19 +0200 <EvanR> another way to look at it is, what would happen if you turned that optimization (if existed) off in haskell
2023-10-28 17:55:18 +0200 <Inst> you can get TCO in extreme cases iirc
2023-10-28 17:57:38 +0200 <monochrom> StateT Int Identity is yet faster than StateT Int ST.
2023-10-28 17:58:46 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-10-28 18:06:16 +0200 <int-e> but that would throw the quicksort into disarray
2023-10-28 18:06:36 +0200 <EvanR> lol
2023-10-28 18:06:36 +0200 <monochrom> haha
2023-10-28 18:07:27 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 240 seconds)
2023-10-28 18:07:49 +0200jinsun_(~jinsun@user/jinsun)
2023-10-28 18:07:50 +0200jinsun_jinsun
2023-10-28 18:13:05 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-10-28 18:16:19 +0200dhil(~dhil@2001:8e0:2014:3100:16a5:60da:266d:e044)
2023-10-28 18:17:46 +0200Square(~Square@user/square)
2023-10-28 18:18:18 +0200sm(~sm@plaintextaccounting/sm)
2023-10-28 18:18:48 +0200 <Inst> ironically, i'm hypothesizing right now that Haskell is an excellent language for learning to hack simply because it's not a hacky language, but is concise enough to hack in
2023-10-28 18:19:36 +0200 <Inst> that is to say, compared to Haskell, every other language has too much of a hacker culture, and the languages that aren't often are too verbose to hack in comfortably
2023-10-28 18:20:19 +0200 <Inst> i mean I'll get EvanR telling me to do proper IO isolation instead of just dumping everything in IO
2023-10-28 18:21:55 +0200 <monochrom> That depends on the person. Some people hack cleanly (eg me), some people hack dirtily.
2023-10-28 18:23:19 +0200 <monochrom> Then self-selection biases come in. Programming is dominated by people who hack dirtily because people who hack cleanly already know an older industry for them: math. (eg me)
2023-10-28 18:23:55 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-10-28 18:26:52 +0200 <monochrom> Yes you should also join math. >:)
2023-10-28 18:28:16 +0200 <Inst> I wish I could.
2023-10-28 18:28:32 +0200 <Inst> If I had more time, I'd go make another run at Baby Rudin, which I bounced off twice. :(
2023-10-28 18:30:15 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:d94b:a6c4:b05d:2c65) (Remote host closed the connection)
2023-10-28 18:30:25 +0200 <Inst> then again, Baby Rudin is apparently harsh, on the Amazon reviews, Math 25 @ Harvard (1 tier below the legendary Math 55) had students working overtime to cover it.
2023-10-28 18:30:30 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:d94b:a6c4:b05d:2c65)
2023-10-28 18:38:53 +0200notzmv(~zmv@user/notzmv)
2023-10-28 18:39:49 +0200 <[exa]> Inst: tbh real analysis may not be the most motivating branch of math ever
2023-10-28 18:40:30 +0200 <[exa]> we had 2 mandatory semesters of that back in the college purely for making sure that students stop going wtf upon seeing some of the more abstract proofs later
2023-10-28 18:40:48 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2023-10-28 18:40:54 +0200 <[exa]> literally no other purpose, perhaps I used some of that in statistics, once
2023-10-28 18:41:04 +0200 <Inst> it was purely a technical issue on my end
2023-10-28 18:41:20 +0200 <Inst> i was hopped up on lots of legal stimulants so there was no issue of motivation
2023-10-28 18:41:38 +0200 <Inst> i thought about retrying with Artin Algebra, etc... might as well just do Rudin since that's standard iirc
2023-10-28 18:41:45 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-10-28 18:44:15 +0200 <[exa]> ah yeah for the "getting up to a standard" that is probably a worthy read
2023-10-28 18:47:00 +0200econo_(uid147250@id-147250.tinside.irccloud.com)
2023-10-28 18:49:09 +0200 <c_wraith> Inst: FWIW, updating reference cells in Haskell adds some overhead that just passing a different value around doesn't have. Storing a simple counter or something like that in an STRef is always going to be slower than passing it around.
2023-10-28 18:50:19 +0200 <c_wraith> Inst: STRef pays off when mutation lets you avoid making recursive changes, like in an algorithm using a graph of pointers, or when allocating a new object would be expensive by itself, like with an array.
2023-10-28 18:51:13 +0200michalz(~michalz@185.246.207.221)
2023-10-28 18:51:59 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-10-28 18:52:36 +0200 <Inst> c_wraith: end result is that the most performant version is the accum parameter version
2023-10-28 18:52:42 +0200 <Inst> with nested accum params under closure
2023-10-28 18:53:12 +0200 <Inst> under O2, at least
2023-10-28 18:53:45 +0200 <monochrom> I used to be not very motivated by real analysis either. But then two other things I'm interested in got me into it.
2023-10-28 18:54:10 +0200 <monochrom> One is I'm fascinated by Fourier analysis. Then functional analysis is like that on steroid.
2023-10-28 18:54:57 +0200 <monochrom> The other is I'm unhappy with conventional probability theory. Then measure theory gives a perfect treatment.
2023-10-28 18:55:03 +0200target_i(~target_i@217.175.14.39) (Quit: leaving)
2023-10-28 18:55:10 +0200 <[exa]> monochrom: hi5
2023-10-28 18:55:37 +0200 <[exa]> it totally pays off for the transforms, I completely forgot about them
2023-10-28 18:59:37 +0200sm(~sm@plaintextaccounting/sm)
2023-10-28 19:00:02 +0200sm(~sm@plaintextaccounting/sm) (Client Quit)
2023-10-28 19:00:49 +0200 <monochrom> OK Fourier analysis and functional analysis need complex analysis too. Now https://ro-che.info/ccc/23 applies.
2023-10-28 19:03:24 +0200 <EvanR> real numbers get a bit unwieldy when you try to use them in actual computations. I wonder if by going to complex numbers there's a way to get a more algebraic, haskell friendly form
2023-10-28 19:03:38 +0200 <EvanR> (not talking about pair of Double)
2023-10-28 19:03:46 +0200 <monochrom> What computations? >:)
2023-10-28 19:04:02 +0200 <c_wraith> yeah, computations are not what real numbers are for.
2023-10-28 19:04:08 +0200 <c_wraith> real numbers are for pretty proofs
2023-10-28 19:04:21 +0200 <monochrom> Oh but yeah https://hackage.haskell.org/package/cyclotomic
2023-10-28 19:05:25 +0200 <monochrom> Or more simply: You need i get algebraically closed.
2023-10-28 19:07:17 +0200kayvank(~user@52-119-115-185.PUBLIC.monkeybrains.net) (Remote host closed the connection)
2023-10-28 19:07:24 +0200 <monochrom> err, s/get/to get/
2023-10-28 19:07:46 +0200 <monochrom> (I need prepositions to get Englishly closed. :) )
2023-10-28 19:08:15 +0200target_i(~target_i@217.175.14.39)
2023-10-28 19:11:27 +0200 <EvanR> cyclotomic is like exactly what I was thinking of I guess
2023-10-28 19:12:56 +0200sm(~sm@plaintextaccounting/sm)
2023-10-28 19:18:01 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-10-28 19:20:02 +0200dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 255 seconds)
2023-10-28 19:20:52 +0200aljazmc(~aljazmc@user/aljazmc) (Remote host closed the connection)
2023-10-28 19:20:55 +0200aljazmc_(~aljazmc@user/aljazmc)
2023-10-28 19:27:02 +0200dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2023-10-28 19:27:50 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-10-28 19:31:04 +0200aljazmc_(~aljazmc@user/aljazmc) (Remote host closed the connection)
2023-10-28 19:31:50 +0200aljazmc_(~aljazmc@user/aljazmc)
2023-10-28 19:35:28 +0200aljazmc_(~aljazmc@user/aljazmc) (Remote host closed the connection)
2023-10-28 19:46:33 +0200Lycurgus(~georg@user/Lycurgus)
2023-10-28 19:53:39 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-10-28 19:58:36 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 248 seconds)
2023-10-28 20:04:56 +0200aljazmc(~aljazmc@user/aljazmc)
2023-10-28 20:09:44 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-10-28 20:10:44 +0200neceve(~neceve@user/neceve)
2023-10-28 20:14:59 +0200Lycurgus(~georg@user/Lycurgus) (Quit: leaving)
2023-10-28 20:16:54 +0200califax(~califax@user/califx) (Ping timeout: 256 seconds)
2023-10-28 20:18:11 +0200califax(~califax@user/califx)
2023-10-28 20:20:54 +0200aljazmc(~aljazmc@user/aljazmc) (Remote host closed the connection)
2023-10-28 20:21:33 +0200aljazmc(~aljazmc@user/aljazmc)
2023-10-28 20:22:08 +0200aljazmc(~aljazmc@user/aljazmc) (Remote host closed the connection)
2023-10-28 20:25:40 +0200falafel(~falafel@62.175.113.194.dyn.user.ono.com)
2023-10-28 20:30:19 +0200falafel(~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 264 seconds)
2023-10-28 20:33:51 +0200dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 240 seconds)
2023-10-28 20:34:14 +0200qqq(~qqq@92.43.167.61)
2023-10-28 20:35:17 +0200dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2023-10-28 20:39:54 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-10-28 20:39:55 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2023-10-28 20:43:20 +0200sm(~sm@plaintextaccounting/sm)
2023-10-28 20:44:43 +0200sm(~sm@plaintextaccounting/sm) (Client Quit)
2023-10-28 20:49:08 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-10-28 20:51:49 +0200tzh(~tzh@c-71-193-181-0.hsd1.or.comcast.net)
2023-10-28 20:55:35 +0200Sgeo(~Sgeo@user/sgeo)
2023-10-28 20:56:55 +0200dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Remote host closed the connection)
2023-10-28 20:57:17 +0200dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2023-10-28 21:04:47 +0200gmg(~user@user/gehmehgeh)
2023-10-28 21:07:20 +0200dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 258 seconds)
2023-10-28 21:11:20 +0200Guest|56(~Guest|56@196.191.112.106)
2023-10-28 21:17:44 +0200Guest|56(~Guest|56@196.191.112.106) (Quit: Connection closed)
2023-10-28 21:20:09 +0200califax(~califax@user/califx) (Remote host closed the connection)
2023-10-28 21:21:38 +0200remexre(~remexre@user/remexre) (Ping timeout: 255 seconds)
2023-10-28 21:23:09 +0200califax(~califax@user/califx)
2023-10-28 21:25:48 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 260 seconds)
2023-10-28 21:37:58 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 255 seconds)
2023-10-28 21:42:23 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2023-10-28 21:45:01 +0200accord(uid568320@id-568320.hampstead.irccloud.com)
2023-10-28 21:47:51 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2023-10-28 21:48:15 +0200Lycurgus(~georg@user/Lycurgus)
2023-10-28 21:48:51 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-10-28 21:49:35 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2023-10-28 21:54:36 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 240 seconds)
2023-10-28 22:00:50 +0200YoungFrog(~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (Quit: ZNC 1.7.x-git-3-96481995 - https://znc.in)
2023-10-28 22:03:53 +0200Pickchea(~private@user/pickchea)
2023-10-28 22:04:15 +0200YoungFrog(~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be)
2023-10-28 22:10:30 +0200falafel(~falafel@62.175.113.194.dyn.user.ono.com)
2023-10-28 22:11:58 +0200bliminse(~bliminse@user/bliminse) (Quit: leaving)
2023-10-28 22:17:40 +0200Jackneill(~Jackneill@20014C4E1E03D800AF259D09E48C0D87.dsl.pool.telekom.hu) (Remote host closed the connection)
2023-10-28 22:20:12 +0200Lycurgus(~georg@user/Lycurgus) (Quit: leaving)
2023-10-28 22:23:09 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.5)
2023-10-28 22:23:41 +0200dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2023-10-28 22:23:45 +0200bliminse(~bliminse@user/bliminse)
2023-10-28 22:27:51 +0200todi(~todi@p4fd1a3e6.dip0.t-ipconnect.de) (Quit: ZNC - https://znc.in)
2023-10-28 22:28:15 +0200remexre(~remexre@user/remexre)
2023-10-28 22:30:58 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
2023-10-28 22:31:49 +0200quintasan_(~quassel@quintasan.pl) ()
2023-10-28 22:32:01 +0200quintasan(~quassel@quintasan.pl)
2023-10-28 22:33:47 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
2023-10-28 22:38:36 +0200shapr(~user@2600:1700:c640:3100:5fc7:fa6:a4a8:54f1) (Ping timeout: 260 seconds)
2023-10-28 22:43:33 +0200neceve(~neceve@user/neceve) (Ping timeout: 258 seconds)
2023-10-28 22:45:43 +0200coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-10-28 22:46:30 +0200elkcl(~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru) (Ping timeout: 255 seconds)
2023-10-28 22:52:01 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2023-10-28 22:54:44 +0200elkcl(~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru)
2023-10-28 22:56:32 +0200lispy(~lispy@82.212.115.68)
2023-10-28 22:59:27 +0200falafel(~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 240 seconds)
2023-10-28 23:09:58 +0200 <John_Ivan_> does anyone else's "http-conduit" library give undefined symbol errors to it's dependencies like "ghczupwrapper", "hashablezml", "zzlib", when trying to compile "L.unpack <$> simpleHttp url" ?
2023-10-28 23:10:15 +0200 <John_Ivan_> all I did was add the dependency to my cabal file, imported the lib and did a "cabal build". I suspect it's either me or the library's broken.
2023-10-28 23:12:33 +0200 <EvanR> the http-conduit (http-client) github reports build succeeds
2023-10-28 23:12:44 +0200 <EvanR> I don't see any issues about undefined symbols errors
2023-10-28 23:12:53 +0200 <EvanR> but maybe I missed something
2023-10-28 23:13:04 +0200kmein(~weechat@user/kmein) (Quit: ciao kakao)
2023-10-28 23:13:20 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-10-28 23:13:32 +0200kmein(~weechat@user/kmein)
2023-10-28 23:14:27 +0200 <John_Ivan_> EvanR, https://i.imgur.com/aa34RFR.png
2023-10-28 23:17:23 +0200 <geekosaur> sounds like your hashable and ghc_wrapper libraries are broken
2023-10-28 23:18:16 +0200 <EvanR> is that one symbol referring to zlib, if only one symbol from zlib is not found, maybe it's a version thing
2023-10-28 23:18:28 +0200 <EvanR> reinstall ghc?
2023-10-28 23:19:19 +0200 <John_Ivan_> EvanR, I actually just did that a while ago with cabal nuke
2023-10-28 23:19:24 +0200 <John_Ivan_> and reinstalled ghcup
2023-10-28 23:19:47 +0200 <EvanR> what about reinstalling ghc
2023-10-28 23:19:57 +0200 <geekosaur> did you remove your entire cabal store? if not, you'll get things like this happening that are referencing nonexistent libraries
2023-10-28 23:20:02 +0200 <John_Ivan_> isn't ghcup what install it?
2023-10-28 23:20:07 +0200 <geekosaur> or rebuilds with different exports
2023-10-28 23:20:26 +0200 <geekosaur> reinstalling ghcup doesn't necessarily reinstall ghc
2023-10-28 23:20:28 +0200 <EvanR> you can delete ghcup, and reinstall ghcup, and it won't affect anything as I understand it
2023-10-28 23:20:39 +0200 <John_Ivan_> x_X
2023-10-28 23:20:49 +0200 <EvanR> you have to explicitly tell it to install or uninstall ghcs
2023-10-28 23:20:52 +0200 <geekosaur> it resets your default (`s`et) versions
2023-10-28 23:21:56 +0200 <EvanR> I should start the process of installing GHC on this terrible windows laptop, now that it has had 3 months to install all the windows updates since 2018
2023-10-28 23:24:46 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-10-28 23:25:10 +0200 <John_Ivan_> EvanR, does deleting my C:\cabal entire folder count as "reinstalling" ghc?
2023-10-28 23:25:27 +0200 <John_Ivan_> because that's what I did after `cabal nuke`. I deleted that and ran ghcup again.
2023-10-28 23:25:28 +0200 <EvanR> if that's where ghc was installed yeah
2023-10-28 23:25:36 +0200 <John_Ivan_> EvanR, yeah, the issue persists then.
2023-10-28 23:26:00 +0200 <EvanR> is that really where it gets installed
2023-10-28 23:26:22 +0200 <John_Ivan_> I see /store and /packages inside C:\cabal
2023-10-28 23:26:31 +0200 <John_Ivan_> they're newly created. based by date
2023-10-28 23:26:36 +0200 <EvanR> ghc is the compiler, cabal is the build system and package manager
2023-10-28 23:26:50 +0200 <John_Ivan_> I'll look around
2023-10-28 23:27:05 +0200 <EvanR> if you open ghcup and ghc's still exist, they weren't uninstalled
2023-10-28 23:27:12 +0200 <EvanR> or deleted
2023-10-28 23:27:44 +0200 <John_Ivan_> EvanR, https://i.imgur.com/DTu1PkZ.png
2023-10-28 23:28:05 +0200 <John_Ivan_> found it. it's here. as the date states, I re-installed it yesterday.
2023-10-28 23:28:45 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-10-28 23:28:48 +0200 <John_Ivan_> EvanR, I have a dumb question
2023-10-28 23:29:04 +0200 <John_Ivan_> EvanR, after reinstalling it and running `cabal build` on my project. there were no errors reported.
2023-10-28 23:29:12 +0200 <John_Ivan_> the error appeared after I ran a `cabal clean`
2023-10-28 23:29:17 +0200 <John_Ivan_> and a `cabal build` again.
2023-10-28 23:29:40 +0200 <John_Ivan_> what is going on?
2023-10-28 23:30:23 +0200 <EvanR> it could be a missing action in this story which did the actual breakage
2023-10-28 23:31:09 +0200 <EvanR> if you can reproduce what you just said, then you can theoretically see what is going on by check the state of files before and after
2023-10-28 23:33:13 +0200fendor(~fendor@2a02:8388:1640:be00:4648:ee17:640e:e578) (Remote host closed the connection)
2023-10-28 23:34:04 +0200Jackneill(~Jackneill@20014C4E1E03D800AF259D09E48C0D87.dsl.pool.telekom.hu)
2023-10-28 23:34:25 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-10-28 23:35:45 +0200pavonia(~user@user/siracusa)
2023-10-28 23:42:23 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-10-28 23:46:07 +0200aljazmc(~aljazmc@user/aljazmc)
2023-10-28 23:47:02 +0200bbastian(~bbastian@c-76-147-2-166.hsd1.wa.comcast.net)
2023-10-28 23:47:28 +0200bbastian(~bbastian@c-76-147-2-166.hsd1.wa.comcast.net) (Client Quit)
2023-10-28 23:49:27 +0200sm(~sm@plaintextaccounting/sm)
2023-10-28 23:49:57 +0200gmg(~user@user/gehmehgeh)
2023-10-28 23:50:04 +0200dhil(~dhil@2001:8e0:2014:3100:16a5:60da:266d:e044) (Ping timeout: 252 seconds)
2023-10-28 23:53:12 +0200michalz(~michalz@185.246.207.221) (Remote host closed the connection)
2023-10-28 23:55:08 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-10-28 23:55:59 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-10-28 23:58:49 +0200aljazmc(~aljazmc@user/aljazmc) (Remote host closed the connection)
2023-10-28 23:59:20 +0200aljazmc(~aljazmc@user/aljazmc)