Home liberachat/#haskell: Logs Calendar

Logs on 2024-07-24 (liberachat/#haskell)

00:02:46 tedbjurlin joins (~tedbjurli@user/tedbjurlin)
00:06:12 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
00:08:00 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
00:12:43 × dysthesis quits (~dysthesis@user/dysthesis) (Remote host closed the connection)
00:17:17 JuanDaugherty joins (~juan@user/JuanDaugherty)
00:21:00 × tedbjurlin quits (~tedbjurli@user/tedbjurlin) (Remote host closed the connection)
00:24:13 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
00:49:20 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds)
00:52:04 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Remote host closed the connection)
00:52:19 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
01:00:25 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
01:03:34 × pointlessslippe1 quits (~pointless@212.82.82.3) (Ping timeout: 252 seconds)
01:04:44 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
01:07:38 pointlessslippe1 joins (~pointless@212.82.82.3)
01:11:48 tram joins (~tram@2a02:587:b43:7300:a89e:683a:2da1:a2ed)
01:17:30 × tomku quits (~tomku@user/tomku) (Ping timeout: 260 seconds)
01:17:43 tomku joins (~tomku@user/tomku)
01:21:35 × machinedgod quits (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 260 seconds)
01:24:57 × JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
01:32:01 rekahsoft joins (~rekahsoft@184.148.6.200)
01:33:59 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
01:43:28 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
01:56:04 × Square2 quits (~Square@user/square) (Ping timeout: 252 seconds)
02:03:43 × acidsys quits (~crameleon@openSUSE/member/crameleon) (Ping timeout: 264 seconds)
02:03:57 × rekahsoft quits (~rekahsoft@184.148.6.200) (Ping timeout: 265 seconds)
02:07:07 × xff0x quits (~xff0x@2405:6580:b080:900:29eb:497:a6f9:c34d) (Ping timeout: 244 seconds)
02:07:18 <Unicorn_Princess> is there any way to assign priority to resolve functional dependencies? e.g. if two instance declarations match, to resolve the conflict by picking a preferred one
02:09:30 <davean> There is some stuff for that, but if you've got that its quite possible you have a serious issue. Can you give some more details about when you run into this?
02:12:40 <Unicorn_Princess> oh there might be a cleaner way. i just have to specify that two types must differ, then there should be no conflict
02:13:02 <geekosaur> "just"
02:13:20 <Unicorn_Princess> such a simple thing should be, well, simple, right? ; ;
02:13:24 <geekosaur> ("must be the same" can be done in the typechecker; "must be different" requires a runtime witness)
02:13:53 <geekosaur> the typechecker can handle "can be different", though)
02:14:37 <Unicorn_Princess> 'can be different' is just the default, innit? e.g. data Foo a b
02:14:45 <geekosaur> yes
02:15:08 <geekosaur> but if you want to express that "b" cannot be equal to "a", you have a problem
02:15:30 <davean> The thing about a functional dependency is its *functional* it points to *exactly one*
02:15:44 <davean> If it didn't, it wouldn't be a functional dependency.
02:15:51 <davean> it woudl just be a dependency
02:16:05 <davean> So more details would really help
02:16:27 × td_ quits (~td@i53870927.versanet.de) (Ping timeout: 276 seconds)
02:17:47 td_ joins (~td@i53870916.versanet.de)
02:18:19 <Unicorn_Princess> working on minimal example
02:21:45 ddellacosta joins (~ddellacos@ool-44c73d29.dyn.optonline.net)
02:21:45 acidsys joins (~crameleon@openSUSE/member/crameleon)
02:23:22 <Unicorn_Princess> here we go: https://play.haskell.org/saved/PfBTmjQp
02:25:06 <davean> c determines a b in your example. What you have there *is not a fucntioanl dependency in any way*
02:25:14 <davean> I explicitely exactly violates the "functional" part
02:25:57 <Unicorn_Princess> in which part does it do that?
02:27:12 <davean> "(Frac a b) (Frac b a)" could be equal to "(Frac a x) (Frac x d)" but you claim that it resolves to both Float and Frac a d
02:27:38 <Unicorn_Princess> ah yes, that's exactly my question
02:27:39 <davean> You can't *functionally* depend to more than one thing, *functional* means exactly one
02:27:50 <davean> So this is in no way a functional dependency
02:28:00 <Unicorn_Princess> that much i understand
02:28:02 <davean> It is specificly a *non*-functional dependency
02:28:34 <davean> So you can do multiprarameter type class with preference.
02:28:57 <davean> But a b *can not tell you what c is*
02:29:06 <Unicorn_Princess> but if i can say in the type signature that a!=d in the "(Frac a x) (Frac x d)" case, then the result type is uniquely determined by the two inputs, i.e. functional
02:29:34 <Unicorn_Princess> since it will no longer match the "(Frac a b) (Frac b a)" case
02:29:37 <davean> You can prove something is the same
02:29:59 <davean> Its a bit hard to prove, and I don't mean like "thats a lot of work" but in general to prove something is different.
02:30:19 <Unicorn_Princess> how do i do the preference thing then?
02:30:53 acidjnk joins (~acidjnk@p200300d6e72cfb436d5a267264431f6c.dip0.t-ipconnect.de)
02:30:55 <davean> https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/instances.html#instance-overlap
02:31:27 <davean> Are you sure tehre isn't a good c -> a b chain that you might use?
02:31:58 <davean> You are determining things by the result type here, NOT by the left hand types
02:32:17 × slack1256 quits (~slack1256@2803:c600:5111:80cb:37bc:e58a:82fe:bd1a) (Remote host closed the connection)
02:32:56 <Unicorn_Princess> if i understand you correctly, you're saying that "class Mult a b c | a b -> c where" means "determine the types of a and b from c"?
02:33:26 <davean> I believe you mgiht have typed something wrong.
02:33:50 <davean> That says "Given a and b, we ALWAYS KNOW EXACTLY WHAT C IS"
02:34:33 <Unicorn_Princess> that's what i thought, yes
02:34:49 <davean> Something along the lines of "c -> a b" is more what you have
02:35:09 <Unicorn_Princess> and your suggestion, "c -> a b", means "given c, we know exactly what a and b are"?
02:35:20 <davean> Note here that a type might not be specific *until runtime*
02:35:27 <davean> Unicorn_Princess: yes
02:35:51 <davean> Thats what makes proving inequality problematic on a fundimental level
02:36:16 <Unicorn_Princess> the overlappinginstances stuff is deprecated, i assume using it will cause more trouble than it's worth?
02:36:30 <geekosaur> the extension is deprecated
02:36:45 <geekosaur> there are pragmas these days instead, which give you more fine-grained control
02:37:12 <Unicorn_Princess> ah i see
02:37:18 <davean> Unicorn_Princess: your actual information has to blow from c to a & b given your example.
02:37:24 <davean> *flow
02:37:37 <davean> Not that your example might be your entire thing
02:38:26 <Unicorn_Princess> this is because haskell determines types 'backwards', i.e. from a desired result type, it figures out the input types?
02:38:38 <davean> No haskell does not have a direction
02:38:43 <davean> Your *example* has a direction
02:39:04 <davean> Because its where the determinant information is
02:39:15 <davean> Haskell works from all directions simultaniously.
02:39:49 <davean> But, the only place in your example the information can exist in, is in c, thus the only way to work out the types is *from* c
02:40:05 <davean> anything else would lead to contradictions
02:40:20 <Unicorn_Princess> ah, you mean because they overlap?
02:40:35 <davean> yes, and more how they overlap
02:40:52 <davean> Some overlaps are more problematic than others
02:42:08 <davean> Some overlaps won't lead to cascading problems where the issue could be anywhere. Yours does
02:42:24 <davean> Unless you resolve it from C
02:42:37 <davean> If you resolve it from c you'll get consistent results
02:42:56 <davean> (with that example)
02:46:30 × puke quits (~puke@user/puke) (Remote host closed the connection)
02:46:49 <Unicorn_Princess> hmm i see. since the compiler has trouble determining if two types differ at compile time, it doesn't consider the signature "Mult (Frac a b) (Frac b a)" as more specific than "Mult (Frac a x) (Frac x d)", and so it needs the third element too to disambiguate?
02:46:55 puke joins (~puke@user/puke)
02:47:08 <davean> It doesn't have "trouble" you can't either in general, its not generally possible
02:47:33 <Unicorn_Princess> well, that's just a specific kind of 'trouble' >_>
02:47:33 <davean> There is, infact, nothing "more specific" about that
02:47:57 <davean> If you had something concrete and actually provable, you could prefer it by preference
02:49:25 <davean> so you can actually do some preference here with a type equality witness
02:50:38 <davean> you could have like "instance (a :~: d) => Mult (Frac a x) (Frac x d)" and "instance Mult (Frac a x) (Frac x d)" for example, with an order
02:50:45 <davean> but that won't give you a functional dependency
02:50:56 <davean> it could give you an associated type maybe?
02:51:23 <davean> but then you'll have other issues because you'll only be forward chaining and never backward chaining
02:51:50 <davean> So you'll lose about half of your type inference
02:55:27 × puke quits (~puke@user/puke) (Ping timeout: 276 seconds)
02:56:00 <Unicorn_Princess> well i am way out of my type-depth, so what i'm getting from this is it's more trouble than it's worth, even if i could get it to work
02:57:58 <davean> I really expect yo uwant something "c -> a b"ish
02:59:14 xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
03:01:49 <Unicorn_Princess> blindly replacing the "a b -> c" with "c -> a b" gets me even more red squigglies. i think i've been pressing my hand against this particular hot stove long enough
03:03:17 <glguy> You could toss out the instance that generates a Float result and be explicit when you think you're done and provide a: Frac a a -> Float accessor
03:03:55 <Unicorn_Princess> that's the plan, i think
03:06:33 JuanDaugherty joins (~juan@user/JuanDaugherty)
03:17:41 × xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 255 seconds)
03:19:48 xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
03:30:00 × tram quits (~tram@2a02:587:b43:7300:a89e:683a:2da1:a2ed) (Quit: Leaving.)
03:33:34 × JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
03:38:45 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
03:39:08 L29Ah joins (~L29Ah@wikipedia/L29Ah)
03:41:32 × tomku quits (~tomku@user/tomku) (Ping timeout: 255 seconds)
03:41:32 tcard joins (~tcard@p3705237-ipxg22301hodogaya.kanagawa.ocn.ne.jp)
03:41:47 tomku joins (~tomku@user/tomku)
03:56:36 aforemny joins (~aforemny@2001:9e8:6cf8:db00:b657:96fb:9374:58f5)
03:57:55 × aforemny_ quits (~aforemny@i59F516F9.versanet.de) (Ping timeout: 260 seconds)
04:12:38 slack1256 joins (~slack1256@2803:c600:5111:80cb:919d:c705:82c4:29e9)
04:23:00 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 260 seconds)
04:37:14 madhavanmiui joins (~madhavanm@2409:40f4:10f7:9cfe:8000::)
04:38:09 × madhavanmiui quits (~madhavanm@2409:40f4:10f7:9cfe:8000::) (Client Quit)
04:53:29 skyesoss23 joins (~skyesoss@c-73-208-45-119.hsd1.il.comcast.net)
04:53:45 × skyesoss quits (~Thunderbi@c-73-208-45-119.hsd1.il.comcast.net) (Quit: skyesoss)
04:54:11 × skyesoss23 quits (~skyesoss@c-73-208-45-119.hsd1.il.comcast.net) (Client Quit)
04:54:22 skyesoss joins (~Thunderbi@c-73-208-45-119.hsd1.il.comcast.net)
04:55:39 × slack1256 quits (~slack1256@2803:c600:5111:80cb:919d:c705:82c4:29e9) (Ping timeout: 252 seconds)
05:04:49 × tomku quits (~tomku@user/tomku) (Ping timeout: 260 seconds)
05:17:41 × srk quits (~sorki@user/srk) (Ping timeout: 248 seconds)
05:28:10 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:29:31 × bliminse quits (~bliminse@user/bliminse) (Quit: leaving)
05:30:27 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
05:36:34 bliminse joins (~bliminse@user/bliminse)
05:46:15 michalz joins (~michalz@185.246.207.193)
05:52:52 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
06:01:29 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 255 seconds)
06:16:42 tomku joins (~tomku@user/tomku)
06:27:24 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
06:28:25 euleritian joins (~euleritia@dynamic-176-006-143-106.176.6.pool.telefonica.de)
06:30:50 sord937 joins (~sord937@gateway/tor-sasl/sord937)
07:04:34 lortabac joins (~lortabac@37.169.7.96)
07:09:53 × lortabac quits (~lortabac@37.169.7.96) (Quit: WeeChat 4.2.2)
07:19:14 lortabac joins (~lortabac@37.169.7.96)
07:20:19 rosco joins (~rosco@14.191.221.176)
07:20:53 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Quit: au revoir)
07:21:29 oo_miguel joins (~Thunderbi@78.10.207.46)
07:31:10 __monty__ joins (~toonn@user/toonn)
07:46:47 × rachelambda quits (~rachelamb@cust-95-80-25-71.csbnet.se) (Ping timeout: 255 seconds)
07:47:01 × econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
07:54:48 rachelambda joins (~rachelamb@cust-95-80-25-71.csbnet.se)
07:55:01 machinedgod joins (~machinedg@d173-183-246-216.abhsia.telus.net)
07:58:50 × tabemann quits (~tabemann@2600:1700:7990:24e0:857c:42f1:b76d:8309) (Ping timeout: 260 seconds)
08:01:38 <Unicorn_Princess> is there a way in haskell to specify the type of a numeric literal, other than (2 :: Float)? something like 2.f32 perhaps
08:05:14 × euleritian quits (~euleritia@dynamic-176-006-143-106.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
08:05:32 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
08:06:25 <mauke> don't think so
08:06:30 simendsjo joins (~user@2001:2044:1413:800:c4c9:16db:19ee:b47c)
08:08:33 paddymahoney joins (~paddymaho@pool-99-250-30-88.cpe.net.cable.rogers.com)
08:11:22 tabemann joins (~tabemann@2600:1700:7990:24e0:7cbc:db42:7124:831c)
08:11:56 <Unicorn_Princess> this specifically is my problem: https://play.haskell.org/saved/sliTftDP
08:12:34 × skyesoss quits (~Thunderbi@c-73-208-45-119.hsd1.il.comcast.net) (Ping timeout: 272 seconds)
08:12:40 <Unicorn_Princess> i've realized i can simplify my units system a lot, since i have so few units i'll actually use, i can simply define what multiplying each pair should produce
08:13:25 <Unicorn_Princess> and it seems to work, except now haskell is being picky about the first argument
08:13:40 <Unicorn_Princess> (in the case it's a numeric literal)
08:14:41 × benjaminl quits (~benjaminl@user/benjaminl) (Ping timeout: 255 seconds)
08:17:00 <Lears> Unicorn_Princess: You might get away with `instance float ~ Float => QMul float ...` depending on what other instances you want, otherwise you just have to annotate the literals.
08:17:53 <Unicorn_Princess> what does that syntax mean?
08:18:25 <Unicorn_Princess> a ~ in a type signature, scary...
08:18:48 <Lears> It's an equality constraint. It means the instances matches /before/ restricting the variable to Float.
08:19:52 × rosco quits (~rosco@14.191.221.176) (Remote host closed the connection)
08:20:14 × ft quits (~ft@p3e9bc4e7.dip0.t-ipconnect.de) (Quit: leaving)
08:20:41 danse-nr3 joins (~danse-nr3@user/danse-nr3)
08:22:23 benjaminl joins (~benjaminl@user/benjaminl)
08:22:31 <Unicorn_Princess> well i don't understand that, but ghc gets angry after i add in the other instances. hmm.
08:23:58 <Lears> OVERLAPPING/OVERLAPS may also help, but again, it depends on the instances.
08:27:14 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 265 seconds)
08:30:31 <Unicorn_Princess> hm, they really shouldn't be overlapping tho. anyway, here's what happens: https://play.haskell.org/saved/RJi0C7Co
08:30:53 <Unicorn_Princess> and i really don't understand how those instances conflict
08:33:04 × vgtw quits (~vgtw@user/vgtw) (Quit: ZNC - https://znc.in)
08:34:27 chele joins (~chele@user/chele)
08:37:06 × danse-nr3 quits (~danse-nr3@user/danse-nr3) (Quit: on the move)
08:38:57 <Lears> Yeah, that's not the instance heads overlapping, it's the fundeps conflicting again. To be consistent with the first instance (`float, Qty a -> Qty a`) the second (`Qty DMass, Qty DMassFrac -> Qty DMass`) would need `Qty DMassFrac` on the RHS.
08:39:11 <Lears> Anyway, just rollback to before the equality constraint and get used to annotating.
08:39:29 <Unicorn_Princess> yeah i think i'll go with that, thanks for trying :)
08:39:51 motherfsck joins (~motherfsc@user/motherfsck)
08:40:20 <Unicorn_Princess> i'll just make an "as_grams :: Float -> Mass" function to make it ergonomic
08:40:54 <Unicorn_Princess> so "as_grams 12" instead of "12 .* g"
08:41:16 <Unicorn_Princess> or rather "(12 :: Float) .* g"
08:42:55 <Lears> Another option would be: `grams :: Float -> Mass`, then: (12 `grams`)
08:44:42 cfricke joins (~cfricke@user/cfricke)
08:49:00 poscat joins (~poscat@user/poscat)
08:50:14 × poscat0x04 quits (~poscat@user/poscat) (Ping timeout: 255 seconds)
08:52:04 danse-nr3 joins (~danse-nr3@user/danse-nr3)
09:08:48 Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
09:09:14 skyesoss joins (~Thunderbi@c-73-208-45-119.hsd1.il.comcast.net)
09:09:34 CiaoSen joins (~Jura@2a05:5800:2b1:8400:e6b9:7aff:fe80:3d03)
09:09:59 gehmehgeh joins (~user@user/gehmehgeh)
09:13:30 × skyesoss quits (~Thunderbi@c-73-208-45-119.hsd1.il.comcast.net) (Ping timeout: 260 seconds)
09:15:58 sawilagar joins (~sawilagar@user/sawilagar)
09:29:15 × CrunchyFlakes quits (~CrunchyFl@146.52.130.128) (Ping timeout: 260 seconds)
09:29:41 CrunchyFlakes joins (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de)
09:30:48 gehmehgeh is now known as gmg
09:33:00 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds)
09:33:19 euleritian joins (~euleritia@dynamic-176-006-143-106.176.6.pool.telefonica.de)
09:34:42 × euleritian quits (~euleritia@dynamic-176-006-143-106.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
09:34:59 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
09:42:09 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 265 seconds)
09:42:21 euleritian joins (~euleritia@dynamic-176-006-143-106.176.6.pool.telefonica.de)
09:45:03 misterfish joins (~misterfis@84.53.85.146)
09:47:34 × CrunchyFlakes quits (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds)
09:48:35 CrunchyFlakes joins (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de)
09:50:07 × euleritian quits (~euleritia@dynamic-176-006-143-106.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
09:50:30 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
10:01:25 <danse-nr3> i find haddock's module descriptions slightly awkward. They begin with {-|, but there is nothing to be written straight after the |
10:04:14 <danse-nr3> | is visually leading attention towards what follows it on the same line. It's catchy to the point that i always start with uppercase afterwards (in function docstrings) because it looks better
10:10:48 × xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 252 seconds)
10:11:10 nuno joins (~nunof@bl17-183-43.dsl.telepac.pt)
10:25:21 × lortabac quits (~lortabac@37.169.7.96) (Quit: WeeChat 4.2.2)
10:27:00 × CiaoSen quits (~Jura@2a05:5800:2b1:8400:e6b9:7aff:fe80:3d03) (Ping timeout: 260 seconds)
10:33:07 <haskellbridge> <sm> danse-nr3: are you talking about needing at least one space after the | ?
10:33:42 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 276 seconds)
10:33:42 <danse-nr3> no i mean that in haddock examples (and in my common usecase) there is nothing to be written in the | line
10:34:15 <haskellbridge> <sm> I'm still mystified, sorry :)
10:34:39 <danse-nr3> maybe because the metadata come before the plain text https://haskell-haddock.readthedocs.io/latest/markup.html#the-module-description
10:35:11 <danse-nr3> but i guess that if i don't add metadata i can start right after the |
10:35:15 <danse-nr3> could work for a while
10:39:46 × jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Quit: Textual IRC Client: www.textualapp.com)
10:40:12 jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
10:40:12 Square2 joins (~Square@user/square)
10:52:09 × jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Quit: Textual IRC Client: www.textualapp.com)
10:53:39 jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
10:55:36 × jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Client Quit)
11:01:25 × danse-nr3 quits (~danse-nr3@user/danse-nr3) (Ping timeout: 252 seconds)
11:01:26 jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
11:01:48 danse-nr3 joins (~danse-nr3@user/danse-nr3)
11:08:20 × danse-nr3 quits (~danse-nr3@user/danse-nr3) (Quit: battery over)
11:09:09 srk joins (~sorki@user/srk)
11:17:30 × simendsjo quits (~user@2001:2044:1413:800:c4c9:16db:19ee:b47c) (Ping timeout: 272 seconds)
11:17:56 xff0x joins (~xff0x@2405:6580:b080:900:8fcf:75e8:d4d3:15fa)
11:20:59 × spacenautx quits (~spacenaut@user/spacenautx) (Ping timeout: 255 seconds)
11:28:32 guy joins (~guy@31.94.68.127)
11:28:37 <guy> hi
11:28:44 <guy> im trying to find a replacement for a library
11:28:52 <guy> i was using a version with HMatrix
11:28:55 <guy> but it uses blas
11:28:59 <guy> (lapack)
11:29:16 <guy> which id ont want to have to install each time, as i forget how, and its not platform independent
11:29:38 <guy> anytime i use the import with the HMatrix dependency i get stuck searching around online, and its killing my productivity at critical times
11:29:40 <guy> gaussianSample
11:29:46 <guy> is the function i wish to replace
11:30:02 <guy> https://hackage.haskell.org/package/hmatrix-0.16.1.5/docs/src/Numeric-LinearAlgebra-Random.html#gaussianSample
11:30:34 <guy> https://hackage.haskell.org/package/hmatrix-0.16.1.5/docs/Numeric-LinearAlgebra-HMatrix.html#v:gaussianSample
11:30:40 <guy> (snd link is better)
11:31:03 <guy> it takes a list of means and a covariance matrix
11:31:21 <guy> does anyone know of a package that offers an alternative to this function that does not rely on Clibs?
11:31:35 <guy> or alternatively would anyone be willing to help me rewrite it?
11:31:54 <guy> its quite complicated to do properly and relies on some cholitsky factorisations and stuff i dont want to have to do this
11:32:40 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
11:32:57 <guy> i can find plenty of libraries with the gausin distribution on a line, but not many (any?) that do it in nd
11:43:58 lxsameer joins (~lxsameer@Serene/lxsameer)
11:48:26 CiaoSen joins (~Jura@2a05:5800:2b1:8400:e6b9:7aff:fe80:3d03)
11:54:14 <guy> ok i found a good how to here
11:54:15 <guy> http://5.178.65.204/topic/details/how-to-correctly-build-cabal-project-using-hmatrix-under-windows-10/29169
11:54:51 <guy> basically;
11:54:52 <guy> pacman -S mingw-w64-x86_64-blas mingw-w64-x86_64-lapack
11:55:01 <guy> C:\msys64\mingw64\bin
11:55:06 <guy> (on path)
11:55:19 <guy> (using msys2)
11:55:25 <guy> derp
11:55:27 <guy> ciao
11:55:30 × guy quits (~guy@31.94.68.127) (Quit: Connection closed)
12:11:08 nshepperd23 joins (~nshepperd@2a01:4f9:3b:4cc9::2)
12:11:10 coldtom6 joins (~coldtom@coldrick.cc)
12:12:07 × auri quits (~auri@fsf/member/auri) (Remote host closed the connection)
12:12:16 × nadja quits (~dequbed@banana-new.kilobyte22.de) (Remote host closed the connection)
12:12:20 × lambdabot quits (~lambdabot@haskell/bot/lambdabot) (Remote host closed the connection)
12:12:22 × V quits (~v@ircpuzzles/2022/april/winner/V) (Remote host closed the connection)
12:12:28 × dyniec quits (~dyniec@dybiec.info) (Ping timeout: 265 seconds)
12:12:49 × rncwnd quits (~quassel@2a01:4f8:221:27c6::1) (Write error: Broken pipe)
12:12:57 × coldtom quits (~coldtom@coldrick.cc) (Read error: Connection reset by peer)
12:12:57 coldtom6 is now known as coldtom
12:12:57 × eugenrh quits (~eugenrh@user/eugenrh) (Ping timeout: 265 seconds)
12:13:03 × nshepperd2 quits (~nshepperd@2a01:4f9:3b:4cc9::2) (Read error: Connection reset by peer)
12:13:03 nshepperd23 is now known as nshepperd2
12:13:15 eugenrh joins (~eugenrh@user/eugenrh)
12:13:17 auri joins (~auri@fsf/member/auri)
12:13:24 nadja joins (~dequbed@banana-new.kilobyte22.de)
12:13:27 × yushyin quits (h88XgTom95@mail.karif.server-speed.net) (Ping timeout: 265 seconds)
12:13:37 V joins (~v@ircpuzzles/2022/april/winner/V)
12:13:50 yushyin joins (AvGFjw6Xiu@mail.karif.server-speed.net)
12:14:00 rncwnd joins (~quassel@2a01:4f8:221:27c6::1)
12:14:20 lambdabot joins (~lambdabot@haskell/bot/lambdabot)
12:14:20 ChanServ sets mode +v lambdabot
12:14:28 dyniec joins (~dyniec@dybiec.info)
12:16:46 lortabac joins (~lortabac@37.169.7.96)
12:23:19 cfricke joins (~cfricke@user/cfricke)
12:33:26 × ddellacosta quits (~ddellacos@ool-44c73d29.dyn.optonline.net) (Ping timeout: 255 seconds)
12:36:19 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
12:37:23 euleritian joins (~euleritia@dynamic-176-006-136-160.176.6.pool.telefonica.de)
12:39:12 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
12:39:32 L29Ah joins (~L29Ah@wikipedia/L29Ah)
12:44:21 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 276 seconds)
12:47:01 danse-nr3 joins (~danse-nr3@user/danse-nr3)
12:52:23 tabemann_ joins (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net)
12:53:49 × tabemann quits (~tabemann@2600:1700:7990:24e0:7cbc:db42:7124:831c) (Ping timeout: 260 seconds)
12:54:35 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 255 seconds)
12:55:39 slack1256 joins (~slack1256@2803:c600:5111:80cb:380e:34f2:2727:e112)
12:57:29 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
12:59:22 cfricke joins (~cfricke@user/cfricke)
13:05:40 × lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 260 seconds)
13:08:01 kuribas joins (~user@ptr-17d51epajiqo5s57kyl.18120a2.ip6.access.telenet.be)
13:14:37 ystael joins (~ystael@user/ystael)
13:15:16 × ouroboros quits (~ouroboros@user/ouroboros) (Quit: Bye.)
13:15:28 tram joins (~tram@94.71.169.14)
13:15:35 ouroboros joins (~ouroboros@user/ouroboros)
13:18:54 × CiaoSen quits (~Jura@2a05:5800:2b1:8400:e6b9:7aff:fe80:3d03) (Ping timeout: 260 seconds)
13:28:02 × euleritian quits (~euleritia@dynamic-176-006-136-160.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
13:28:20 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
13:54:21 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
14:02:16 × lortabac quits (~lortabac@37.169.7.96) (Quit: WeeChat 4.2.2)
14:19:21 CiaoSen joins (~Jura@2a05:5800:2b1:8400:e6b9:7aff:fe80:3d03)
14:23:09 × drdo quits (~drdo@bl5-29-74.dsl.telepac.pt) (Ping timeout: 276 seconds)
14:23:57 drdo joins (~drdo@bl5-29-74.dsl.telepac.pt)
14:29:19 × m1dnight quits (~christoph@78-20-61-242.access.telenet.be) (Quit: WeeChat 4.2.2)
14:29:48 m1dnight joins (~christoph@78-20-61-242.access.telenet.be)
14:33:16 Midjak joins (~MarciZ@82.66.147.146)
14:34:54 × m1dnight quits (~christoph@78-20-61-242.access.telenet.be) (Quit: WeeChat 4.2.2)
14:35:13 m1dnight joins (~christoph@78-20-61-242.access.telenet.be)
14:36:40 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 260 seconds)
14:38:00 liberalogica joins (~francesco@151.37.173.253)
14:38:29 <liberalogica> i am trying glirc
14:40:07 <EvanR> nice
14:41:17 <liberalogica> terminal management looks neat, although it's not obvious how to interact with the app (through a prefix or some key combination?)
14:41:46 <liberalogica> i'll move to offtopic i guess
14:45:45 <EvanR> there's a channel for it?
14:45:48 <EvanR> #glirc ?
14:46:24 <liberalogica> seems so, thanks
14:47:47 nuno parts (~nunof@bl17-183-43.dsl.telepac.pt) (Leaving)
14:50:10 puke joins (~puke@user/puke)
14:58:17 tabemann_ is now known as tabemann
15:00:22 × liberalogica quits (~francesco@151.37.173.253) (Ping timeout: 252 seconds)
15:00:59 × danse-nr3 quits (~danse-nr3@user/danse-nr3) (Ping timeout: 260 seconds)
15:01:39 danse-nr3 joins (~danse-nr3@user/danse-nr3)
15:04:57 × hc quits (~hc@2407:d200:d002:43:229:85:195:3) (Remote host closed the connection)
15:21:05 × chele quits (~chele@user/chele) (Remote host closed the connection)
15:26:51 × rachelambda quits (~rachelamb@cust-95-80-25-71.csbnet.se) (Ping timeout: 276 seconds)
15:31:54 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
15:34:25 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
15:42:26 Guest1889 joins (~francesco@151.37.143.79)
15:44:58 × Guest1889 quits (~francesco@151.37.143.79) (Remote host closed the connection)
15:53:29 × danse-nr3 quits (~danse-nr3@user/danse-nr3) (Quit: life calls)
15:53:31 × CiaoSen quits (~Jura@2a05:5800:2b1:8400:e6b9:7aff:fe80:3d03) (Ping timeout: 252 seconds)
15:56:59 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
16:16:38 danse-nr3 joins (~danse-nr3@user/danse-nr3)
16:21:49 × euphores quits (~SASL_euph@user/euphores) (Read error: Connection reset by peer)
16:22:37 × jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Remote host closed the connection)
16:23:26 jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
16:30:10 × nisstyre quits (wes@user/nisstyre) (Ping timeout: 248 seconds)
16:31:49 euphores joins (~SASL_euph@user/euphores)
16:32:53 L29Ah joins (~L29Ah@wikipedia/L29Ah)
16:40:13 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Remote host closed the connection)
16:41:17 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
16:42:51 nisstyre joins (wes@user/nisstyre)
16:46:45 × danse-nr3 quits (~danse-nr3@user/danse-nr3) (Quit: on the move)
16:48:35 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 255 seconds)
16:49:13 <cheater> what the hell is that url?
16:50:40 <cheater> apparently, it's everyerror.com
16:50:46 <cheater> how did he end up with an IP?
16:50:52 <cheater> so weird
16:52:51 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
16:56:55 skyesoss joins (~Thunderbi@c-73-208-45-119.hsd1.il.comcast.net)
16:57:59 motherfsck joins (~motherfsc@user/motherfsck)
16:59:28 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
17:04:09 lxsameer joins (~lxsameer@Serene/lxsameer)
17:13:19 danse-nr3 joins (~danse-nr3@user/danse-nr3)
17:20:51 mvk joins (~mvk@2607:fea8:5c96:5800::2c48)
17:20:51 × mvk quits (~mvk@2607:fea8:5c96:5800::2c48) (Client Quit)
17:22:18 tedbjurlin joins (~tedbjurli@user/tedbjurlin)
17:33:38 × machinedgod quits (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 252 seconds)
17:33:52 × puke quits (~puke@user/puke) (Read error: Connection reset by peer)
17:33:55 pyooque joins (~puke@user/puke)
17:33:55 pyooque is now known as puke
17:36:34 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
17:36:55 × lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 260 seconds)
17:37:16 × Midjak quits (~MarciZ@82.66.147.146) (Quit: Leaving)
17:37:47 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:47:11 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
17:49:44 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
17:59:01 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds)
18:10:42 ft joins (~ft@p3e9bc4e7.dip0.t-ipconnect.de)
18:11:37 omegatron joins (~some@user/omegatron)
18:19:58 simendsjo joins (~user@2001:2044:1413:800:c4c9:16db:19ee:b47c)
18:21:37 × puke quits (~puke@user/puke) (Read error: Connection reset by peer)
18:21:49 noumenon joins (~noumenon@113.51-175-156.customer.lyse.net)
18:21:59 puke joins (~puke@user/puke)
18:22:33 prolic_ joins (~sasa@181.122.138.24)
18:22:59 <prolic_> mauke - hi my friend
18:23:02 × CrunchyFlakes quits (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
18:25:24 CrunchyFlakes joins (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de)
18:25:57 <prolic_> FYI: I was working on reviving the outdated and unmaintained HsQML library for Haskell, which adds Qt5 support with Qt Quick QML. Yesterday I made it work and run for the first time.
18:26:00 <prolic_> https://github.com/prolic/HsQML
18:29:36 <EvanR> admirable
18:33:58 <juri_> yay. :)
18:37:22 <prolic_> I'm trying to get some demos running right now
18:38:18 <geekosaur> 👍
18:42:08 <prolic_> https://github.com/prolic/hsqml-demo-morris/
18:42:30 <prolic_> HsQML-based implementation of Nine Men's Morris (written in Haskell)
18:46:46 rvalue- joins (~rvalue@user/rvalue)
18:47:20 × rvalue quits (~rvalue@user/rvalue) (Ping timeout: 252 seconds)
18:50:13 target_i joins (~target_i@user/target-i/x-6023099)
18:50:51 rvalue- is now known as rvalue
18:51:19 × zlqrvx quits (~zlqrvx@user/zlqrvx) (Quit: %quit%)
18:51:40 zlqrvx joins (~zlqrvx@user/zlqrvx)
18:52:28 × tram quits (~tram@94.71.169.14) (Quit: Leaving.)
18:53:49 raehik joins (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net)
18:54:33 × noumenon quits (~noumenon@113.51-175-156.customer.lyse.net) (Quit: Leaving)
18:57:57 × RedFlamingos quits (~RedFlamin@user/RedFlamingos) (Ping timeout: 248 seconds)
18:58:27 × danse-nr3 quits (~danse-nr3@user/danse-nr3) (Quit: so long)
19:05:54 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
19:08:26 pyooque joins (~puke@user/puke)
19:08:26 × puke quits (~puke@user/puke) (Killed (osmium.libera.chat (Nickname regained by services)))
19:08:26 pyooque is now known as puke
19:10:41 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
19:23:37 eron joins (~eron@143.0.15.20)
19:32:02 × raehik quits (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 248 seconds)
19:33:41 × simendsjo quits (~user@2001:2044:1413:800:c4c9:16db:19ee:b47c) (Ping timeout: 248 seconds)
19:39:02 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
19:42:21 orvokki joins (~orvokki@telia-2e0f26-222.connect.netcom.no)
19:46:08 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
19:47:36 × orvokki quits (~orvokki@telia-2e0f26-222.connect.netcom.no) (Quit: Client closed)
19:57:43 × eron quits (~eron@143.0.15.20) (Quit: Client closed)
20:01:57 × acidjnk quits (~acidjnk@p200300d6e72cfb436d5a267264431f6c.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
20:02:23 × tedbjurlin quits (~tedbjurli@user/tedbjurlin) (Remote host closed the connection)
20:16:26 pyooque joins (~puke@user/puke)
20:16:26 × puke quits (~puke@user/puke) (Killed (tantalum.libera.chat (Nickname regained by services)))
20:16:26 pyooque is now known as puke
20:18:24 pyooque joins (~puke@user/puke)
20:18:24 puke is now known as Guest3201
20:18:24 pyooque is now known as puke
20:21:12 × Guest3201 quits (~puke@user/puke) (Ping timeout: 252 seconds)
20:26:46 acidjnk joins (~acidjnk@p200300d6e72cfb366d2386d7abebf685.dip0.t-ipconnect.de)
20:31:08 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
20:42:54 pyooque joins (~puke@user/puke)
20:42:54 puke is now known as Guest8390
20:42:54 pyooque is now known as puke
20:45:24 × Guest8390 quits (~puke@user/puke) (Ping timeout: 252 seconds)
20:50:26 pyooque joins (~puke@user/puke)
20:50:26 puke is now known as Guest6464
20:50:26 pyooque is now known as puke
20:51:16 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
20:52:14 × puke quits (~puke@user/puke) (Client Quit)
20:52:44 × Guest6464 quits (~puke@user/puke) (Ping timeout: 252 seconds)
20:55:39 puke joins (~puke@user/puke)
21:08:01 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
21:11:38 JuanDaugherty joins (~juan@user/JuanDaugherty)
21:12:47 pavonia joins (~user@user/siracusa)
21:21:50 darkstardevx joins (~darkstard@50.53.3.2)
21:29:44 ddellacosta joins (~ddellacos@ool-44c73d29.dyn.optonline.net)
21:31:41 × michalz quits (~michalz@185.246.207.193) (Quit: ZNC 1.9.0 - https://znc.in)
21:33:07 × hgolden quits (~hgolden@2603:8000:9d00:3ed1:1ee4:1b7c:94a7:8fa7) (Remote host closed the connection)
21:36:51 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
21:37:48 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
21:39:58 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
21:40:46 whatsupdoc joins (uid509081@id-509081.hampstead.irccloud.com)
21:42:30 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
21:42:58 euleritian joins (~euleritia@dynamic-176-006-134-017.176.6.pool.telefonica.de)
21:48:27 noumenon joins (~noumenon@113.51-175-156.customer.lyse.net)
21:49:30 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:55:00 machinedgod joins (~machinedg@d173-183-246-216.abhsia.telus.net)
21:56:19 × omegatron quits (~some@user/omegatron) (Quit: Power is a curious thing. It can be contained, hidden, locked away, and yet it always breaks free.)
21:59:06 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
21:59:07 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:02:50 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
22:12:36 tram joins (~tram@94.71.169.62)
22:19:37 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
22:23:30 × kuribas quits (~user@ptr-17d51epajiqo5s57kyl.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 27.1))
22:24:51 Sgeo joins (~Sgeo@user/sgeo)
22:34:33 × CrunchyFlakes quits (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
22:34:49 × oo_miguel quits (~Thunderbi@78.10.207.46) (Quit: oo_miguel)
22:35:48 <prolic_> https://github.com/prolic/hsqml-demo-notes
22:35:57 <prolic_> a second demo on Qt5 in Haskell made running
22:37:10 CrunchyFlakes joins (~CrunchyFl@146.52.130.128)
22:41:39 tcard_ joins (~tcard@2400:4051:5801:7500:1e90:74c3:2754:ce8a)
22:41:45 × euleritian quits (~euleritia@dynamic-176-006-134-017.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
22:42:04 euleritian joins (~euleritia@77.22.252.56)
22:43:06 × benjaminl quits (~benjaminl@user/benjaminl) (Ping timeout: 252 seconds)
22:44:44 × tcard quits (~tcard@p3705237-ipxg22301hodogaya.kanagawa.ocn.ne.jp) (Ping timeout: 260 seconds)
22:45:43 × prolic_ quits (~sasa@181.122.138.24) (Read error: Connection reset by peer)
23:04:45 × acidjnk quits (~acidjnk@p200300d6e72cfb366d2386d7abebf685.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
23:10:59 × misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 260 seconds)
23:14:05 × sawilagar quits (~sawilagar@user/sawilagar) (Ping timeout: 260 seconds)
23:18:07 × noumenon quits (~noumenon@113.51-175-156.customer.lyse.net) (Quit: Leaving)
23:50:03 × urdh quits (~urdh@user/urdh) (Ping timeout: 246 seconds)
23:50:27 urdh joins (~urdh@user/urdh)
23:51:04 × lbseale quits (~quassel@user/ep1ctetus) (Quit: No Ping reply in 180 seconds.)
23:51:06 × barthandelous01 quits (barth@triton.blinkenshell.org) (Ping timeout: 246 seconds)
23:52:19 lbseale joins (~quassel@user/ep1ctetus)
23:53:13 barthandelous01 joins (barth@triton.blinkenshell.org)
23:53:25 × haskellbridge quits (~hackager@syn-024-093-192-219.res.spectrum.com) (Ping timeout: 248 seconds)
23:53:53 haskellbridge joins (~hackager@syn-024-093-192-219.res.spectrum.com)
23:53:53 ChanServ sets mode +v haskellbridge

All times are in UTC on 2024-07-24.