Home liberachat/#haskell: Logs Calendar

Logs on 2023-10-28 (liberachat/#haskell)

00:03:06 Deide joins (d0130db69a@user/deide)
00:04:41 × tomboy64 quits (~tomboy64@user/tomboy64) (Ping timeout: 255 seconds)
00:18:50 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
00:19:13 × falafel quits (~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 255 seconds)
00:19:30 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
00:27:23 × Inst quits (~Inst@120.244.192.250) (Remote host closed the connection)
00:30:48 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
00:31:54 Inst joins (~Inst@120.244.192.250)
00:31:59 <Inst> oh, i think i know what's actually going on
00:32:01 <Inst> :(
00:32:09 <Inst> i'm using accumulating parameter with monadic code
00:32:34 <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
00:32:44 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Read error: Connection reset by peer)
00:33:02 <Inst> it's the (>>) operator
00:33:06 <Inst> been there, done that
00:33:33 <Inst> so no true TCO
00:33:52 × phma quits (~phma@host-67-44-208-132.hnremote.net) (Read error: Connection reset by peer)
00:34:15 phma joins (phma@2001:5b0:211f:d828:d963:986:c941:cee8)
00:36:19 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
00:36:58 notzmv joins (~zmv@user/notzmv)
00:42:01 × chexum_ quits (~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.)
00:43:29 chexum joins (~quassel@gateway/tor-sasl/chexum)
00:54:39 × Square quits (~Square@user/square) (Ping timeout: 245 seconds)
00:57:34 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 245 seconds)
00:59:04 Lycurgus joins (~georg@li1192-118.members.linode.com)
00:59:04 × Lycurgus quits (~georg@li1192-118.members.linode.com) (Changing host)
00:59:04 Lycurgus joins (~georg@user/Lycurgus)
00:59:34 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
01:02:40 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
01:02:45 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
01:04:09 Lord_of_Life_ is now known as Lord_of_Life
01:07:58 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
01:11:07 <EvanR> Inst, monadic code is just normal code, you just need to look at the definition of >>=
01:11:45 <EvanR> if your accumulating parameter needs to be strict, then seq needs to appear somewhere
01:17:53 × Lycurgus quits (~georg@user/Lycurgus) (Quit: leaving)
01:20:37 vglfr joins (~vglfr@88.155.177.86)
01:30:20 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
01:31:53 <Inst> i bang patterened it a lot
01:32:01 rosco joins (~rosco@yp-150-69.tm.net.my)
01:32:24 <Inst> in either case, my attempt to StateT s0 (ST s1) a seems to be failing.
01:33:38 × dostoyevsky2 quits (~sck@user/dostoyevsky2) (Quit: leaving)
01:33:55 dostoyevsky2 joins (~sck@user/dostoyevsky2)
01:36:24 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
01:37:25 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
01:39:53 × rembo10_ quits (~rembo10@main.remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
01:41:56 <Inst> lol, i space leaked
01:42:35 cheater joins (~Username@user/cheater)
01:43:01 rembo10 joins (~rembo10@main.remulis.com)
01:44:30 <Inst> serves me right
01:46:01 × tan00kee quits (~paul@pauloliver.dev) (Quit: WeeChat 4.0.5)
01:47:40 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
01:49:59 <Inst> i'mm so screwed
01:50:01 <Inst> https://paste.tomsmeding.com/k4FvdFkk
01:52:41 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
01:53:13 lisbeths joins (uid135845@id-135845.lymington.irccloud.com)
01:56:40 <Inst> code broken, forget it
02:00:46 × otto_s quits (~user@p5de2f7d1.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
02:02:25 otto_s joins (~user@p5de2f729.dip0.t-ipconnect.de)
02:04:43 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:04:43 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
02:04:43 finn_elija is now known as FinnElija
02:22:36 <Inst> jeez, this is just irritating :(
02:24:10 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
02:25:27 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
02:26:39 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 240 seconds)
02:26:55 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a583:cfb:37b7:5112) (Remote host closed the connection)
02:27:12 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:3851:3484:9307:a1fe)
02:30:51 srk_ joins (~sorki@user/srk)
02:33:00 × otto_s quits (~user@p5de2f729.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
02:33:24 × srk quits (~sorki@user/srk) (Ping timeout: 245 seconds)
02:33:40 srk_ is now known as srk
02:35:01 otto_s joins (~user@p5b044193.dip0.t-ipconnect.de)
02:35:52 <Inst> ah, i understand what I did wrong
02:36:01 <Inst> the last time I benchmarked StateT vs ST, I was using for
02:36:37 <Inst> in monadic code, folds are just much more efficient than accum param because you can't trigger TCO
02:37:18 <Inst> whereas with folds, you can potentially trigger list fusion
02:37:18 <Inst> got it
02:38:21 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
02:41:51 × td_ quits (~td@i53870923.versanet.de) (Ping timeout: 240 seconds)
02:43:58 td_ joins (~td@i53870920.versanet.de)
02:44:39 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 240 seconds)
02:47:13 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
02:52:13 ubert1 joins (~Thunderbi@91.141.50.52.wireless.dyn.drei.com)
02:52:58 × ubert quits (~Thunderbi@91.141.46.255.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
02:52:58 ubert1 is now known as ubert
02:54:47 [_] joins (~itchyjunk@user/itchyjunk/x-7353470)
02:58:46 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 272 seconds)
02:59:30 sm joins (~sm@plaintextaccounting/sm)
03:00:21 × sm quits (~sm@plaintextaccounting/sm) (Client Quit)
03:08:21 aforemny joins (~aforemny@2001:9e8:6ce5:bf00:1e8f:75b8:6118:d8e)
03:09:00 × troydm quits (~troydm@user/troydm) (Ping timeout: 258 seconds)
03:09:27 × td_ quits (~td@i53870920.versanet.de) (Ping timeout: 240 seconds)
03:10:10 × aforemny_ quits (~aforemny@2001:9e8:6cf6:7100:4ac5:e904:a193:520d) (Ping timeout: 272 seconds)
03:11:32 td_ joins (~td@i5387091A.versanet.de)
03:15:09 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
03:15:09 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
03:15:09 finn_elija is now known as FinnElija
03:22:04 × edr quits (~edr@user/edr) (Quit: Leaving)
03:28:48 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
03:33:21 tijko joins (~igloo@172.58.219.217)
03:42:29 <tijko> @here is there a bot that will test compile code?
03:42:29 <lambdabot> I know nothing about is.
03:43:04 <probie> @where love
03:43:04 <lambdabot> http://en.wikipedia.org/wiki/Where_Is_Love%3F
03:43:09 <EvanR> > let code = 3 + 7 in code
03:43:10 <lambdabot> 10
03:43:16 <probie> that didn't work out as I intended
03:43:39 <probie> @here love
03:43:39 <lambdabot> http://en.wikipedia.org/wiki/Where_Is_Love%3F
03:44:23 <EvanR> Inst, there's no TCO in haskell, since there's no call stack, and every call is normal order reduction anyway
03:44:44 × Inst quits (~Inst@120.244.192.250) (Ping timeout: 255 seconds)
03:50:56 × tijko quits (~igloo@172.58.219.217) (Ping timeout: 255 seconds)
03:53:03 × ddellacosta quits (~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 240 seconds)
03:55:01 ddellacosta joins (~ddellacos@ool-44c738de.dyn.optonline.net)
04:01:17 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 255 seconds)
04:10:33 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
04:11:00 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
04:20:49 × thaumavorio quits (~thaumavor@thaumavor.io) (Quit: ZNC 1.8.2 - https://znc.in)
04:23:11 thaumavorio joins (~thaumavor@thaumavor.io)
04:27:25 × pixelmonk quits (~pixelmonk@173.46.79.26) (Quit: WeeChat 4.1.0)
04:34:17 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
04:35:32 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
04:44:18 aforemny_ joins (~aforemny@2001:9e8:6cf4:800:bfe8:1a13:2556:84ce)
04:45:36 × aforemny quits (~aforemny@2001:9e8:6ce5:bf00:1e8f:75b8:6118:d8e) (Ping timeout: 258 seconds)
05:01:33 × nyc quits (~nyc@2603-7000-a106-2fb5-0000-0000-0000-1f21.res6.spectrum.com) (Ping timeout: 248 seconds)
05:16:22 × vglfr quits (~vglfr@88.155.177.86) (Read error: Connection reset by peer)
05:17:19 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:29:30 troydm joins (~troydm@user/troydm)
05:35:32 harveypwca joins (~harveypwc@2601:246:c280:6a90:837d:db39:3eea:f7db)
05:39:38 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 272 seconds)
05:43:31 × myme quits (~myme@2a01:799:d60:e400:9f43:ca0d:9ecf:24fd) (Ping timeout: 264 seconds)
05:43:33 × rgw quits (~R@2605:a601:a0df:5600:8d84:33a2:dab6:e31f) (Read error: Connection reset by peer)
05:44:04 myme joins (~myme@2a01:799:d60:e400:5aab:e46b:41f3:b6c7)
05:49:09 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
05:53:49 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 248 seconds)
05:54:46 × johnw quits (~johnw@69.62.242.138) (Quit: ZNC - http://znc.in)
05:55:43 johnw joins (~johnw@69.62.242.138)
05:58:42 srk_ joins (~sorki@user/srk)
06:00:55 × srk quits (~sorki@user/srk) (Ping timeout: 264 seconds)
06:01:31 srk_ is now known as srk
06:03:44 CrunchyFlakes_ joins (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de)
06:04:14 × CrunchyFlakes quits (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
06:05:37 arahael joins (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net)
06:48:20 × Hooloovoo quits (~Hooloovoo@hax0rbana.org) (Ping timeout: 255 seconds)
06:50:35 Hooloovoo joins (~Hooloovoo@hax0rbana.org)
07:00:52 Lycurgus joins (~georg@user/Lycurgus)
07:05:30 <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.
07:07:43 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
07:12:40 Guest7 joins (~Guest7@250.79-105-213.static.virginmediabusiness.co.uk)
07:12:59 <Guest7> hi, i have some code trying to implement a polar lagrange transform
07:13:10 <Guest7> but it seems to have a bugf
07:13:19 <Guest7> can anyone help?
07:14:14 <Guest7> i have it plotting with juicypixels
07:14:15 <Guest7> https://paste.tomsmeding.com/Utcy72Vd
07:15:58 <Guest7> it gives NaN, which i think means it must be dividing by zero
07:16:34 <probie> > 1/(0 :: Double)
07:16:35 <Guest7> the multivariate lagrange interpolation has division by a determinant, but i cant see why it would break if the interpolation works correctly
07:16:36 <lambdabot> Infinity
07:16:47 <probie> > 0/(0 :: Double)
07:16:48 <lambdabot> NaN
07:16:57 <Guest7> agreed
07:16:59 × harveypwca quits (~harveypwc@2601:246:c280:6a90:837d:db39:3eea:f7db) (Quit: Leaving)
07:17:18 <probie> > sqrt (-1 :: Double)
07:17:20 <lambdabot> NaN
07:17:26 <Guest7> ahh...
07:17:43 <Guest7> could be not divide by zero i suppose
07:17:59 <Guest7> the determinant its dividing by shouldnt be zero. because the poles are not coaligned
07:19:10 <mauke> > 1/0 - 1/0
07:19:12 <lambdabot> NaN
07:20:18 <tomsmeding> Guest7: try putting a traceShowId around the argument of sqrt, and around the second argument of (/)
07:20:22 <tomsmeding> from Debug.Trace
07:20:50 <Guest7> i think its because its 1d after the polar transform...
07:20:55 <Guest7> that makes the det always 0
07:21:14 <Guest7> it takes the radius as the interpolant "weight", i think thats whats doing it
07:21:37 <Guest7> i found it guarding for 0 in the calc of del
07:22:14 <tomsmeding> ... or you can stare at the code with domain knowledge, indeed :p
07:23:48 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
07:24:59 euleritian joins (~euleritia@x52716a95.dyn.telefonica.de)
07:25:36 <Guest7> i dont think the determinant calcualtion is right
07:25:37 <Guest7> determinant [[1.3002465638163236,0.982793723247329],[0.8637778515112974,0.3487710035839072],[1.1835849315851377,0.9237491335745737]]
07:25:38 <Guest7> 0.0
07:25:59 <Guest7> can anyone check the implementation?
07:26:13 <tomsmeding> hoe does a non-square thing have a determinant
07:26:15 <tomsmeding> *how
07:26:21 <Guest7> i wrote it from a paper but i think i might have got it wrong
07:26:29 <Guest7> erp
07:26:39 <Guest7> it has to be sqaure apparently, thanks!
07:28:01 <tomsmeding> also skimming your determinant implementation, I believe it's the O(n!) version
07:28:09 <tomsmeding> there are more efficient algorithms
07:28:10 × euleritian quits (~euleritia@x52716a95.dyn.telefonica.de) (Read error: Connection reset by peer)
07:28:28 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
07:29:41 <Guest7> heres the version i have now
07:29:46 <Guest7> it gives a tail error
07:29:47 <Guest7> https://paste.tomsmeding.com/mcYjirfT
07:30:00 <Guest7> could you link me a better determinant algo?
07:30:22 santiagopim joins (~user@90.167.66.131)
07:30:23 billchenchina joins (~billchenc@103.152.35.21)
07:31:52 <Guest7> i got the version im using from here
07:31:54 <Guest7> https://github.com/mjgpy3/MyHaskellMathStuff/blob/master/Math/MatrixOps.hs
07:32:06 <tomsmeding> I think you're using this formula, right? Laplace_expansion
07:32:12 <tomsmeding> oh oops
07:32:16 <tomsmeding> https://en.wikipedia.org/wiki/Determinant#Laplace_expansion
07:32:34 <tomsmeding> yeah
07:32:39 <Guest7> i was working from this
07:32:40 <Guest7> https://evoq-eval.siam.org/Portals/0/Publications/SIURO/Vol1_Issue1/A_Simple_Expression_for_Multivariate.pdf?ver=2018-03-30-130233-050
07:32:59 <tomsmeding> I mean I'd first get your code correct before introducing a more efficient, more complicated algorithm here :p
07:33:01 <Guest7> basically expression (7)
07:33:26 <Guest7> well its someone elses determinant calculation and it seems error prone
07:33:48 <tomsmeding> yeah that seems like the same formula in different notation
07:33:55 <Guest7> and this is supp to go in a net neuronal mapping, so it should be fast if possible
07:34:05 <tomsmeding> get the rest of your code correct first
07:34:15 <Guest7> hmm?
07:34:21 <Guest7> the only error is in the det calc im sure
07:34:31 <Guest7> the laplace bit is something differrent
07:34:40 <tomsmeding> print the matrix you're giving it as input and print the resulting determinant
07:34:40 <Guest7> interpolation formula that just uses the det calc
07:34:47 <tomsmeding> and check it by hand
07:35:50 <tomsmeding> removeCols i rs = map (\r -> let (left, right) = splitAt i r in left ++ tail right) rs
07:35:57 <tomsmeding> use your list functions :p
07:37:57 <Guest7> its  it gets the determinant calcualtion right
07:37:58 <Guest7> https://paste.tomsmeding.com/te0dGKLV
07:38:01 <Guest7> if i do it by hand
07:38:12 <Guest7> but it throws a tail error if i do it via the call to it!?
07:38:41 <tomsmeding> what is the matrix that it's erroring on?
07:38:52 <Guest7> thanks for the alternate expression, i literally just copy pasted it
07:39:41 <Guest7> still gives the same error tho
07:39:46 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
07:39:48 <tomsmeding> yeah should do the same thing
07:39:56 <Guest7> https://paste.tomsmeding.com/ohZo2joK
07:40:03 <tomsmeding> what is the problematic matrix?
07:40:09 <Guest7> oh right, i thought it might not give the tail error
07:40:13 <Guest7> i wonder whats doing that!
07:41:24 <Guest7> er the problem matrix is, in eg2
07:41:25 <tomsmeding> 'eg2' evaluates fine for me
07:41:34 <tomsmeding> -0.29630365918569423
07:41:36 <Guest7> right, but thats the matrix it gets from eg1
07:41:45 <Guest7> and thats the expression that fails in the call
07:42:14 <tomsmeding> trigger the tail error, and print the matrix that leads to that error
07:42:21 <tomsmeding> this is apparently not it, because it doesn't error :p
07:42:43 <tomsmeding> (I think the problem is _not_ in 'determinant')
07:43:30 sm joins (~sm@plaintextaccounting/sm)
07:43:35 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
07:43:45 euleritian joins (~euleritia@x52716a95.dyn.telefonica.de)
07:44:10 × euleritian quits (~euleritia@x52716a95.dyn.telefonica.de) (Read error: Connection reset by peer)
07:44:27 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
07:44:36 × Maeda quits (~Maeda@91-161-10-149.subs.proxad.net) (Quit: leaving)
07:44:44 <Guest7> https://paste.tomsmeding.com/Fk9qhpkz
07:44:51 × sm quits (~sm@plaintextaccounting/sm) (Client Quit)
07:44:51 <Guest7> yeah its *not* the determinant cal
07:45:02 <Guest7> but somehow the way its being used triggers an error from within it!
07:45:05 <Guest7> its confusing as hell!
07:45:33 <tomsmeding> is the error that you are getting your "tail' !! " error?
07:46:04 <tomsmeding> write `determinant' mat = determinant (traceShowId mat)` and use determinant' instead of determinant
07:46:13 <tomsmeding> import Debug.Trace to get traceShowId
07:46:57 Jackneill joins (~Jackneill@20014C4E1E03D800AF259D09E48C0D87.dsl.pool.telekom.hu)
07:47:17 <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
07:47:26 <tomsmeding> row-add operations don't change the determinant
07:47:35 <tomsmeding> this is an O(n^3) algorithm because Gaussian elimination is O(n^3)
07:47:55 <tomsmeding> also, for 2-by-2 matrices the optimal algorithm is directly computing ad-bc :p
07:48:28 <Guest7> https://paste.tomsmeding.com/IQv3sD8e
07:48:58 <Guest7> its supposed to work in very many dimensions, as many as neuronal inputs
07:49:30 <tomsmeding> ah I see
07:49:36 <tomsmeding> well those are not square matrices, are they? :)
07:50:07 <Guest7> yeah, i guess that would give a tail error
07:51:14 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
07:51:37 euleritian joins (~euleritia@x52716a95.dyn.telefonica.de)
07:51:50 <Guest7> ok so the square matrix is the full det, i guess its doing the detj's wrong
07:55:46 <Guest7> aha, where the atan is theres only one entry
07:55:48 <Guest7> derp
07:55:49 <Guest7> thanks
07:56:40 <tomsmeding> glad I could be a rubber duck :)
07:56:54 <Guest7> yes it works!
07:58:17 <Guest7> https://paste.tomsmeding.com/8hZgtsDu
07:58:32 <Guest7> it gives a crazy picture
07:59:14 danza joins (~francesco@151.43.151.98)
07:59:57 acidjnk joins (~acidjnk@p200300d6e72b9355f44ae38018441913.dip0.t-ipconnect.de)
08:00:40 <Guest7> its not quite the desired algo as it has to do some rectification
08:00:50 <Guest7> its eventually going to be a support set
08:01:30 <Guest7> basically if its on a line to one of the points, its cos of just the radial direction
08:01:38 <Guest7> normalised so that its 1 when its on that pole
08:01:54 <Guest7> so if you imagine a bunch of poles at different radiuses surrounding an origin
08:02:13 <Guest7> the cos waves are bunched up when its in the direction of a closer pole
08:02:50 <Guest7> if this is 3/4 of the function, then its 1 just at the
08:03:14 <Guest7> origin, and 0 at the poles
08:03:28 <Guest7> then you can do leave one out, and support each origin seperately
08:03:39 <Guest7> each point as the origin in turn.
08:03:49 <Guest7> with all the other contributions at the other poles being 0
08:04:01 <Guest7> so you can kind of use it like a trig lagrange function
08:04:11 <Guest7> by how each of the contributions is just for one pole
08:04:30 <Guest7> as a basis this is great, since it already fits all the points, is orthogonal
08:04:41 <Guest7> so you can support the infill region
08:04:57 <Guest7> and there are some ways that this can be made smooth with conditions over the coeffecient series
08:05:22 <Guest7> and you can also make it so when a new incoming data point arives
08:05:28 <Guest7> its fist supported by the basis
08:05:49 <Guest7> before the basis is extended with contributions where it features as origin/pole
08:06:00 × euleritian quits (~euleritia@x52716a95.dyn.telefonica.de) (Read error: Connection reset by peer)
08:06:06 <Guest7> that way all the previous contributions are fixed to fit each point in turn
08:06:19 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
08:06:21 <Guest7> in order to do that using gradient descent
08:06:27 <Guest7> and preserving the smoothness
08:06:34 <Guest7> you have to use angle of shallowest approach
08:06:41 <Guest7> the opposite of what gradient descent would give you
08:07:03 danza quack
08:07:17 <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.
08:07:42 <Guest7> guaranteeing smooth fits in this way by a descent method is pretty awasomesauce
08:07:47 mmhat joins (~mmh@p200300f1c7445ef6ee086bfffe095315.dip0.t-ipconnect.de)
08:08:00 × mmhat quits (~mmh@p200300f1c7445ef6ee086bfffe095315.dip0.t-ipconnect.de) (Client Quit)
08:10:46 <Guest7> https://ibb.co/L1jZfdF
08:11:41 <Guest7> tomsmeding: you wana help me make these basis functions into a net?
08:12:05 <Guest7> the autofitting property is pretty alluring
08:12:18 <Guest7> no train, perfect fit, smooth interpolation, viola!
08:12:29 <tomsmeding> Guest7: my experience with this kind of analysis is very limited :p
08:12:46 <Guest7> thats quite polite!
08:13:57 <Guest7> basically its normally quite an involved training process, with no guarantee of convergence, to fit some points with a net
08:14:09 <Guest7> this thing does it without training
08:14:29 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Remote host closed the connection)
08:14:37 <Guest7> and the smoothness idea basically is avoiding overfitting
08:14:53 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
08:16:11 <Guest7> anyway, thanks for the help, ill return at some point if i ever finish it
08:16:18 <[exa]> good morning
08:16:20 <Guest7> shame theres not too much ppl about to help
08:16:35 neceve joins (~neceve@user/neceve)
08:16:39 <tomsmeding> you may or may not have better luck in a channel more geared towards continuous analysis :p
08:16:42 <[exa]> Guest7: it's night everywhere
08:16:43 <Guest7> [exa] my room has no windows, its alway nighttime
08:17:05 <[exa]> Guest7: btw how come the "shallowest descent" doesn't stop entirely?
08:17:07 <tomsmeding> Guest7: start talking about algebra or category theory here, suddenly there's people around
08:17:16 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
08:17:33 <Guest7> [exa] its something to do with there being an overdetermined support
08:17:41 <Guest7> if that makes sense
08:17:52 <Guest7> like i think it could converge to within some region more or less
08:18:13 fendor joins (~fendor@2a02:8388:1640:be00:4648:ee17:640e:e578)
08:18:14 <Guest7> within some tolerance, otherwise i cant see how the steepest vs shallowest descent would lead to different results
08:18:19 euleritian joins (~euleritia@x52716a95.dyn.telefonica.de)
08:18:27 <Guest7> if it was underdetermined it would never fit exactly
08:18:36 <Guest7> if its overdetermined i think there is wiggle room
08:18:56 <Guest7> so it would be like, which choice
08:19:20 <Guest7> and i think if you do the shallowest descent there is some theorem which means it should be smooth
08:19:39 <Guest7> basically, like, if your doing steepest descent, thats when varying any contribution has the most drastic impact
08:20:01 <Guest7> visa versa, so the shallowest descent should have each contribution being least sensitive
08:20:08 <Guest7> adjusting it making lower impact
08:20:18 <Guest7> hence shallower descent <-> smoothness
08:20:26 <Guest7> if that makes sense?
08:21:27 <Guest7> i mean, there is no guarantee that this holds away from the point your fitting i guess
08:21:57 <Guest7> maybe some kind of localisation condition, with possibility for random discontinuities in the far field
08:22:20 <[exa]> yeah it makes sense for smoothness but I'm not sure if a constant zero is the kind of smoothness you're seeking
08:22:25 <Guest7> but you wouldnt really expect interpolations to fit or be smooth by how they fit, away from where they fit
08:23:00 <Guest7> [exa]: sure, its just a regularization condition, there is a constant of proportionality to how much its prioritised
08:23:10 <[exa]> ok
08:23:44 <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
08:24:00 × rosco quits (~rosco@yp-150-69.tm.net.my) (Quit: Lost terminal)
08:24:19 <Guest7> but, yeah, it should be nonzero, just by firtue of fitting the points by *some kind of gradient descent*
08:24:25 <Guest7> virtue*
08:24:58 <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
08:25:11 <Guest7> so that the trg functions only contribute their
08:25:32 <Guest7> so theres like a bunch of terms in the frame, for each point
08:25:49 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
08:25:52 <Guest7> like, all the cos periodicities that are 1 at the origin and 0 at the poles
08:26:06 <Guest7> for each point as an origin. so like, a full series for each point
08:26:14 `2jt joins (~jtomas@90.162.208.36)
08:26:16 <Guest7> then when the new point arrives, its fit by this entire set
08:26:27 <Guest7> and a bunch of new frame elements are added using this new point
08:26:27 <[exa]> Guest7: I'm probably not going to get it in the entirety, too much morning
08:26:40 <Guest7> its a really cool idea if you can get to grips with it
08:26:50 <[exa]> the shallowest thing was just a first usual view on a thing tha can go wrong
08:27:18 <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
08:27:48 <Guest7> [exa]: i mean, if you get there by steepest descent it still gives a fit
08:27:53 <[exa]> also, beware floating point errors, innocent-looking linear algebra stuff explodes easily in computers
08:27:57 <Guest7> but this smoothness idea i thought was interesting
08:28:11 <Guest7> [exa]: fragile machines
08:28:26 <[exa]> fragile inversions
08:29:11 <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
08:29:23 <[exa]> yeah that should work OK imo
08:29:39 <[exa]> nvm have to find food, good luck :]
08:29:43 <Guest7> and just fits everything out the box, seems awesome
08:29:48 <Guest7> [exa] peace
08:30:11 × Guest7 quits (~Guest7@250.79-105-213.static.virginmediabusiness.co.uk) (Quit: Connection closed)
08:31:57 idgaen joins (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
08:37:07 × Lycurgus quits (~georg@user/Lycurgus) (Quit: leaving)
08:38:16 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:3851:3484:9307:a1fe) (Remote host closed the connection)
08:39:42 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Remote host closed the connection)
08:40:47 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
08:44:49 × tzh quits (~tzh@c-71-193-181-0.hsd1.or.comcast.net) (Quit: zzz)
08:48:54 Simikando joins (~Simikando@adsl-dyn216.91-127-84.t-com.sk)
08:48:56 target_i joins (~target_i@217.175.14.39)
08:50:20 × econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
08:52:11 random-jellyfish joins (~tiber@user/random-jellyfish)
09:00:57 Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
09:03:05 × Hooloovoo quits (~Hooloovoo@hax0rbana.org) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in)
09:03:13 × billchenchina quits (~billchenc@103.152.35.21) (Remote host closed the connection)
09:09:13 Hooloovoo joins (~Hooloovoo@hax0rbana.org)
09:11:41 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:d94b:a6c4:b05d:2c65)
09:18:13 × paddymahoney quits (~paddymaho@cpe883d24bcf597-cmbc4dfb741f80.cpe.net.cable.rogers.com) (Remote host closed the connection)
09:26:00 wootehfoot joins (~wootehfoo@user/wootehfoot)
09:27:01 Pickchea joins (~private@user/pickchea)
09:29:56 paddymahoney joins (~paddymaho@cpe883d24bcf597-cmbc4dfb741f80.cpe.net.cable.rogers.com)
09:39:27 × neceve quits (~neceve@user/neceve) (Ping timeout: 240 seconds)
09:43:04 × xigua quits (~xigua@user/xigua) (Remote host closed the connection)
09:43:40 xigua joins (~xigua@user/xigua)
09:47:07 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 264 seconds)
09:49:25 × `2jt quits (~jtomas@90.162.208.36) (Remote host closed the connection)
09:49:44 `2jt joins (~jtomas@90.162.208.36)
09:49:48 × `2jt quits (~jtomas@90.162.208.36) (Remote host closed the connection)
09:50:28 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
09:52:35 gmg joins (~user@user/gehmehgeh)
09:56:08 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 272 seconds)
09:57:13 aljazmc joins (~aljazmc@user/aljazmc)
09:58:02 Guest98 joins (~Guest98@2a02-a46f-7cd-1-d659-b804-f734-68a1.fixed6.kpn.net)
10:06:41 <danza> i found this lightweight way to scrape content from pages by copying an element root from web console
10:07:02 <danza> now i need to find a lightweight way to parse that in haskell without hating myself :P
10:10:06 <danza> found tagsoup and tagchup, feel promising
10:16:24 × Simikando quits (~Simikando@adsl-dyn216.91-127-84.t-com.sk) (Ping timeout: 272 seconds)
10:22:42 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
10:23:16 × ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
10:23:59 ec joins (~ec@gateway/tor-sasl/ec)
10:24:07 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
10:31:47 Simikando joins (~Simikando@adsl-dyn216.91-127-84.t-com.sk)
10:32:09 <[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?
10:32:38 <[exa]> (hasura unfortunately doesn't count, I tried to read from there and I keep getting lost)
10:32:57 × Guest98 quits (~Guest98@2a02-a46f-7cd-1-d659-b804-f734-68a1.fixed6.kpn.net) (Quit: Client closed)
10:33:05 <[exa]> danza: tagsoup is good™
10:33:25 <danza> thanks!
10:34:20 <[exa]> there's also this DSL https://hackage.haskell.org/package/scalpel, might be nice if you want to avoid patternmatch overload
10:34:45 <danza> cool!
10:35:09 <danza> about the query, you mean relational? There was that project<number> that was based on relational algebra, probably well designed
10:35:25 <[exa]> hm kinda wondering if a lensy view of tagsoup would help for scraping
10:35:33 [exa] opens the side project idea drawer
10:35:36 × Simikando quits (~Simikando@adsl-dyn216.91-127-84.t-com.sk) (Remote host closed the connection)
10:35:38 [exa] stores this for later
10:35:43 [exa] closes the side project idea drawer
10:36:01 <danza> project-m36 that was
10:36:41 <[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)
10:37:03 <[exa]> oh wow this m36 thing might do
10:37:06 <[exa]> thanks
10:38:06 <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
10:38:57 <danza> (that did not include project-m36 as the goal is different)
10:41:38 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
10:41:45 Friendship joins (~Friendshi@user/Friendship)
10:57:00 × random-jellyfish quits (~tiber@user/random-jellyfish) (Ping timeout: 240 seconds)
10:58:53 ash3en joins (~ash3en@dynamic-095-112-184-199.95.112.pool.telefonica.de)
11:01:00 <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
11:01:14 Square joins (~Square@user/square)
11:06:31 <ncf> yes
11:11:32 <ash3en> hi nfc, great, would you point me to the solution?
11:31:19 mrmr1553 joins (~mrmr@user/mrmr)
11:32:11 × mrmr155 quits (~mrmr@user/mrmr) (Ping timeout: 255 seconds)
11:32:11 mrmr1553 is now known as mrmr155
11:38:29 × aljazmc quits (~aljazmc@user/aljazmc) (Quit: Leaving)
11:39:10 aljazmc joins (~aljazmc@user/aljazmc)
11:39:13 × idgaen quits (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.5)
11:39:22 × danza quits (~francesco@151.43.151.98) (Read error: Connection reset by peer)
11:42:43 × lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
11:52:54 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving)
11:54:52 notzmv joins (~zmv@user/notzmv)
12:11:02 <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` ?
12:13:46 cheater_ joins (~Username@user/cheater)
12:15:56 × cheater quits (~Username@user/cheater) (Ping timeout: 255 seconds)
12:16:01 cheater_ is now known as cheater
12:16:58 <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
12:17:18 chomwitt joins (~chomwitt@2a02:587:7a01:8f00:1ac0:4dff:fedb:a3f1)
12:17:58 <int-e> err, only one hyphen
12:34:00 falafel joins (~falafel@62.175.113.194.dyn.user.ono.com)
12:47:59 × arahael quits (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds)
12:58:38 Inst joins (~Inst@120.244.192.250)
13:04:12 × Square quits (~Square@user/square) (Ping timeout: 240 seconds)
13:09:02 × falafel quits (~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 255 seconds)
13:13:08 × poscat quits (~poscat@user/poscat) (Quit: Bye)
13:13:22 poscat joins (~poscat@user/poscat)
13:14:59 × aljazmc quits (~aljazmc@user/aljazmc) (Remote host closed the connection)
13:16:01 Square joins (~Square@user/square)
13:19:47 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
13:20:40 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
13:30:23 × acidjnk quits (~acidjnk@p200300d6e72b9355f44ae38018441913.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
13:34:14 × ash3en quits (~ash3en@dynamic-095-112-184-199.95.112.pool.telefonica.de) (Ping timeout: 245 seconds)
13:34:15 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
13:34:33 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
13:35:06 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
13:35:15 tremon joins (~tremon@83.80.159.219)
13:35:56 ChaiTRex joins (~ChaiTRex@user/chaitrex)
13:36:39 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
13:41:20 × CO2 quits (CO2@gateway/vpn/protonvpn/co2) (Quit: WeeChat 4.1.0)
13:49:40 <yin> so `ghc-options: -with-rtsopts=-N4` in my cabal file, iiuc?
13:52:09 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
13:57:13 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 258 seconds)
14:04:45 <int-e> Yeah. Or ghc-options: "-with-rtsopts=-N4" to avoid a struggle if you ever want to add another RTS flag.
14:07:01 <yin> how so?
14:07:51 <int-e> Because the quotes have to go on the outside and that's easy to forget in a hurry.
14:09:47 × Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 255 seconds)
14:11:26 Maxdamantus joins (~Maxdamant@user/maxdamantus)
14:21:58 jpolchlo joins (~jpolchlo@pool-71-185-247-168.phlapa.fios.verizon.net)
14:22:20 idgaen joins (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
14:25:21 <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
14:25:21 <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?
14:28:44 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
14:29:25 × kayvank quits (~user@52-119-115-185.PUBLIC.monkeybrains.net) (Ping timeout: 258 seconds)
14:35:42 acidjnk joins (~acidjnk@p200300d6e72b9355f44ae38018441913.dip0.t-ipconnect.de)
14:36:35 × _xor quits (~xor@72.49.199.93) (Read error: Connection reset by peer)
14:38:38 _xor joins (~xor@72.49.199.93)
14:51:31 ash3en joins (~ash3en@2a01:c23:90e7:1600:a139:ce0d:15ed:d522)
14:51:59 × ash3en quits (~ash3en@2a01:c23:90e7:1600:a139:ce0d:15ed:d522) (Client Quit)
14:55:03 <geekosaur> that sounds like you should ask the gentoo maintainer
14:55:19 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
14:57:55 × dostoyevsky2 quits (~sck@user/dostoyevsky2) (Quit: leaving)
14:58:09 dostoyevsky2 joins (~sck@user/dostoyevsky2)
14:58:52 × [_] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 248 seconds)
15:04:14 <hololeap> jpolchlo: join #gentoo-haskell or file a bug on https://github.com/gentoo-haskell/gentoo-haskell
15:04:58 <jpolchlo> Oh, sorry!  Very wrong channel.  Thanks.
15:05:06 jpolchlo parts (~jpolchlo@pool-71-185-247-168.phlapa.fios.verizon.net) ()
15:07:15 sm joins (~sm@plaintextaccounting/sm)
15:07:39 aljazmc joins (~aljazmc@user/aljazmc)
15:13:30 × aljazmc quits (~aljazmc@user/aljazmc) (Remote host closed the connection)
15:14:12 tan00kee joins (~paul@207.red-2-142-48.dynamicip.rima-tde.net)
15:14:20 aljazmc joins (~aljazmc@user/aljazmc)
15:14:35 kayvank joins (~user@52-119-115-185.PUBLIC.monkeybrains.net)
15:16:03 × _xor quits (~xor@72.49.199.93) (Quit: Ping timeout (120 seconds))
15:16:42 _xor joins (~xor@72.49.199.93)
15:18:36 × _xor quits (~xor@72.49.199.93) (Client Quit)
15:19:24 × tan00kee quits (~paul@207.red-2-142-48.dynamicip.rima-tde.net) (Quit: WeeChat 4.0.5)
15:22:26 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
15:24:20 CO2 joins (CO2@gateway/vpn/protonvpn/co2)
15:28:11 × aljazmc quits (~aljazmc@user/aljazmc) (Remote host closed the connection)
15:30:20 aljazmc joins (~aljazmc@user/aljazmc)
15:40:17 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
15:42:05 ChaiTRex joins (~ChaiTRex@user/chaitrex)
15:49:10 <Inst> okay, god's in his heaven and all's right with the world
15:49:14 × Square quits (~Square@user/square) (Ping timeout: 255 seconds)
15:49:30 <Inst> StateT Int ST is outperforming ST with STRef
15:49:33 <Inst> by very tiny margins :(
15:51:15 × dostoyevsky2 quits (~sck@user/dostoyevsky2) (Quit: leaving)
15:51:16 <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
15:51:28 dostoyevsky2 joins (~sck@user/dostoyevsky2)
15:52:19 <EvanR> another way to look at it is, what would happen if you turned that optimization (if existed) off in haskell
15:55:18 <Inst> you can get TCO in extreme cases iirc
15:57:38 <monochrom> StateT Int Identity is yet faster than StateT Int ST.
15:58:46 × sm quits (~sm@plaintextaccounting/sm) (Quit: sm)
16:06:16 <int-e> but that would throw the quicksort into disarray
16:06:36 <EvanR> lol
16:06:36 <monochrom> haha
16:07:27 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 240 seconds)
16:07:49 jinsun_ joins (~jinsun@user/jinsun)
16:07:50 jinsun_ is now known as jinsun
16:13:05 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
16:16:19 dhil joins (~dhil@2001:8e0:2014:3100:16a5:60da:266d:e044)
16:17:46 Square joins (~Square@user/square)
16:18:18 sm joins (~sm@plaintextaccounting/sm)
16:18:48 <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
16:19:36 <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
16:20:19 <Inst> i mean I'll get EvanR telling me to do proper IO isolation instead of just dumping everything in IO
16:21:55 <monochrom> That depends on the person. Some people hack cleanly (eg me), some people hack dirtily.
16:23:19 <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)
16:23:55 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
16:26:52 <monochrom> Yes you should also join math. >:)
16:28:16 <Inst> I wish I could.
16:28:32 <Inst> If I had more time, I'd go make another run at Baby Rudin, which I bounced off twice. :(
16:30:15 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:d94b:a6c4:b05d:2c65) (Remote host closed the connection)
16:30:25 <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.
16:30:30 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:d94b:a6c4:b05d:2c65)
16:38:53 notzmv joins (~zmv@user/notzmv)
16:39:49 <[exa]> Inst: tbh real analysis may not be the most motivating branch of math ever
16:40:30 <[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
16:40:48 wootehfoot joins (~wootehfoo@user/wootehfoot)
16:40:54 <[exa]> literally no other purpose, perhaps I used some of that in statistics, once
16:41:04 <Inst> it was purely a technical issue on my end
16:41:20 <Inst> i was hopped up on lots of legal stimulants so there was no issue of motivation
16:41:38 <Inst> i thought about retrying with Artin Algebra, etc... might as well just do Rudin since that's standard iirc
16:41:45 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
16:44:15 <[exa]> ah yeah for the "getting up to a standard" that is probably a worthy read
16:47:00 econo_ joins (uid147250@id-147250.tinside.irccloud.com)
16:49:09 <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.
16:50:19 <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.
16:51:13 michalz joins (~michalz@185.246.207.221)
16:51:59 × sm quits (~sm@plaintextaccounting/sm) (Quit: sm)
16:52:36 <Inst> c_wraith: end result is that the most performant version is the accum parameter version
16:52:42 <Inst> with nested accum params under closure
16:53:12 <Inst> under O2, at least
16:53:45 <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.
16:54:10 <monochrom> One is I'm fascinated by Fourier analysis. Then functional analysis is like that on steroid.
16:54:57 <monochrom> The other is I'm unhappy with conventional probability theory. Then measure theory gives a perfect treatment.
16:55:03 × target_i quits (~target_i@217.175.14.39) (Quit: leaving)
16:55:10 <[exa]> monochrom: hi5
16:55:37 <[exa]> it totally pays off for the transforms, I completely forgot about them
16:59:37 sm joins (~sm@plaintextaccounting/sm)
17:00:02 × sm quits (~sm@plaintextaccounting/sm) (Client Quit)
17:00:49 <monochrom> OK Fourier analysis and functional analysis need complex analysis too. Now https://ro-che.info/ccc/23 applies.
17:03:24 <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
17:03:38 <EvanR> (not talking about pair of Double)
17:03:46 <monochrom> What computations? >:)
17:04:02 <c_wraith> yeah, computations are not what real numbers are for.
17:04:08 <c_wraith> real numbers are for pretty proofs
17:04:21 <monochrom> Oh but yeah https://hackage.haskell.org/package/cyclotomic
17:05:25 <monochrom> Or more simply: You need i get algebraically closed.
17:07:17 × kayvank quits (~user@52-119-115-185.PUBLIC.monkeybrains.net) (Remote host closed the connection)
17:07:24 <monochrom> err, s/get/to get/
17:07:46 <monochrom> (I need prepositions to get Englishly closed. :) )
17:08:15 target_i joins (~target_i@217.175.14.39)
17:11:27 <EvanR> cyclotomic is like exactly what I was thinking of I guess
17:12:56 sm joins (~sm@plaintextaccounting/sm)
17:18:01 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
17:20:02 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 255 seconds)
17:20:52 × aljazmc quits (~aljazmc@user/aljazmc) (Remote host closed the connection)
17:20:55 aljazmc_ joins (~aljazmc@user/aljazmc)
17:27:02 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
17:27:50 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:31:04 × aljazmc_ quits (~aljazmc@user/aljazmc) (Remote host closed the connection)
17:31:50 aljazmc_ joins (~aljazmc@user/aljazmc)
17:35:28 × aljazmc_ quits (~aljazmc@user/aljazmc) (Remote host closed the connection)
17:46:33 Lycurgus joins (~georg@user/Lycurgus)
17:53:39 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
17:58:36 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 248 seconds)
18:04:56 aljazmc joins (~aljazmc@user/aljazmc)
18:09:44 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
18:10:44 neceve joins (~neceve@user/neceve)
18:14:59 × Lycurgus quits (~georg@user/Lycurgus) (Quit: leaving)
18:16:54 × califax quits (~califax@user/califx) (Ping timeout: 256 seconds)
18:18:11 califax joins (~califax@user/califx)
18:20:54 × aljazmc quits (~aljazmc@user/aljazmc) (Remote host closed the connection)
18:21:33 aljazmc joins (~aljazmc@user/aljazmc)
18:22:08 × aljazmc quits (~aljazmc@user/aljazmc) (Remote host closed the connection)
18:25:40 falafel joins (~falafel@62.175.113.194.dyn.user.ono.com)
18:30:19 × falafel quits (~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 264 seconds)
18:33:51 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 240 seconds)
18:34:14 qqq joins (~qqq@92.43.167.61)
18:35:17 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
18:39:54 × sm quits (~sm@plaintextaccounting/sm) (Quit: sm)
18:39:55 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
18:43:20 sm joins (~sm@plaintextaccounting/sm)
18:44:43 × sm quits (~sm@plaintextaccounting/sm) (Client Quit)
18:49:08 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
18:51:49 tzh joins (~tzh@c-71-193-181-0.hsd1.or.comcast.net)
18:55:35 Sgeo joins (~Sgeo@user/sgeo)
18:56:55 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Remote host closed the connection)
18:57:17 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
19:04:47 gmg joins (~user@user/gehmehgeh)
19:07:20 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 258 seconds)
19:11:20 Guest|56 joins (~Guest|56@196.191.112.106)
19:17:44 × Guest|56 quits (~Guest|56@196.191.112.106) (Quit: Connection closed)
19:20:09 × califax quits (~califax@user/califx) (Remote host closed the connection)
19:21:38 × remexre quits (~remexre@user/remexre) (Ping timeout: 255 seconds)
19:23:09 califax joins (~califax@user/califx)
19:25:48 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 260 seconds)
19:37:58 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 255 seconds)
19:42:23 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving)
19:45:01 accord joins (uid568320@id-568320.hampstead.irccloud.com)
19:47:51 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
19:48:15 Lycurgus joins (~georg@user/Lycurgus)
19:48:51 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
19:49:35 takuan joins (~takuan@178-116-218-225.access.telenet.be)
19:54:36 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 240 seconds)
20:00:50 × YoungFrog quits (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (Quit: ZNC 1.7.x-git-3-96481995 - https://znc.in)
20:03:53 Pickchea joins (~private@user/pickchea)
20:04:15 YoungFrog joins (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be)
20:10:30 falafel joins (~falafel@62.175.113.194.dyn.user.ono.com)
20:11:58 × bliminse quits (~bliminse@user/bliminse) (Quit: leaving)
20:17:40 × Jackneill quits (~Jackneill@20014C4E1E03D800AF259D09E48C0D87.dsl.pool.telekom.hu) (Remote host closed the connection)
20:20:12 × Lycurgus quits (~georg@user/Lycurgus) (Quit: leaving)
20:23:09 × idgaen quits (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.5)
20:23:41 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
20:23:45 bliminse joins (~bliminse@user/bliminse)
20:27:51 × todi quits (~todi@p4fd1a3e6.dip0.t-ipconnect.de) (Quit: ZNC - https://znc.in)
20:28:15 remexre joins (~remexre@user/remexre)
20:30:58 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
20:31:49 × quintasan_ quits (~quassel@quintasan.pl) ()
20:32:01 quintasan joins (~quassel@quintasan.pl)
20:33:47 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
20:38:36 × shapr quits (~user@2600:1700:c640:3100:5fc7:fa6:a4a8:54f1) (Ping timeout: 260 seconds)
20:43:33 × neceve quits (~neceve@user/neceve) (Ping timeout: 258 seconds)
20:45:43 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
20:46:30 × elkcl quits (~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru) (Ping timeout: 255 seconds)
20:52:01 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
20:54:44 elkcl joins (~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru)
20:56:32 lispy joins (~lispy@82.212.115.68)
20:59:27 × falafel quits (~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 240 seconds)
21:09:58 <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" ?
21:10:15 <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.
21:12:33 <EvanR> the http-conduit (http-client) github reports build succeeds
21:12:44 <EvanR> I don't see any issues about undefined symbols errors
21:12:53 <EvanR> but maybe I missed something
21:13:04 × kmein quits (~weechat@user/kmein) (Quit: ciao kakao)
21:13:20 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
21:13:32 kmein joins (~weechat@user/kmein)
21:14:27 <John_Ivan_> EvanR, https://i.imgur.com/aa34RFR.png
21:17:23 <geekosaur> sounds like your hashable and ghc_wrapper libraries are broken
21:18:16 <EvanR> is that one symbol referring to zlib, if only one symbol from zlib is not found, maybe it's a version thing
21:18:28 <EvanR> reinstall ghc?
21:19:19 <John_Ivan_> EvanR, I actually just did that a while ago with cabal nuke
21:19:24 <John_Ivan_> and reinstalled ghcup
21:19:47 <EvanR> what about reinstalling ghc
21:19:57 <geekosaur> did you remove your entire cabal store? if not, you'll get things like this happening that are referencing nonexistent libraries
21:20:02 <John_Ivan_> isn't ghcup what install it?
21:20:07 <geekosaur> or rebuilds with different exports
21:20:26 <geekosaur> reinstalling ghcup doesn't necessarily reinstall ghc
21:20:28 <EvanR> you can delete ghcup, and reinstall ghcup, and it won't affect anything as I understand it
21:20:39 <John_Ivan_> x_X
21:20:49 <EvanR> you have to explicitly tell it to install or uninstall ghcs
21:20:52 <geekosaur> it resets your default (`s`et) versions
21:21:56 <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
21:24:46 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:25:10 <John_Ivan_> EvanR, does deleting my C:\cabal entire folder count as "reinstalling" ghc?
21:25:27 <John_Ivan_> because that's what I did after `cabal nuke`. I deleted that and ran ghcup again.
21:25:28 <EvanR> if that's where ghc was installed yeah
21:25:36 <John_Ivan_> EvanR, yeah, the issue persists then.
21:26:00 <EvanR> is that really where it gets installed
21:26:22 <John_Ivan_> I see /store and /packages inside C:\cabal
21:26:31 <John_Ivan_> they're newly created. based by date
21:26:36 <EvanR> ghc is the compiler, cabal is the build system and package manager
21:26:50 <John_Ivan_> I'll look around
21:27:05 <EvanR> if you open ghcup and ghc's still exist, they weren't uninstalled
21:27:12 <EvanR> or deleted
21:27:44 <John_Ivan_> EvanR, https://i.imgur.com/DTu1PkZ.png
21:28:05 <John_Ivan_> found it. it's here. as the date states, I re-installed it yesterday.
21:28:45 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
21:28:48 <John_Ivan_> EvanR, I have a dumb question
21:29:04 <John_Ivan_> EvanR, after reinstalling it and running `cabal build` on my project. there were no errors reported.
21:29:12 <John_Ivan_> the error appeared after I ran a `cabal clean`
21:29:17 <John_Ivan_> and a `cabal build` again.
21:29:40 <John_Ivan_> what is going on?
21:30:23 <EvanR> it could be a missing action in this story which did the actual breakage
21:31:09 <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
21:33:13 × fendor quits (~fendor@2a02:8388:1640:be00:4648:ee17:640e:e578) (Remote host closed the connection)
21:34:04 Jackneill joins (~Jackneill@20014C4E1E03D800AF259D09E48C0D87.dsl.pool.telekom.hu)
21:34:25 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
21:35:45 pavonia joins (~user@user/siracusa)
21:42:23 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
21:46:07 aljazmc joins (~aljazmc@user/aljazmc)
21:47:02 bbastian joins (~bbastian@c-76-147-2-166.hsd1.wa.comcast.net)
21:47:28 × bbastian quits (~bbastian@c-76-147-2-166.hsd1.wa.comcast.net) (Client Quit)
21:49:27 sm joins (~sm@plaintextaccounting/sm)
21:49:57 gmg joins (~user@user/gehmehgeh)
21:50:04 × dhil quits (~dhil@2001:8e0:2014:3100:16a5:60da:266d:e044) (Ping timeout: 252 seconds)
21:53:12 × michalz quits (~michalz@185.246.207.221) (Remote host closed the connection)
21:55:08 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
21:55:59 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
21:58:49 × aljazmc quits (~aljazmc@user/aljazmc) (Remote host closed the connection)
21:59:20 aljazmc joins (~aljazmc@user/aljazmc)
22:00:23 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
22:02:49 emmanuelux joins (~emmanuelu@user/emmanuelux)
22:04:00 notzmv joins (~zmv@user/notzmv)
22:05:44 × doyougnu quits (~doyougnu@45.46.170.68) (Ping timeout: 272 seconds)
22:07:37 son0p joins (~ff@181.136.122.143)
22:14:51 merijn joins (~merijn@233-142-158-163.dynamic.caiway.nl)
22:18:52 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
22:19:13 chexum joins (~quassel@gateway/tor-sasl/chexum)
22:19:31 × merijn quits (~merijn@233-142-158-163.dynamic.caiway.nl) (Ping timeout: 264 seconds)
22:19:46 × Jackneill quits (~Jackneill@20014C4E1E03D800AF259D09E48C0D87.dsl.pool.telekom.hu) (Ping timeout: 252 seconds)
22:21:41 harveypwca joins (~harveypwc@2601:246:c280:5ce0:e63c:23ce:ba5:e027)
22:22:35 <Inst> this is so cute
22:22:48 <Inst> it turns out acumulating parameter (done carefully) beats STRef on O2, but loses on O1
22:24:13 × accord quits (uid568320@id-568320.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
22:28:31 × oo_miguel quits (~Thunderbi@78-11-179-96.static.ip.netia.com.pl) (Ping timeout: 255 seconds)
22:31:29 × aljazmc quits (~aljazmc@user/aljazmc) (Quit: Leaving)
22:38:55 shapr joins (~user@2600:1700:c640:3100:d092:5c7c:734:98b6)
22:50:29 × acidjnk quits (~acidjnk@p200300d6e72b9355f44ae38018441913.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
22:53:54 <EvanR> if you look at the compiler output you can maybe see that the recursive code became a tight loop after doing -O2
22:55:50 geekosaur wonders if that's worth reporting
22:56:11 <geekosaur> -O2 is usually high-cost low-percentage optimizations
23:05:58 <dibblego> am I reinventing an existing function? getsM :: MonadState s m => (s -> m a) -> m a; getsM = join . gets
23:06:49 <int-e> or (get >>=)
23:07:42 <dibblego> ah yeah, ta
23:07:52 ChanServ sets mode -o dibblego
23:19:32 × target_i quits (~target_i@217.175.14.39) (Quit: leaving)
23:22:20 × John_Ivan_ quits (~John_Ivan@user/john-ivan/x-1515935) (Ping timeout: 248 seconds)
23:25:00 × chomwitt quits (~chomwitt@2a02:587:7a01:8f00:1ac0:4dff:fedb:a3f1) (Ping timeout: 240 seconds)
23:26:29 John_Ivan_ joins (~John_Ivan@user/john-ivan/x-1515935)
23:36:00 × harveypwca quits (~harveypwc@2601:246:c280:5ce0:e63c:23ce:ba5:e027) (Quit: Leaving)
23:49:20 Lycurgus joins (~georg@user/Lycurgus)

All times are in UTC on 2023-10-28.