Home liberachat/#haskell: Logs Calendar

Logs on 2022-05-04 (liberachat/#haskell)

00:00:20 <abastro[m]> Hm GHC has 214047 code and 136186 comments hmm
00:00:28 <abastro[m]> Why so many comments
00:02:08 <geekosaur> https://www.stackbuilders.com/blog/the-notes-of-ghc/
00:02:19 <geekosaur> or, look and see
00:03:00 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 276 seconds)
00:07:19 <hpc> honestly i am surprised ghc has more lines of code than lines of comment
00:07:53 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
00:08:33 <monochrom> Consider my http://www.vex.net/~trebla/haskell/forwardconstraint/ForwardConstraint.hs >:)
00:10:42 <hpc> nice
00:13:39 xff0x joins (~xff0x@om126167070083.29.openmobile.ne.jp)
00:14:27 × Polo quits (~Polo@user/polo) (Quit: Textual IRC Client: www.textualapp.com)
00:15:31 × o quits (~niko@libera/staff/niko) (Ping timeout: 608 seconds)
00:18:47 <hpc> also https://www.aosabook.org/en/ghc.html which is referenced by geekosaur's link
00:18:53 <hpc> scroll down to 5.6
00:19:00 × xaotuk quits (~sasha@2a06:5b00:15fe:9b00::3) (Ping timeout: 240 seconds)
00:19:27 <hpc> i need to start using that footnote style in my own code
00:21:04 xaotuk joins (~sasha@net35-34-245-109.mbb.telenor.rs)
00:21:21 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
00:26:04 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
00:28:13 kilolympus joins (~kilolympu@31.205.200.235)
00:28:20 ec joins (~ec@gateway/tor-sasl/ec)
00:28:53 <jackdk> I'm sure they just wrote comments to amuse themselves, like doodling in the margins instead of taking notes.
00:29:59 <hpc> they learned their lesson and made sure the margin was large enough for the remarkable proof
00:33:14 kimjetwav joins (~user@2607:fea8:2362:b400:e8cd:c90e:aafe:7f5b)
00:35:14 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Quit: leaving)
00:37:18 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
00:50:56 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Quit: WeeChat 3.5)
00:52:01 o joins (niko@libera/staff/niko)
00:52:13 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
00:53:09 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
00:53:09 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
00:53:09 wroathe joins (~wroathe@user/wroathe)
00:56:53 <abastro[m]> Why write so many comments? Because the code is so unreadable?
01:00:24 <monochrom> Time to burst the bubble of "self-documenting, self-explanatory code" and Knuth's self contradiction of saying "programs should be readable by humans, and just happens to be executable by machines" and going on to prove the opposite by needing to invent his WEB system.
01:04:04 × bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 248 seconds)
01:05:38 king_gs joins (~Thunderbi@2806:103e:29:99f9:ca77:e08e:3816:239e)
01:07:48 × geoduck quits (~X@71.182.184.253) (Read error: Connection reset by peer)
01:09:42 <hpc> "just happens to be executable" nicely describes a lot of modern software though :D
01:10:03 <monochrom> haha
01:10:38 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:10:48 <monochrom> Programs should be illegible to humans and barely executable by machines. >:)
01:11:45 × ec quits (~ec@gateway/tor-sasl/ec) (Quit: ec)
01:12:06 <monochrom> Perl probably got the closest to that. >:)
01:12:42 <hpc> fun fact: "sed -i s/^/#/ $0" is a self-documenting bash script
01:12:49 × stackdroid18 quits (~stackdroi@user/stackdroid) (Quit: hasta la vista... tchau!)
01:13:54 <monochrom> haha
01:13:56 <hpc> perl has the highest ratio of language quality to developer quality of anything i have ever used
01:14:17 <hpc> i quite liked using it
01:15:46 <abastro[m]> I mean
01:15:53 <abastro[m]> Self-documenting code is illusion
01:16:10 <abastro[m]> But if you need comments which is comparably as large as the code, then..
01:16:29 <abastro[m]> Perhaps you are programming in unreadable style
01:16:46 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:16:51 <hpc> abastro[m]: you'll find that almost all code requires comments as large as the code
01:16:55 <hpc> you simply won't also find the comments
01:17:08 <abastro[m]> Oh?
01:17:23 <abastro[m]> Java programs usually do not need that much code tho
01:17:30 <abastro[m]> I mean
01:17:35 <hololeap> what the code _does_ might be obvious, but the intention behind it isn't
01:17:37 <hpc> imagine you're writing some bog standard crud app
01:17:37 <abastro[m]> They do not need that much comments
01:17:44 <hpc> and it lowercases one field in particular
01:17:49 <hpc> why?
01:17:54 <hpc> 10 pages of business requirements
01:18:15 <hpc> and none of those requirements starts with the "//" characters, so it doesn't count to most programmers
01:18:19 <abastro[m]> Then that should be in requirement document, not comments
01:18:28 <abastro[m]> Yes
01:18:35 <abastro[m]> The requirements are not comments
01:18:42 <abastro[m]> It is separate documentation
01:18:43 <hpc> sure they are
01:18:46 <hpc> they explain the code
01:19:12 <monochrom> I don't see why I can't copy the requirement into comments.
01:19:23 <hpc> if we take all the comments in ghc and move them to mediawiki, does that change what they are?
01:19:28 <hpc> does it change how readable the code is?
01:19:48 <monochrom> I mean, it should be fine either way. I don't have to, but why can't I.
01:20:02 <abastro[m]> Comments clutter the code tho
01:20:36 <monochrom> Not if I don't abuse interleaving.
01:20:53 <hpc> just use literate style
01:20:54 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 250 seconds)
01:20:56 <hpc> now it's not even comments
01:21:02 <monochrom> And did you read that section 5.6?
01:21:06 × Techcable quits (~Techcable@user/Techcable) (Remote host closed the connection)
01:21:17 <abastro[m]> <del>Also look at Go, you could know how it does sth clearly. The "why" part is irrelevant anyway</del>
01:21:49 <hpc> why is often more important than the thing itself
01:22:13 <hpc> if you know why a piece of code exists, often you don't even need to read the code anymore
01:22:25 <monochrom> I am not sure what's the point of that <del> </del> bracketting.
01:22:27 <hpc> you just go "that's not what i am looking for" and move on
01:22:34 <monochrom> Unless it's trolling.
01:22:39 Techcable joins (~Techcable@user/Techcable)
01:22:45 × xaotuk quits (~sasha@net35-34-245-109.mbb.telenor.rs) (Ping timeout: 260 seconds)
01:22:54 <abastro[m]> Well that one should have been /s
01:23:07 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
01:23:28 <hpc> </html> <!-- take that cgi:irc! -->
01:23:50 <abastro[m]> Why do you want "why" part if that is part of businesscontract
01:24:58 <abastro[m]> Why would you step across separation of responsibility and put business contract in the comments?
01:26:21 × king_gs quits (~Thunderbi@2806:103e:29:99f9:ca77:e08e:3816:239e) (Remote host closed the connection)
01:27:19 <exarkun> What do you mean "separation of responsibility"?
01:27:39 king_gs joins (~Thunderbi@187.201.220.53)
01:27:49 × king_gs quits (~Thunderbi@187.201.220.53) (Client Quit)
01:28:13 <abastro[m]> Business specification vs Programming according to the spec is separate responsibility
01:28:56 <exarkun> But no one said programmers should create the business specification
01:28:56 <hpc> you know, "computer" used to be a job title
01:29:08 <hpc> for human people that did computation
01:29:27 <hpc> and they were programmed by being told what to do in a sufficiently precise way that they computed the right thing
01:29:32 <exarkun> Putting it in comments is like keeping a reference text book on your desk instead of walking to the library every time you want to look something up.
01:29:34 <exarkun> It's just easier.
01:29:45 × jao quits (~jao@211.68.17.95.dynamic.jazztel.es) (Ping timeout: 260 seconds)
01:29:54 <hpc> you even still see "program" used that way, https://ap.collegeboard.org/ says "AP program" right at the top of the page
01:30:01 <exarkun> hpc: People even went to space this way, pretty wild.
01:30:15 <hpc> the requirements are just software that runs on human
01:30:17 <abastro[m]> Specification comes from negotiation between the client and the company
01:30:19 <exarkun> I wish my computers worked that well.
01:30:43 <abastro[m]> Programmers are employed to the si
01:30:50 <exarkun> abastro[m]: Again, who said it doesn't?
01:31:08 <abastro[m]> The specification thus should remain separate from the code that programmers writes
01:31:14 <abastro[m]> Often the contract also specifies that
01:31:40 king_gs joins (~Thunderbi@187.201.220.53)
01:32:02 <abastro[m]> That the spec shouldn't be part of the code
01:32:15 <exarkun> So you keep saying
01:32:40 × gurkenglas quits (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) (Ping timeout: 260 seconds)
01:32:58 <abastro[m]> ?
01:33:08 <hpc> this is why i always put my type signatures in .h files
01:33:34 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
01:34:55 × geranim0 quits (~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Remote host closed the connection)
01:37:19 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
01:37:24 <abastro[m]> Yes.
01:37:32 <abastro[m]> But that is also often illegal
01:38:04 <abastro[m]> Since from time to time, the contract specifies that the spec shall remain separate
01:38:23 andrey__ joins (~andrey@p508d5cc9.dip0.t-ipconnect.de)
01:40:56 × andrey_ quits (~andrey@p200300dbcf124f00795a85a8270252ce.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
01:41:25 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
01:42:39 × x_kuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer)
01:44:30 ec joins (~ec@gateway/tor-sasl/ec)
01:49:24 × xff0x quits (~xff0x@om126167070083.29.openmobile.ne.jp) (Read error: Connection reset by peer)
01:52:07 × king_gs quits (~Thunderbi@187.201.220.53) (Read error: Connection reset by peer)
01:52:14 king_gs1 joins (~Thunderbi@2806:103e:29:99f9:ca77:e08e:3816:239e)
01:56:26 × king_gs1 quits (~Thunderbi@2806:103e:29:99f9:ca77:e08e:3816:239e) (Ping timeout: 250 seconds)
01:58:49 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 248 seconds)
02:02:04 notzmv joins (~zmv@user/notzmv)
02:03:08 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
02:09:52 × euandreh quits (~euandreh@2804:14c:33:9fe5:2165:73d6:1630:f174) (Ping timeout: 250 seconds)
02:10:39 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 240 seconds)
02:17:04 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
02:18:07 euandreh joins (~euandreh@2804:14c:33:9fe5:2165:73d6:1630:f174)
02:26:51 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
02:29:22 king_gs joins (~Thunderbi@187.201.220.53)
02:29:35 × jrm quits (~jrm@156.34.173.250) (Quit: ciao)
02:30:59 jrm joins (~jrm@156.34.173.250)
02:40:43 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
02:45:47 × monochrom quits (trebla@216.138.220.146) (Quit: NO CARRIER)
02:46:11 × jrm quits (~jrm@156.34.173.250) (Quit: ciao)
02:46:11 × terrorjack quits (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat)
02:47:21 jrm joins (~jrm@156.34.173.250)
02:47:25 terrorjack joins (~terrorjac@2a01:4f8:1c1e:509a::1)
02:51:37 img joins (~img@user/img)
02:57:08 × td_ quits (~td@94.134.91.227) (Ping timeout: 248 seconds)
02:58:00 × king_gs quits (~Thunderbi@187.201.220.53) (Read error: Connection reset by peer)
02:59:12 td_ joins (~td@muedsl-82-207-238-011.citykom.de)
03:01:27 king_gs joins (~Thunderbi@187.201.220.53)
03:02:10 sabry joins (~sabry@197.37.205.114)
03:05:29 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
03:07:34 × nshepperd2 quits (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) (Quit: The Lounge - https://thelounge.chat)
03:07:34 × nshepperd quits (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) (Quit: quit)
03:10:13 nshepperd2 joins (~nshepperd@li364-218.members.linode.com)
03:10:18 nshepperd joins (nshepperd@2600:3c03::f03c:92ff:fe28:92c9)
03:13:09 seydar joins (~seydar@154-27-113-252.starry-inc.net)
03:13:41 <seydar> I'm writing an implementation of the blurhash algorithm: https://paste.tomsmeding.com/kgoLDWh8
03:14:32 <seydar> Lines 132-134 encapsulate my logic: convert sRGB pixels to linear, perform the DCT, convert the linear values to sRGB
03:14:43 <seydar> unfortunately, the end result is that everything is pegged high at 255
03:15:03 <seydar> anyone have any familiarity with the blurhash algorithm that could explain what i'm missing?
03:15:11 × russruss quits (~russruss@my.russellmcc.com) (Ping timeout: 260 seconds)
03:19:12 dukester joins (~dnormandi@node-1w7jr9ydr91zeo4u27hpcbapw.ipv6.telus.net)
03:20:15 mbuf joins (~Shakthi@223.184.124.61)
03:21:29 <dukester> Amateur, hobbyist Noob here. Reading Learn You a Haskell. Re ++ to append to a list. Is there a not so expensive way to do this?
03:22:29 <pavonia> seydar: At line 108, are you sure you want (==) there? Should be (<=), no?
03:23:17 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
03:23:30 jargon joins (~jargon@174-22-206-112.phnx.qwest.net)
03:24:49 <seydar> pavonia: great catch, thanks! unfortunately it doesn't change anything
03:24:50 × Unicorn_Princess quits (~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Quit: Leaving)
03:25:38 <seydar> dukester: remember that haskell lists are proper linked lists, so... not with that data structure. python lists are actually arrays.
03:25:38 <Axman6> dukester: can you think of one? You've covered the definition of lists already right?
03:27:22 <dukester> Axman6, I have, but I'm only a few hours into the language. Is there an obvious solution?
03:27:32 mvk joins (~mvk@2607:fea8:5ce3:8500::aa1d)
03:27:50 <Axman6> seydar: fromIntegral . toInteger feels like a big code smell to me
03:27:55 × yauhsien quits (~yauhsien@61-231-62-54.dynamic-ip.hinet.net) (Remote host closed the connection)
03:28:56 <Axman6> dukester: see if you can come up with one; the definition of a list is data [a] = [] | a : [a], so it is either empty, or it is a cons cell with a value and another list
03:30:00 <Axman6> firstly, can you come up with the definition for (++)?
03:30:23 <seydar> Axman6: yeah my code smells pretty bad. i'm struggling to deal with casting between numeric types
03:30:41 <dukester> Axman6, OK! I'll get back to you all. Almost bedtime here.
03:30:57 <Axman6> there actually is a more efficient way to join together lists, but you need to know that what you want to do ahead of time
03:31:31 <dukester> Axman6, I thought as much! L8r ..
03:31:36 dukester parts (~dnormandi@node-1w7jr9ydr91zeo4u27hpcbapw.ipv6.telus.net) (Leaving)
03:32:45 <Axman6> seydar: what's the type of dct2?
03:33:38 img joins (~img@user/img)
03:34:00 <seydar> Axman6: CArray -> CArray (i've aliased it to Array2D -> Array2D), but it's an array of Doubles
03:34:58 <Axman6> what do you expect the range of values after doing the DCT to be? Have you checked if they come out between 0 and 1?
03:38:47 <Axman6> I'd probably use sqrt instead of ** 0.5
03:38:48 × kimjetwav quits (~user@2607:fea8:2362:b400:e8cd:c90e:aafe:7f5b) (Remote host closed the connection)
03:40:03 <Axman6> for performance, you definitely want to delete every use of toInteger.
03:40:18 <Axman6> @hoogle (Num a, Integral b) => a -> b
03:40:20 <lambdabot> Unsafe.Coerce unsafeCoerce :: a -> b
03:40:20 <lambdabot> GHC.Exts unsafeCoerce# :: forall (k0 :: RuntimeRep) (k1 :: RuntimeRep) (a :: TYPE k0) (b :: TYPE k1) . a -> b
03:40:20 <lambdabot> GHC.Prim unsafeCoerce# :: a -> b
03:40:24 <Axman6> ha
03:40:32 <Axman6> :t round
03:40:33 <lambdabot> (RealFrac a, Integral b) => a -> b
03:40:50 <Axman6> :t floor
03:40:51 <lambdabot> (RealFrac a, Integral b) => a -> b
03:40:59 <seydar> Axman6: the DCT appears to be outputting values in the right range, but i'm not sure what it's supposed to look like. all of the other implementations out there implement part of the DCT by hand, and I'm trying to avoid that because I think it obfuscates how the function is actually logically used
03:41:28 <seydar> also because I don't understand the relationship between DCT and the implementations I've seen
03:43:09 <seydar> i filed an issue on the blurhash github begging for help in understanding their algorithm
03:44:50 <Axman6> do you understand what the dct actually does? I have good videos for you if not
03:46:28 <Axman6> https://www.youtube.com/watch?v=Y9FZ4igNxNA https://www.youtube.com/watch?v=GF7Z8Sd9qYE (less engaging but also good)
03:46:30 <seydar> i don't! i'd love to watch them
03:46:31 <seydar> thanks!
03:47:38 <seydar> i guess i just understand that it's like a fourier transform (pulls out underlying frequencies) but only uses cosines to do it
03:48:04 <Axman6> thise videos will show you why it's useful for an image hash
03:49:19 <seydar> should i be converting the pixels to linear before going through the DCT, or is that extraneous?
03:49:36 <seydar> i guess i'd assume the answer is yes because that's what other implementations appear to be doing
03:49:55 <Axman6> yeah if the others do it you should too
03:50:14 <Axman6> you might alao want to look at libraries which do these colour calculations for you
03:51:43 <Axman6> hmm, I thought colour (https://hackage.haskell.org/package/colour) provided that
03:51:52 <seydar> grrr i've tested my srgbToLinear and linearToSrgb functions, but when i convert the pixels to linear and then pump it through a DCT and a linearToSrgb, they peg high
03:52:38 <seydar> actually, it's only when they go through the linearToSrgb function that they peg high
03:52:57 <seydar> otherwise they're just pretty big numbers (in the thousands), but they're still different from each other
03:53:02 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
03:53:48 <Axman6> you're not using them in the wrong order by any chance? that feels like the right order to me but worth checking
03:54:43 <seydar> yep, it's the right order
03:55:49 <seydar> ya know, as i look through other code, i bet there's a matrix multiplication going on
03:56:05 <seydar> not a dot product or cross product, but a one-to-one cell multiplication thing
03:58:03 monochrom joins (trebla@216.138.220.146)
03:59:31 <seydar> no i have no idea what i'm talking about
04:00:49 <seydar> they've just got a norm factor that doesn't appear in the DCT2 formula on wikipedia
04:02:32 × mvk quits (~mvk@2607:fea8:5ce3:8500::aa1d) (Ping timeout: 250 seconds)
04:03:04 kimjetwav joins (~user@2607:fea8:2362:b400:e8cd:c90e:aafe:7f5b)
04:11:13 vicfred joins (~vicfred@user/vicfred)
04:11:14 × king_gs quits (~Thunderbi@187.201.220.53) (Read error: Connection reset by peer)
04:11:18 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 276 seconds)
04:12:36 king_gs joins (~Thunderbi@187.201.220.53)
04:12:44 kaph joins (~kaph@net-2-42-128-205.cust.vodafonedsl.it)
04:16:39 seydar joins (~seydar@154-27-113-252.starry-inc.net)
04:19:06 russruss joins (~russruss@my.russellmcc.com)
04:19:56 gpncarl joins (~gpncarl@120.244.220.74)
04:21:00 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 240 seconds)
04:24:03 × stefan-_ quits (~cri@42dots.de) (Ping timeout: 246 seconds)
04:24:36 × kaph quits (~kaph@net-2-42-128-205.cust.vodafonedsl.it) (Ping timeout: 248 seconds)
04:25:49 flinner joins (~flinner@user/flinner)
04:27:53 × sabry quits (~sabry@197.37.205.114) (Quit: Client closed)
04:28:36 stefan-_ joins (~cri@42dots.de)
04:28:40 bahamas joins (~lucian@84.232.141.55)
04:33:00 king_gs1 joins (~Thunderbi@2806:103e:29:99f9:ca77:e08e:3816:239e)
04:33:05 × king_gs quits (~Thunderbi@187.201.220.53) (Read error: Connection reset by peer)
04:33:06 king_gs1 is now known as king_gs
04:36:58 × king_gs quits (~Thunderbi@2806:103e:29:99f9:ca77:e08e:3816:239e) (Client Quit)
04:37:14 king_gs joins (~Thunderbi@187.201.220.53)
04:37:39 × bahamas quits (~lucian@84.232.141.55) (Ping timeout: 256 seconds)
04:38:18 bahamas joins (~lucian@84.232.141.55)
04:38:28 × gpncarl quits (~gpncarl@120.244.220.74) (Ping timeout: 248 seconds)
04:39:58 × koz quits (~koz@121.99.240.58) (Remote host closed the connection)
04:40:13 koz joins (~koz@121.99.240.58)
04:40:53 <Axman6> share code
04:41:32 × thonkpod_ quits (~thonkpod@user/thonkpod) (Ping timeout: 250 seconds)
04:42:01 thonkpod_ joins (~thonkpod@user/thonkpod)
04:47:11 kaph joins (~kaph@151.47.98.22)
04:51:57 seydar joins (~seydar@154-27-113-252.starry-inc.net)
04:52:04 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
04:52:35 cdman joins (~dcm@user/dmc/x-4369397)
04:56:16 × king_gs quits (~Thunderbi@187.201.220.53) (Read error: Connection reset by peer)
04:56:28 king_gs joins (~Thunderbi@2806:103e:29:99f9:ca77:e08e:3816:239e)
04:56:48 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 276 seconds)
04:56:57 hololeap joins (~hololeap@user/hololeap)
04:58:15 × king_gs quits (~Thunderbi@2806:103e:29:99f9:ca77:e08e:3816:239e) (Client Quit)
04:58:25 king_gs1 joins (~Thunderbi@187.201.220.53)
05:00:43 king_gs1 is now known as king_gs
05:01:02 × bahamas quits (~lucian@84.232.141.55) (Ping timeout: 250 seconds)
05:01:16 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
05:01:46 Vajb joins (~Vajb@2001:999:400:aa07:c00:898b:c222:288b)
05:01:48 × kaph quits (~kaph@151.47.98.22) (Read error: Connection reset by peer)
05:07:37 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
05:08:02 kaph joins (~kaph@151.47.98.22)
05:09:47 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Client Quit)
05:13:31 coot joins (~coot@213.134.190.95)
05:18:31 yauhsien joins (~yauhsien@61-231-62-54.dynamic-ip.hinet.net)
05:21:55 × kaph quits (~kaph@151.47.98.22) (Ping timeout: 260 seconds)
05:22:44 × yauhsien quits (~yauhsien@61-231-62-54.dynamic-ip.hinet.net) (Ping timeout: 248 seconds)
05:28:05 arjun joins (~arjun@user/arjun)
05:34:33 × zmt00 quits (~zmt00@user/zmt00) (Read error: Connection reset by peer)
05:35:54 sabry joins (~sabry@197.37.205.114)
05:36:25 × sabry quits (~sabry@197.37.205.114) (Client Quit)
05:36:42 zmt00 joins (~zmt00@user/zmt00)
05:39:19 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:43:06 × king_gs quits (~Thunderbi@187.201.220.53) (Remote host closed the connection)
05:45:24 king_gs joins (~Thunderbi@187.201.220.53)
05:48:36 fernand joins (uid551405@id-551405.tinside.irccloud.com)
05:49:06 × king_gs quits (~Thunderbi@187.201.220.53) (Client Quit)
05:50:10 kaph joins (~kaph@151.47.98.22)
05:50:42 × kaph quits (~kaph@151.47.98.22) (Read error: Connection reset by peer)
06:02:47 × kuribas quits (~user@ptr-17d51enslzcmd9f0npv.18120a2.ip6.access.telenet.be) (Ping timeout: 240 seconds)
06:06:43 kuribas joins (~user@ptr-17d51eol0e2efe7lsh1.18120a2.ip6.access.telenet.be)
06:13:56 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
06:14:44 × shriekingnoise quits (~shrieking@201.231.16.156) (Quit: Quit)
06:18:36 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
06:22:04 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
06:24:41 ccntrq joins (~Thunderbi@2a01:e34:eccb:b060:6ddd:dbb6:f067:51f9)
06:31:03 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
06:36:57 michalz joins (~michalz@185.246.204.126)
06:37:57 Midjak joins (~Midjak@82.66.147.146)
06:38:33 × jargon quits (~jargon@174-22-206-112.phnx.qwest.net) (Remote host closed the connection)
06:42:04 × asivitz quits (uid178348@id-178348.tinside.irccloud.com) (Quit: Connection closed for inactivity)
06:49:04 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
06:49:04 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
06:50:04 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
06:50:04 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 240 seconds)
06:50:04 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 240 seconds)
06:50:34 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
06:51:04 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
06:51:26 zaquest joins (~notzaques@5.130.79.72)
06:51:31 lortabac joins (~lortabac@2a01:e0a:541:b8f0:8f7e:36a9:1d6d:b212)
06:52:04 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds)
06:52:50 × coot quits (~coot@213.134.190.95) (Quit: coot)
06:53:20 coot joins (~coot@213.134.190.95)
06:53:27 chele joins (~chele@user/chele)
06:53:34 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 240 seconds)
06:53:48 MajorBiscuit joins (~MajorBisc@wlan-145-94-232-218.wlan.tudelft.nl)
06:56:20 acidjnk joins (~acidjnk@p200300d0c7068b77514ff9727fbe3410.dip0.t-ipconnect.de)
06:58:35 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
07:05:40 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 248 seconds)
07:07:53 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
07:07:55 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
07:07:55 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
07:07:55 wroathe joins (~wroathe@user/wroathe)
07:12:57 searemind joins (~searemind@122.161.50.102)
07:13:39 × searemind quits (~searemind@122.161.50.102) (Remote host closed the connection)
07:14:33 × siraben quits (~siraben@user/siraben) (Quit: Bridge terminating on SIGTERM)
07:14:33 × VarikValefor[m] quits (~varikvale@2001:470:69fc:105::a5d) (Quit: Bridge terminating on SIGTERM)
07:14:33 × psydroid quits (~psydroid@user/psydroid) (Quit: Bridge terminating on SIGTERM)
07:14:33 × hsiktas[m] quits (~hsiktasm]@2001:470:69fc:105::30d4) (Quit: Bridge terminating on SIGTERM)
07:14:33 × maralorn quits (~maralorn@2001:470:69fc:105::251) (Quit: Bridge terminating on SIGTERM)
07:14:33 × jinsun_ quits (~jinsun@user/jinsun) (Quit: Bridge terminating on SIGTERM)
07:14:33 × ongy[m] quits (~ongymatri@2001:470:69fc:105::5018) (Quit: Bridge terminating on SIGTERM)
07:14:33 × kadoban quits (~kadoban@user/kadoban) (Quit: Bridge terminating on SIGTERM)
07:14:33 × abastro[m] quits (~abastroma@2001:470:69fc:105::1:e119) (Quit: Bridge terminating on SIGTERM)
07:14:33 × Ash[m] quits (~signal-wa@2001:470:69fc:105::1:2318) (Quit: Bridge terminating on SIGTERM)
07:14:33 × alexfmpe[m] quits (~alexfmpem@2001:470:69fc:105::38ba) (Quit: Bridge terminating on SIGTERM)
07:14:34 × zfnmxt quits (~zfnmxtzfn@user/zfnmxt) (Quit: Bridge terminating on SIGTERM)
07:14:34 × kadenwolff[m] quits (~kadenwolf@2001:470:69fc:105::1:d97f) (Quit: Bridge terminating on SIGTERM)
07:14:34 × marinelli[m] quits (~marinelli@2001:470:69fc:105::2d8) (Quit: Bridge terminating on SIGTERM)
07:14:34 × july541[m] quits (~july541ma@2001:470:69fc:105::1:e416) (Quit: Bridge terminating on SIGTERM)
07:14:34 × ericson2314 quits (~ericson23@2001:470:69fc:105::70c) (Quit: Bridge terminating on SIGTERM)
07:14:34 × Zach[m]1 quits (~zoglesby@user/zoglesby) (Quit: Bridge terminating on SIGTERM)
07:14:34 × sekun[m] quits (~hsekmatri@2001:470:69fc:105::d18f) (Quit: Bridge terminating on SIGTERM)
07:14:34 × Yehoshua quits (~yehoshua@2001:470:69fc:105::1:593f) (Quit: Bridge terminating on SIGTERM)
07:14:34 × renatofdds[m] quits (~renatofdd@2001:470:69fc:105::1:3cfe) (Quit: Bridge terminating on SIGTERM)
07:14:35 × fgaz quits (~fgaz@2001:470:69fc:105::842) (Quit: Bridge terminating on SIGTERM)
07:14:35 × maerwald[m] quits (~maerwaldm@2001:470:69fc:105::1ee) (Quit: Bridge terminating on SIGTERM)
07:14:35 × schuelermine[m] quits (~schuelerm@user/schuelermine) (Quit: Bridge terminating on SIGTERM)
07:14:35 × unclechu quits (~unclechu@2001:470:69fc:105::354) (Quit: Bridge terminating on SIGTERM)
07:14:35 × euphrates[m] quits (~euphrates@2001:470:69fc:105::fbb5) (Quit: Bridge terminating on SIGTERM)
07:14:35 × Orbstheorem quits (~orbstheor@2001:470:69fc:105::a56) (Quit: Bridge terminating on SIGTERM)
07:14:35 × RajatVerma[m] quits (~rajatvmat@2001:470:69fc:105::1:fb34) (Quit: Bridge terminating on SIGTERM)
07:14:35 × DemiMarieObenour quits (~alwayscur@2001:470:69fc:105::4886) (Quit: Bridge terminating on SIGTERM)
07:14:35 × Guillaum[m] quits (~guiboumat@2001:470:69fc:105::1:72ac) (Quit: Bridge terminating on SIGTERM)
07:14:35 × corisco[m] quits (~coriscokd@2001:470:69fc:105::1:dea6) (Quit: Bridge terminating on SIGTERM)
07:14:35 × sibnull[m] quits (~sibnullma@2001:470:69fc:105::1:1291) (Quit: Bridge terminating on SIGTERM)
07:14:35 × moats quits (~oats@user/oats) (Quit: Bridge terminating on SIGTERM)
07:14:35 × rsify quits (~rsify@2001:470:69fc:105::1:fd44) (Quit: Bridge terminating on SIGTERM)
07:14:35 × sm quits (~sm@plaintextaccounting/sm) (Quit: Bridge terminating on SIGTERM)
07:14:35 × ArshiaAghaei[m] quits (~arshiaagh@2001:470:69fc:105::1:c382) (Quit: Bridge terminating on SIGTERM)
07:14:35 × SridharRatnakuma quits (~sridmatri@2001:470:69fc:105::1c2) (Quit: Bridge terminating on SIGTERM)
07:14:36 × Bulby[m] quits (~bulbyvrma@2001:470:69fc:105::1:fe0a) (Quit: Bridge terminating on SIGTERM)
07:14:36 × shlevy[m] quits (~shlevymat@2001:470:69fc:105::1:d3b1) (Quit: Bridge terminating on SIGTERM)
07:14:36 × lyiriyah[m] quits (~lyiriyahm@2001:470:69fc:105::cc0) (Quit: Bridge terminating on SIGTERM)
07:14:36 × Pikachu[m] quits (~pychaumat@2001:470:69fc:105::2:1ce) (Quit: Bridge terminating on SIGTERM)
07:14:36 × Artem[m] quits (~artemtype@2001:470:69fc:105::75b) (Quit: Bridge terminating on SIGTERM)
07:14:36 × juhp[m] quits (~juhpmatri@2001:470:69fc:105::6e9) (Quit: Bridge terminating on SIGTERM)
07:14:36 × vaibhavsagar[m] quits (~vaibhavsa@2001:470:69fc:105::ffe) (Quit: Bridge terminating on SIGTERM)
07:14:36 × boxscape quits (~boxscape@user/boxscape) (Quit: Bridge terminating on SIGTERM)
07:14:37 × fendor[m] quits (~fendormat@2001:470:69fc:105::fcbd) (Quit: Bridge terminating on SIGTERM)
07:14:37 × yosef36 quits (~yosefweis@2001:470:69fc:105::1:e501) (Quit: Bridge terminating on SIGTERM)
07:14:37 × hughjfchen[m] quits (~hughjfche@2001:470:69fc:105::c29d) (Quit: Bridge terminating on SIGTERM)
07:14:37 × cdsmith quits (~cdsmithma@2001:470:69fc:105::284) (Quit: Bridge terminating on SIGTERM)
07:14:37 × jmcantrell quits (~jmcantrel@user/jmcantrell) (Quit: Bridge terminating on SIGTERM)
07:14:37 × Christoph[m] quits (~hpotsirhc@2001:470:69fc:105::2ff8) (Quit: Bridge terminating on SIGTERM)
07:14:37 × Deide quits (~deide@user/deide) (Quit: Bridge terminating on SIGTERM)
07:14:37 × Andy[m]12 quits (~anparrama@2001:470:69fc:105::1:6826) (Quit: Bridge terminating on SIGTERM)
07:14:37 × noiobeforebed quits (~noiobefor@2001:470:69fc:105::1:3c2d) (Quit: Bridge terminating on SIGTERM)
07:14:37 × Matthew|m quits (~arathorn@2001:470:69fc:105::1f) (Quit: Bridge terminating on SIGTERM)
07:14:40 × peddie quits (~peddie@2001:470:69fc:105::25d) (Quit: Bridge terminating on SIGTERM)
07:14:40 × reza[m] quits (~rezaphone@2001:470:69fc:105::3eda) (Quit: Bridge terminating on SIGTERM)
07:14:40 × ManofLetters[m] quits (~manoflett@2001:470:69fc:105::3be) (Quit: Bridge terminating on SIGTERM)
07:14:40 × jneira[m] quits (~jneiramat@2001:470:69fc:105::d729) (Quit: Bridge terminating on SIGTERM)
07:14:40 × vestige[m] quits (~vestigema@2001:470:69fc:105::1:f9dd) (Quit: Bridge terminating on SIGTERM)
07:14:40 × ormaaj quits (~ormaaj@user/ormaaj) (Quit: Bridge terminating on SIGTERM)
07:14:42 × oak- quits (~oakuniver@2001:470:69fc:105::fcd) (Quit: Bridge terminating on SIGTERM)
07:14:42 × o1lo0lol1o[m] quits (~o1lo0lol1@2001:470:69fc:105::1:d1c0) (Quit: Bridge terminating on SIGTERM)
07:14:42 × Las[m] quits (~lasmatrix@2001:470:69fc:105::74e) (Quit: Bridge terminating on SIGTERM)
07:14:42 × AdityaAlok[m] quits (~mradityaa@2001:470:69fc:105::1:ee36) (Quit: Bridge terminating on SIGTERM)
07:14:42 × Frikraaa[m] quits (~odirfjohr@2001:470:69fc:105::1:f483) (Quit: Bridge terminating on SIGTERM)
07:14:42 × smichel17[m] quits (~smichel17@2001:470:69fc:105::2d32) (Quit: Bridge terminating on SIGTERM)
07:14:43 × wildsebastian quits (~wildsebas@2001:470:69fc:105::1:14b1) (Quit: Bridge terminating on SIGTERM)
07:14:43 × sjanssen quits (~sjanssenm@2001:470:69fc:105::1:61d8) (Quit: Bridge terminating on SIGTERM)
07:14:43 × Inst[m] quits (~instrmatr@2001:470:69fc:105::1:903e) (Quit: Bridge terminating on SIGTERM)
07:14:43 × Tisoxin quits (~ikosit@user/ikosit) (Quit: Bridge terminating on SIGTERM)
07:14:43 × ishaan[m] quits (~ishaanvma@2001:470:69fc:105::1:fb72) (Quit: Bridge terminating on SIGTERM)
07:14:43 × ozataman[m] quits (~ozatamanm@2001:470:69fc:105::1:faa0) (Quit: Bridge terminating on SIGTERM)
07:17:41 juhp[m] joins (~juhpmatri@2001:470:69fc:105::6e9)
07:18:48 × flinner quits (~flinner@user/flinner) (Ping timeout: 260 seconds)
07:21:08 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
07:22:01 mikoto-chan joins (~mikoto-ch@84.199.144.234)
07:24:41 chexum joins (~quassel@gateway/tor-sasl/chexum)
07:25:00 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
07:25:30 zeenk joins (~zeenk@2a02:2f04:a004:9b00:1efc:c1cf:378d:8b3d)
07:25:33 × arjun quits (~arjun@user/arjun) (Remote host closed the connection)
07:25:52 alp_ joins (~alp@user/alp)
07:26:11 peddie joins (~peddie@2001:470:69fc:105::25d)
07:26:11 fgaz joins (~fgaz@2001:470:69fc:105::842)
07:26:11 Orbstheorem joins (~orbstheor@2001:470:69fc:105::a56)
07:26:11 zfnmxt joins (~zfnmxtzfn@2001:470:69fc:105::2b32)
07:26:11 VarikValefor[m] joins (~varikvale@2001:470:69fc:105::a5d)
07:26:11 ericson2314 joins (~ericson23@2001:470:69fc:105::70c)
07:26:11 unclechu joins (~unclechu@2001:470:69fc:105::354)
07:26:11 maralorn joins (~maralorn@2001:470:69fc:105::251)
07:26:11 schuelermine[m] joins (~schuelerm@user/schuelermine)
07:26:11 sm joins (~sm@plaintextaccounting/sm)
07:26:11 sekun[m] joins (~hsekmatri@2001:470:69fc:105::d18f)
07:26:11 hsiktas[m] joins (~hsiktasm]@2001:470:69fc:105::30d4)
07:26:11 psydroid joins (~psydroid@user/psydroid)
07:26:11 Christoph[m] joins (~hpotsirhc@2001:470:69fc:105::2ff8)
07:26:11 alexfmpe[m] joins (~alexfmpem@2001:470:69fc:105::38ba)
07:26:11 ongy[m] joins (~ongymatri@2001:470:69fc:105::5018)
07:26:11 siraben joins (~siraben@user/siraben)
07:26:11 marinelli[m] joins (~marinelli@2001:470:69fc:105::2d8)
07:26:11 july541[m] joins (~july541ma@2001:470:69fc:105::1:e416)
07:26:11 smichel17[m] joins (~smichel17@2001:470:69fc:105::2d32)
07:26:11 vestige[m] joins (~vestigema@2001:470:69fc:105::1:f9dd)
07:26:12 ManofLetters[m] joins (~manoflett@2001:470:69fc:105::3be)
07:26:12 fendor[m] joins (~fendormat@2001:470:69fc:105::fcbd)
07:26:12 vaibhavsagar[m] joins (~vaibhavsa@2001:470:69fc:105::ffe)
07:26:12 DemiMarieObenour joins (~alwayscur@2001:470:69fc:105::4886)
07:26:12 maerwald[m] joins (~maerwaldm@2001:470:69fc:105::1ee)
07:26:12 jmcantrell joins (~jmcantrel@user/jmcantrell)
07:26:12 jinsun_ joins (~jinsun@user/jinsun)
07:26:12 moats joins (~oats@user/oats)
07:26:12 Deide joins (~deide@user/deide)
07:26:12 ormaaj joins (~ormaaj@user/ormaaj)
07:26:13 Guillaum[m] joins (~guiboumat@2001:470:69fc:105::1:72ac)
07:26:13 hughjfchen[m] joins (~hughjfche@2001:470:69fc:105::c29d)
07:26:13 euphrates[m] joins (~euphrates@2001:470:69fc:105::fbb5)
07:26:13 RajatVerma[m] joins (~rajatvmat@2001:470:69fc:105::1:fb34)
07:26:13 ishaan[m] joins (~ishaanvma@2001:470:69fc:105::1:fb72)
07:26:13 Matthew|m joins (~arathorn@2001:470:69fc:105::1f)
07:26:13 jneira[m] joins (~jneiramat@2001:470:69fc:105::d729)
07:26:13 yosef36 joins (~yosefweis@2001:470:69fc:105::1:e501)
07:26:13 kadoban joins (~kadoban@user/kadoban)
07:26:13 abastro[m] joins (~abastroma@2001:470:69fc:105::1:e119)
07:26:13 SridharRatnakuma joins (~sridmatri@2001:470:69fc:105::1c2)
07:26:14 Andy[m] joins (~anparrama@2001:470:69fc:105::1:6826)
07:26:14 sibnull[m] joins (~sibnullma@2001:470:69fc:105::1:1291)
07:26:14 Ash[m] joins (~signal-wa@2001:470:69fc:105::1:2318)
07:26:14 boxscape joins (~boxscape@user/boxscape)
07:26:14 corisco[m] joins (~coriscokd@2001:470:69fc:105::1:dea6)
07:26:14 rsify joins (~rsify@2001:470:69fc:105::1:fd44)
07:26:14 Tisoxin joins (~ikosit@user/ikosit)
07:26:14 Yehoshua joins (~yehoshua@2001:470:69fc:105::1:593f)
07:26:14 Bulby[m] joins (~bulbyvrma@2001:470:69fc:105::1:fe0a)
07:26:23 AdityaAlok[m] joins (~mradityaa@2001:470:69fc:105::1:ee36)
07:26:23 reza[m] joins (~rezaphone@2001:470:69fc:105::3eda)
07:26:25 renatofdds[m] joins (~renatofdd@2001:470:69fc:105::1:3cfe)
07:26:26 ozataman[m] joins (~ozatamanm@2001:470:69fc:105::1:faa0)
07:26:26 Inst[m] joins (~instrmatr@2001:470:69fc:105::1:903e)
07:26:26 ArshiaAghaei[m] joins (~arshiaagh@2001:470:69fc:105::1:c382)
07:26:26 o1lo0lol1o[m] joins (~o1lo0lol1@2001:470:69fc:105::1:d1c0)
07:26:26 Frinasa[m] joins (~odirfjohr@2001:470:69fc:105::1:f483)
07:26:26 oak- joins (~oakuniver@2001:470:69fc:105::fcd)
07:26:26 sjanssen joins (~sjanssenm@2001:470:69fc:105::1:61d8)
07:26:27 Pikachu[m] joins (~pychaumat@2001:470:69fc:105::2:1ce)
07:26:27 shlevy[m] joins (~shlevymat@2001:470:69fc:105::1:d3b1)
07:26:28 noiobeforebed joins (~noiobefor@2001:470:69fc:105::1:3c2d)
07:26:28 lyiriyah[m] joins (~lyiriyahm@2001:470:69fc:105::cc0)
07:26:28 Artem[m] joins (~artemtype@2001:470:69fc:105::75b)
07:26:28 wildsebastian joins (~wildsebas@2001:470:69fc:105::1:14b1)
07:26:28 Las[m] joins (~lasmatrix@2001:470:69fc:105::74e)
07:26:29 cdsmith joins (~cdsmithma@2001:470:69fc:105::284)
07:27:45 ec joins (~ec@gateway/tor-sasl/ec)
07:28:07 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
07:28:37 jpds joins (~jpds@gateway/tor-sasl/jpds)
07:28:44 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
07:28:49 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
07:29:04 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
07:29:13 ChaiTRex joins (~ChaiTRex@user/chaitrex)
07:29:16 hololeap joins (~hololeap@user/hololeap)
07:30:01 gehmehgeh joins (~user@user/gehmehgeh)
07:35:12 Frinasa[m] is now known as Frikraaa[m]
07:47:00 flinner joins (~flinner@user/flinner)
07:48:01 × kuribas quits (~user@ptr-17d51eol0e2efe7lsh1.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
07:48:09 machinedgod joins (~machinedg@24.105.81.50)
07:49:12 × wrengr quits (~wrengr@249.189.233.35.bc.googleusercontent.com) (Remote host closed the connection)
07:49:39 odnes joins (~odnes@5-203-254-76.pat.nym.cosmote.net)
07:52:06 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
07:52:44 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
07:54:50 dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be)
07:57:49 × Hash quits (~Hash@hey.howstoned.ru) (Quit: ZNC - https://znc.in)
07:58:14 × fernand quits (uid551405@id-551405.tinside.irccloud.com) (Quit: Connection closed for inactivity)
08:04:29 jgeerds joins (~jgeerds@d53604b0.access.ecotel.net)
08:09:49 seydar joins (~seydar@154-27-113-252.starry-inc.net)
08:09:50 teo joins (~teo@user/teo)
08:17:12 Hash joins (~Hash@hey.howstoned.ru)
08:24:00 CiaoSen joins (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
08:25:33 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
08:30:27 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 240 seconds)
08:34:51 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
08:39:11 bahamas joins (~lucian@86.120.77.115)
08:40:38 xaotuk joins (~sasha@2a06:5b00:15fe:9b00::2)
08:45:42 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
09:01:38 <absence> in cabal files with multiple sections (library, executables, tests, etc), is it possible to share the list of default-extensions or ghc-options between them without using hpack?
09:01:51 kadenwolff[m] joins (~kadenwolf@2001:470:69fc:105::1:d97f)
09:02:06 Zach[m] joins (~zoglesby@user/zoglesby)
09:02:18 <merijn> absence: Yes, for a recent enough cabal
09:02:27 <merijn> There's common blocks you can import now
09:03:05 <merijn> absence: Like: https://github.com/merijn/Belewitte/blob/master/benchmark-analysis/benchmark-analysis.cabal#L34-L62
09:03:08 <merijn> https://github.com/merijn/Belewitte/blob/master/benchmark-analysis/benchmark-analysis.cabal#L80
09:03:34 <merijn> I think you need cabal-version 2.2 for it
09:03:51 <merijn> "recent" 2.2 is pretty old ;)
09:09:18 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
09:09:49 <absence> merijn: thanks, i'll check it out!
09:11:10 × acidjnk quits (~acidjnk@p200300d0c7068b77514ff9727fbe3410.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
09:13:30 razetime joins (~quassel@117.254.35.89)
09:16:21 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds)
09:19:02 dut joins (~dut@user/dut)
09:19:45 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 256 seconds)
09:22:35 × bahamas quits (~lucian@86.120.77.115) (Ping timeout: 256 seconds)
09:22:35 × jgeerds quits (~jgeerds@d53604b0.access.ecotel.net) (Ping timeout: 256 seconds)
09:26:19 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
09:26:51 __monty__ joins (~toonn@user/toonn)
09:27:57 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
09:31:03 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
09:32:01 gurkenglas joins (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de)
09:34:59 × bliminse quits (~bliminse@host86-142-79-206.range86-142.btcentralplus.com) (Ping timeout: 240 seconds)
09:35:07 bliminse joins (~bliminse@host86-164-128-238.range86-164.btcentralplus.com)
09:35:21 xff0x joins (~xff0x@om126167070083.29.openmobile.ne.jp)
09:42:27 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
09:48:39 × mikoto-chan quits (~mikoto-ch@84.199.144.234) (Ping timeout: 256 seconds)
09:49:12 frost joins (~frost@user/frost)
09:50:18 mikoto-chan joins (~mikoto-ch@37.230.126.249)
09:53:06 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
09:56:34 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 250 seconds)
09:59:21 fendor joins (~fendor@77.119.174.56.wireless.dyn.drei.com)
09:59:26 yauhsien joins (~yauhsien@61-231-62-54.dynamic-ip.hinet.net)
10:00:33 × mikoto-chan quits (~mikoto-ch@37.230.126.249) (Ping timeout: 252 seconds)
10:00:57 × cdman quits (~dcm@user/dmc/x-4369397) (Remote host closed the connection)
10:02:40 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
10:03:19 × renzhi quits (~xp@2607:fa49:6500:b100::2dea) (Ping timeout: 240 seconds)
10:04:15 × TonyStone quits (~TonyStone@2603-7080-8607-c36a-5cfe-9b24-23ff-dc6a.res6.spectrum.com) (Ping timeout: 260 seconds)
10:04:17 cdman joins (~dcm@27.2.218.240)
10:04:17 × cdman quits (~dcm@27.2.218.240) (Changing host)
10:04:17 cdman joins (~dcm@user/dmc/x-4369397)
10:04:20 × yauhsien quits (~yauhsien@61-231-62-54.dynamic-ip.hinet.net) (Ping timeout: 248 seconds)
10:04:57 img joins (~img@user/img)
10:05:10 TonyStone joins (~TonyStone@2603-7080-8607-c36a-09ca-22c1-65a3-8fed.res6.spectrum.com)
10:05:55 × flinner quits (~flinner@user/flinner) (Remote host closed the connection)
10:09:28 worldhelloworld1 joins (uid543174@id-543174.helmsley.irccloud.com)
10:10:17 × dostoevsky quits (~5c42c5384@user/dostoevsky) (Ping timeout: 256 seconds)
10:10:30 flinner joins (~flinner@user/flinner)
10:13:28 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 250 seconds)
10:13:35 × CiaoSen quits (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
10:15:02 renzhi joins (~xp@2607:fa49:6500:b100::78de)
10:15:57 × flinner quits (~flinner@user/flinner) (Quit: Using Circe, the loveliest of all IRC clients)
10:16:15 flinner joins (~flinner@user/flinner)
10:18:16 Batzy_ joins (~quassel@user/batzy)
10:18:33 × Batzy quits (~quassel@user/batzy) (Ping timeout: 276 seconds)
10:25:28 mikoto-chan joins (~mikoto-ch@213.177.151.239)
10:27:45 Guest|76 joins (~Guest|76@dynamic-095-115-072-194.95.115.pool.telefonica.de)
10:27:54 × dut quits (~dut@user/dut) (Quit: Leaving)
10:28:10 × Guest|76 quits (~Guest|76@dynamic-095-115-072-194.95.115.pool.telefonica.de) (Client Quit)
10:36:10 zer0bitz joins (~zer0bitz@2001:2003:f444:8f00:4111:8162:8d68:e9dd)
10:39:01 × hololeap quits (~hololeap@user/hololeap) (Remote host closed the connection)
10:39:41 × jrm quits (~jrm@156.34.173.250) (Quit: ciao)
10:41:02 jrm joins (~jrm@156.34.173.250)
10:42:51 CiaoSen joins (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
10:44:26 hololeap joins (~hololeap@user/hololeap)
10:46:23 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
10:46:40 × jrm quits (~jrm@156.34.173.250) (Quit: ciao)
10:47:18 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds)
10:47:46 × hololeap quits (~hololeap@user/hololeap) (Remote host closed the connection)
10:47:54 nut joins (~haskellfi@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
10:48:00 jrm joins (~jrm@156.34.173.250)
10:49:06 Lord_of_Life_ is now known as Lord_of_Life
10:49:23 × MajorBiscuit quits (~MajorBisc@wlan-145-94-232-218.wlan.tudelft.nl) (Ping timeout: 256 seconds)
10:53:07 hololeap joins (~hololeap@user/hololeap)
10:53:15 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 256 seconds)
10:55:07 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
10:55:38 × razetime quits (~quassel@117.254.35.89) (Ping timeout: 260 seconds)
10:58:34 MajorBiscuit joins (~MajorBisc@wlan-145-94-232-218.wlan.tudelft.nl)
10:58:35 ubert joins (~Thunderbi@2a02:8109:9880:303c:c533:2972:356b:d72c)
11:10:29 Unicorn_Princess joins (~Unicorn_P@93-103-228-248.dynamic.t-2.net)
11:13:18 razetime joins (~quassel@117.254.35.89)
11:15:19 seydar joins (~seydar@154-27-113-252.starry-inc.net)
11:16:10 acidjnk joins (~acidjnk@p200300d0c7068b77514ff9727fbe3410.dip0.t-ipconnect.de)
11:22:12 × xaotuk quits (~sasha@2a06:5b00:15fe:9b00::2) (Ping timeout: 248 seconds)
11:23:26 bahamas joins (~lucian@84.232.141.55)
11:24:13 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 260 seconds)
11:25:21 <absence> when i start cabal, it says "Warning: no repository provided none". what does that mean?
11:28:04 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 248 seconds)
11:28:12 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
11:29:11 seydar joins (~seydar@154-27-113-252.starry-inc.net)
11:30:22 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
11:31:22 jgeerds joins (~jgeerds@d53604b0.access.ecotel.net)
11:32:55 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
11:33:30 × sander quits (~sander@user/sander) (Ping timeout: 246 seconds)
11:33:45 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 248 seconds)
11:35:02 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
11:35:15 × jespada quits (~jespada@146.70.119.87) (Ping timeout: 246 seconds)
11:39:06 jespada joins (~jespada@cpc121022-nmal24-2-0-cust171.19-2.cable.virginm.net)
11:39:20 seydar joins (~seydar@154-27-113-252.starry-inc.net)
11:39:34 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
11:44:00 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 260 seconds)
11:46:57 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 276 seconds)
11:49:30 seydar joins (~seydar@154-27-113-252.starry-inc.net)
11:51:00 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
11:51:06 × alp_ quits (~alp@user/alp) (Ping timeout: 252 seconds)
11:53:24 <dminuoso> absence: Can you flip on -v3 and share the previous lines up until the first mention of "Reading available"?
11:53:58 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 260 seconds)
11:58:45 <absence> dminuoso: https://paste.tomsmeding.com/n3WQFNth
11:59:38 seydar joins (~seydar@154-27-113-252.starry-inc.net)
12:02:53 <dminuoso> I dont see the "Warning" there
12:03:07 <dminuoso> Or did you take my request literally, and those are exactly the lines precending that warning?
12:03:24 <absence> yes :) next line is warning
12:04:18 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 252 seconds)
12:06:15 <dminuoso> absence: Based on the surrounding code I would say that you have specified `active-repositories: none` somewhere
12:06:39 <dminuoso> Maybe in your ~/.cabal/config, cabal.project, cabal.project.local, or any of the other ways
12:07:27 jao joins (~jao@211.68.17.95.dynamic.jazztel.es)
12:07:41 <dminuoso> Perhaps accidentally missing the colon (:none)
12:08:26 alp_ joins (~alp@user/alp)
12:09:47 seydar joins (~seydar@154-27-113-252.starry-inc.net)
12:09:59 <dminuoso> Indeed, I think this may be a documentation bug
12:10:01 <dminuoso> https://cabal.readthedocs.io/en/3.4/cabal-project.html
12:10:07 <dminuoso> Suggests `active-repositories: none` for offline mode
12:10:16 <dminuoso> Im almost entirely confident that should be `active-repositories: :none`
12:10:35 <abastro[m]> Documentation bug? Wh
12:11:20 <dminuoso> Yup, thats a doc bug.
12:12:11 ec joins (~ec@gateway/tor-sasl/ec)
12:12:16 <absence> dminuoso: could it also be a bug in the automatically generated config file? i can't remember ever editing it. deleting it fixed the problem though
12:12:26 <hpc> did cabal get rewritten in ruby when i wasn't looking? :P
12:12:48 <abastro[m]> At least it is not a bug in specification
12:13:07 <dminuoso> abastro[m]: or use `:none` if you meant that. :)
12:13:14 <dminuoso> Err absence
12:13:41 <geekosaur> ruby didn't invent that spec, they stole it from smalltalk like most of their other OO stuff
12:14:17 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 248 seconds)
12:14:58 <abastro[m]> XD Smalltalk
12:16:14 notzmv joins (~zmv@user/notzmv)
12:19:58 seydar joins (~seydar@154-27-113-252.starry-inc.net)
12:20:10 × bahamas quits (~lucian@84.232.141.55) (Ping timeout: 260 seconds)
12:25:28 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 260 seconds)
12:28:22 × worldhelloworld1 quits (uid543174@id-543174.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
12:31:18 × nut quits (~haskellfi@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 260 seconds)
12:31:21 × jgeerds quits (~jgeerds@d53604b0.access.ecotel.net) (Ping timeout: 248 seconds)
12:31:39 zebrag joins (~chris@user/zebrag)
12:34:13 × zyklotomic quits (~ethan@r4-128-61-88-221.res.gatech.edu) (Ping timeout: 256 seconds)
12:36:16 zyklotomic joins (~ethan@res380d-128-61-86-82.res.gatech.edu)
12:37:15 × EsoAlgo quits (~EsoAlgo@129.146.136.145) (Quit: The Lounge - https://thelounge.chat)
12:37:38 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
12:37:59 arjun joins (~arjun@user/arjun)
12:38:54 EsoAlgo joins (~EsoAlgo@129.146.136.145)
12:41:29 × jao quits (~jao@211.68.17.95.dynamic.jazztel.es) (Ping timeout: 248 seconds)
12:43:26 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
12:44:51 jpds joins (~jpds@gateway/tor-sasl/jpds)
12:49:29 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
12:50:43 epolanski joins (uid312403@id-312403.helmsley.irccloud.com)
12:52:27 xaotuk joins (~sasha@2a06:5b00:15fe:9b00::2)
12:52:32 <absence> what happens if i omit default-language from the cabal file? i thought Haskell2010 would be the default, but i get a compile error about EmptyDataDecls. does that mean Haskell98 is the default?
12:52:55 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
12:53:56 × CiaoSen quits (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
12:54:41 Pickchea joins (~private@user/pickchea)
12:55:19 <geekosaur> depends on the cabal file format version iirc. if you didn't specify one it's probably an old one that defaults to Haskell98
12:55:42 <absence> it's 3.4. in old versions, default-language isn't optional i think
12:55:53 × jespada quits (~jespada@cpc121022-nmal24-2-0-cust171.19-2.cable.virginm.net) (Ping timeout: 248 seconds)
12:56:02 <geekosaur> not the cabal version. the file format version in the cabal file
12:56:42 <geekosaur> which tells cabal what things ot expect/not expect within the cabal file
12:57:04 <geekosaur> I think it defaults to 1.22 if not specified, so ancient packages still (try to) work
12:57:14 jespada joins (~jespada@cpc121022-nmal24-2-0-cust171.19-2.cable.virginm.net)
12:58:17 <absence> geekosaur: the file format version is 3.4
12:58:50 <geekosaur> thsat should default to Haskell2010 then
12:59:14 <int-e> "default-language is optional. The Default value is to use the compiler's default language." https://cabal.readthedocs.io/en/3.4/file-format-changelog.html
13:00:01 <geekosaur> oh, that was already in effect for 3.4? I thought that was 3.6
13:00:20 <int-e> Well, according to the docs...
13:00:26 int-e hasn't tested this.
13:00:33 <geekosaur> (compiler default language should be H2010 for compilers < 9.2 and GHC2021 for later compilers)
13:00:42 jespada_ joins (~jespada@185.195.232.138)
13:01:05 <absence> i don't think that works. from cabal build -v i see -XHaskell98 is passed
13:01:24 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 248 seconds)
13:02:03 × jespada quits (~jespada@cpc121022-nmal24-2-0-cust171.19-2.cable.virginm.net) (Ping timeout: 252 seconds)
13:02:48 × bitmapper quits (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity)
13:03:55 <int-e> Well... the docs do not seem to match reality.
13:04:53 seydar joins (~seydar@154-27-113-252.starry-inc.net)
13:05:13 × MajorBiscuit quits (~MajorBisc@wlan-145-94-232-218.wlan.tudelft.nl) (Quit: WeeChat 3.4)
13:05:34 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
13:06:47 <int-e> Or rather, they do not seem to apply to executables but only to libraries. MEH.
13:07:50 <absence> doesn't work for libraries either here
13:08:24 <int-e> Hmm, no, I got confused in testing... it doesn't work for libraries either.
13:08:32 <int-e> As you said :)
13:10:04 <int-e> It passes -XHaskell98 to the compiler with this, https://paste.debian.net/1239913/ ... this is using cabal-install/Cabal 3.6.2.0
13:10:43 <int-e> and using cabal-version: 3.6 doesn't make any difference
13:11:00 <int-e> so the docs are wrong. yay.
13:13:36 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
13:15:02 Sgeo joins (~Sgeo@user/sgeo)
13:15:23 jao joins (~jao@211.68.17.95.dynamic.jazztel.es)
13:16:25 × zer0bitz quits (~zer0bitz@2001:2003:f444:8f00:4111:8162:8d68:e9dd) (Read error: Connection reset by peer)
13:16:44 ec joins (~ec@gateway/tor-sasl/ec)
13:16:51 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
13:17:23 × acidjnk quits (~acidjnk@p200300d0c7068b77514ff9727fbe3410.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
13:18:30 zer0bitz joins (~zer0bitz@2001:2003:f444:8f00:98db:b5ce:843:b259)
13:19:39 odnes_ joins (~odnes@5-203-254-76.pat.nym.cosmote.net)
13:20:00 × odnes quits (~odnes@5-203-254-76.pat.nym.cosmote.net) (Read error: Connection reset by peer)
13:22:44 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 248 seconds)
13:24:56 jakalx joins (~jakalx@base.jakalx.net)
13:25:50 × cdman quits (~dcm@user/dmc/x-4369397) (Quit: Leaving)
13:28:01 seydar joins (~seydar@154-27-113-252.starry-inc.net)
13:32:03 nut joins (~haskellfi@2a04:cec0:10d4:99fc:5060:8579:8426:b9d0)
13:36:07 <seydar> Axman6: holy shit, this first video you sent me on fourier transforms for optical analyses is incredible! it's so CLEAR! I FINALLY GET what i'm looking at when i get the frequency results back!
13:37:18 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
13:38:34 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 240 seconds)
13:39:39 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
13:46:16 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Read error: Connection reset by peer)
13:46:39 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds)
13:46:51 × odnes_ quits (~odnes@5-203-254-76.pat.nym.cosmote.net) (Remote host closed the connection)
13:49:04 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
13:50:12 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
13:50:36 benin joins (~benin@183.82.31.231)
13:52:25 × nut quits (~haskellfi@2a04:cec0:10d4:99fc:5060:8579:8426:b9d0) (Ping timeout: 248 seconds)
13:52:32 cfricke joins (~cfricke@user/cfricke)
13:52:54 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
13:52:54 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
13:52:54 wroathe joins (~wroathe@user/wroathe)
13:54:24 nut joins (~haskellfi@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
13:55:15 × Pickchea quits (~private@user/pickchea) (Ping timeout: 260 seconds)
13:55:28 xkuru joins (~xkuru@user/xkuru)
13:55:28 × cfricke quits (~cfricke@user/cfricke) (Client Quit)
13:58:32 merijn joins (~merijn@86.86.29.250)
13:59:33 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 276 seconds)
13:59:33 CiaoSen joins (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
14:01:51 cfricke joins (~cfricke@user/cfricke)
14:04:09 o-90 joins (~o-90@gateway/tor-sasl/o-90)
14:10:50 bahamas joins (~lucian@84.232.141.55)
14:13:52 × frost quits (~frost@user/frost) (Ping timeout: 252 seconds)
14:15:00 × nut quits (~haskellfi@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 248 seconds)
14:15:00 × Vajb quits (~Vajb@2001:999:400:aa07:c00:898b:c222:288b) (Read error: Connection reset by peer)
14:16:16 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
14:17:17 odnes joins (~odnes@5-203-254-76.pat.nym.cosmote.net)
14:19:10 × vicfred quits (~vicfred@user/vicfred) (Quit: Leaving)
14:20:30 mikoto-chan joins (~mikoto-ch@213.177.151.239)
14:21:11 <seydar> okay so for all image processing, should i be converting from the 8-bit sRGB to linear values (0.0 - 1.0)?
14:21:34 × o-90 quits (~o-90@gateway/tor-sasl/o-90) (Ping timeout: 240 seconds)
14:21:52 <geekosaur> I think that depends on what kind of processing and what you are using to process the images
14:22:15 <geekosaur> if you're doing the processing yourself, unless there's some advantage to a different format I'd go with the output format
14:24:04 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
14:24:13 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
14:25:33 × ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
14:26:40 ec joins (~ec@gateway/tor-sasl/ec)
14:27:38 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
14:28:33 × arjun quits (~arjun@user/arjun) (Ping timeout: 260 seconds)
14:29:32 <Artem[m]> absence: any chance you could file the (documentation?) bug on the cabal repo?
14:29:33 <geekosaur> or even boost it to 32 or 64 bit for processing and then mask it back down for output, depending on what you're doing; integer math will be faster than floating
14:29:51 o-90 joins (~o-90@gateway/tor-sasl/o-90)
14:30:32 <kuribas> and that only matter if you already use unboxed vectors/matrices.
14:31:01 Hemmo joins (Hemmo@eduroam-252-65.uta.fi)
14:31:18 × Hemmo quits (Hemmo@eduroam-252-65.uta.fi) (Remote host closed the connection)
14:32:02 <seydar> i'm just trying to figure out what kind of input i should be feeding to a DFT
14:32:12 benin4 joins (~benin@183.82.24.173)
14:32:16 <seydar> should my inputs be sRGB or linear?
14:32:34 <kuribas> depends on what you want :)
14:33:09 <kuribas> double for the DFT makes more sense.
14:33:13 littlebo1eep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
14:33:18 stackdroid18 joins (14094@user/stackdroid)
14:34:34 <seydar> when would sRGB in a DFT make any sense?
14:34:39 × benin quits (~benin@183.82.31.231) (Ping timeout: 276 seconds)
14:34:39 benin4 is now known as benin
14:35:04 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
14:35:22 <kuribas> wouldn't the DFT preserve the magnitude of colors?
14:36:07 <kuribas> sRGB matches human perception better.
14:37:12 <kuribas> hmm, probably not since sRGB -> linear is not a linear transform.
14:37:54 <kuribas> so sRGB gives your frequencies that match better the way humans percieve the images.
14:38:52 arjun joins (~arjun@user/arjun)
14:39:34 × littlebo1eep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
14:40:04 <seydar> hm. i'll have to play around with the DCT I'm using and see if I can tease out why it's not coming out the way I expect
14:40:21 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.5)
14:44:15 <seydar> new question: https://paste.tomsmeding.com/XcLkyhbi
14:44:35 <seydar> i am struggling with taking an 8-bit number and doing math on it without a whole bunch of "fromIntegral"s
14:45:34 <seydar> actually this one is better: https://paste.tomsmeding.com/ITIwJgL3
14:45:51 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
14:46:04 × anomal quits (~anomal@87.227.196.109) (Remote host closed the connection)
14:47:49 acidjnk joins (~acidjnk@p200300d0c7068b77514ff9727fbe3410.dip0.t-ipconnect.de)
14:48:04 × bahamas quits (~lucian@84.232.141.55) (Ping timeout: 248 seconds)
14:49:56 Hemmo joins (IceChat95@eduroam-252-65.uta.fi)
14:51:57 × Hemmo quits (IceChat95@eduroam-252-65.uta.fi) (Client Quit)
14:53:14 <geekosaur> you have to fromIntegral all of r, g, b before you can either multiply them with a Double or divide them
14:54:30 <seydar> geekosaur: i was afraid of that. https://paste.tomsmeding.com/kAzDnf87
14:54:44 <seydar> it just looks so ugly! is this how everyone else is doing it?
14:54:51 <geekosaur> yes
14:55:04 <geekosaur> that's one of the prices of a strongly typed language
14:55:26 <geekosaur> it gets a little shorter if you use a view pattern to do the fromIntegral, but not much
15:01:14 shriekingnoise joins (~shrieking@201.231.16.156)
15:01:20 × zeenk quits (~zeenk@2a02:2f04:a004:9b00:1efc:c1cf:378d:8b3d) (Quit: Konversation terminated!)
15:03:07 × euandreh quits (~euandreh@2804:14c:33:9fe5:2165:73d6:1630:f174) (Ping timeout: 260 seconds)
15:05:34 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
15:05:57 jpds joins (~jpds@gateway/tor-sasl/jpds)
15:06:04 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
15:06:14 ec joins (~ec@gateway/tor-sasl/ec)
15:08:38 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
15:08:52 × o-90 quits (~o-90@gateway/tor-sasl/o-90) (Remote host closed the connection)
15:09:47 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:8f7e:36a9:1d6d:b212) (Quit: WeeChat 2.8)
15:12:11 Pickchea joins (~private@user/pickchea)
15:14:11 nut joins (~haskellfi@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
15:15:03 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 256 seconds)
15:16:04 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
15:16:04 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
15:17:15 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
15:17:26 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
15:18:52 hololeap joins (~hololeap@user/hololeap)
15:19:53 sammelweis_ joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
15:20:04 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 248 seconds)
15:20:22 azimut joins (~azimut@gateway/tor-sasl/azimut)
15:20:41 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Read error: Connection reset by peer)
15:23:19 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
15:28:07 cfricke joins (~cfricke@user/cfricke)
15:29:34 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
15:31:23 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
15:31:45 Vajb joins (~Vajb@2001:999:400:aa07:c00:898b:c222:288b)
15:32:29 sander joins (~sander@user/sander)
15:35:38 _ht joins (~quassel@231-169-21-31.ftth.glasoperator.nl)
15:39:11 seydar joins (~seydar@154-27-113-252.starry-inc.net)
15:39:16 <seydar> okay my internet died but i'm back
15:39:44 <seydar> i now take my grayscale image of a cat, run it through a DFT, and save the output to a jpg. life is good. but could it be better???
15:40:07 <seydar> there does not appear to be an FFT shift function in the FFTW3 lib
15:40:20 <seydar> because my DFT output is kinda ugly in an image
15:41:16 <seydar> https://imgur.com/a/PLfKvd0
15:41:56 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
15:45:53 <seydar> ah. well it appears i was using a DCT instead of a DFT.
15:48:11 <seydar> and i used a DCT (dct2) because I couldn't figure out which DFT would keep me solely in the real domain -- i couldn't match types, because i don't know how to take an array of complex numbers and turn it into an array of reals
15:50:45 × xff0x quits (~xff0x@om126167070083.29.openmobile.ne.jp) (Read error: Connection reset by peer)
15:51:29 <seydar> it looks like a DHT is the right answer, but I'm still confused as to how the rest of the internet is just happily turning complex numbers into images
15:54:48 <monochrom> Do they? https://youtu.be/Q2aEzeMDHMA
15:55:04 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
15:58:30 × Pickchea quits (~private@user/pickchea) (Ping timeout: 276 seconds)
15:58:45 × odnes quits (~odnes@5-203-254-76.pat.nym.cosmote.net) (Remote host closed the connection)
16:00:09 × Zach[m] quits (~zoglesby@user/zoglesby) (Quit: You have been kicked for being idle)
16:00:09 × kadenwolff[m] quits (~kadenwolf@2001:470:69fc:105::1:d97f) (Quit: You have been kicked for being idle)
16:00:13 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
16:01:06 × ccntrq quits (~Thunderbi@2a01:e34:eccb:b060:6ddd:dbb6:f067:51f9) (Remote host closed the connection)
16:01:18 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
16:01:19 odnes joins (~odnes@5-203-254-76.pat.nym.cosmote.net)
16:02:28 <dminuoso> Argh actually I think its not possible
16:03:19 <seydar> monochrom: wow i feel like i'm learning to see the matrix, thank you
16:03:22 <dminuoso> Seems it can only put out 40 bytes, 108 or 124 octet BMP headers. :(
16:04:35 euandreh joins (~euandreh@2804:14c:33:9fe5:2165:73d6:1630:f174)
16:05:43 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.4.1)
16:05:58 × acidjnk quits (~acidjnk@p200300d0c7068b77514ff9727fbe3410.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
16:09:59 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
16:09:59 allbery_b joins (~geekosaur@xmonad/geekosaur)
16:10:00 × CiaoSen quits (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
16:10:02 allbery_b is now known as geekosaur
16:11:11 × Vajb quits (~Vajb@2001:999:400:aa07:c00:898b:c222:288b) (Read error: Connection reset by peer)
16:11:38 × son0p quits (~ff@181.136.122.143) (Remote host closed the connection)
16:12:00 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
16:12:26 son0p joins (~ff@181.136.122.143)
16:15:48 coralgoat joins (~coralgoat@gateway/tor-sasl/coralgoat)
16:15:56 <EvanR> what is the type signature for turning a "grayscale" image into an image representing FFT
16:16:24 <EvanR> do you need 1 output image for real and 1 for imaginary
16:16:52 <EvanR> or 1 for mag 1 for phase
16:16:53 × chele quits (~chele@user/chele) (Remote host closed the connection)
16:17:28 <seydar> you're right, grayscale means nothing typewise
16:17:50 <seydar> ehh, i took it from Image PixelRGB8 to Image Pixel8
16:18:00 × benin quits (~benin@183.82.24.173) (Ping timeout: 276 seconds)
16:18:06 <EvanR> one image to one image
16:18:32 <seydar> right
16:18:54 <EvanR> but you need magnitude and phase ?
16:19:34 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
16:19:35 <seydar> i... have no idea
16:20:24 <seydar> i don't think so? following some example python code online, they took the grayscale image (PixelRGB8 -> Pixel8), shifted it, ran it through a DFT, and shifted it again
16:21:53 benin joins (~benin@2401:4900:3605:3fd5:dda6:4c8:b888:c923)
16:23:47 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
16:24:45 × flinner quits (~flinner@user/flinner) (Ping timeout: 256 seconds)
16:28:00 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
16:28:12 bahamas joins (~lucian@84.232.141.55)
16:29:31 werneta joins (~werneta@137.79.215.173)
16:29:34 <EvanR> FFT or DFT would be incomplete without phase info
16:29:58 <EvanR> maybe the output image is made of complex-numbered pixels?
16:30:06 <seydar> hm, some video i was watching was saying that we throw out the phase info for images
16:30:11 <EvanR> but Pixel8 seems to be quite small for that
16:30:23 <EvanR> lol how do you throw out phase
16:30:34 <seydar> rm -rf phase
16:31:13 × rembo10 quits (~rembo10@main.remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
16:31:32 × odnes quits (~odnes@5-203-254-76.pat.nym.cosmote.net) (Quit: Leaving)
16:31:37 <EvanR> two imagines one for real one imaginary could be used to get the magnitude or phase
16:31:45 <EvanR> images*
16:31:48 <seydar> EvanR: https://paste.tomsmeding.com/3KhrTdUf
16:32:05 rembo10 joins (~rembo10@main.remulis.com)
16:32:40 <EvanR> discrete cosine transform... ok
16:33:15 × bahamas quits (~lucian@84.232.141.55) (Ping timeout: 256 seconds)
16:33:32 <EvanR> also worth checking out may be wavelets
16:35:05 × coot quits (~coot@213.134.190.95) (Quit: coot)
16:36:49 <seydar> I'm using dht because it seems to be the analysis I want for a fourier-ish that is R -> R
16:37:53 <seydar> my OTHER problem is that I'm unable to meaningfully use discrete cosine transformations to reproduce the blurhash algorithm
16:38:20 <seydar> the values coming out of my DCT seem to be too small (only in the thousands, but should be tens of thousands)
16:39:53 <EvanR> so they basically turned jpg compression to over 9000
16:40:11 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
16:40:19 benin9 joins (~benin@183.82.207.222)
16:40:28 searemind joins (~searemind@122.161.50.102)
16:41:11 × teo quits (~teo@user/teo) (Ping timeout: 256 seconds)
16:42:04 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
16:42:36 × benin quits (~benin@2401:4900:3605:3fd5:dda6:4c8:b888:c923) (Ping timeout: 250 seconds)
16:42:37 benin9 is now known as benin
16:44:46 <seydar> EvanR: here's my blurhash code: https://paste.tomsmeding.com/0TeHBa23
16:45:06 <seydar> it's a hot garbage, and it also doesn't work
16:45:12 <seydar> BUT it compiles
16:45:15 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
16:46:30 <seydar> most of the main function is me trying to get some debugging output to figure out why life is so difficult
16:47:10 bahamas joins (~lucian@84.232.141.55)
16:48:17 × searemind quits (~searemind@122.161.50.102) (Remote host closed the connection)
16:50:22 <coralgoat> I have written a Haskell command line program on a Linux system.
16:50:25 <coralgoat> It compiles and runs on a Linux system.
16:50:29 <coralgoat> I want to share the programs executable with someone who is using a Windows computer.
16:50:33 <coralgoat> I would like them to be able to run the program like someone runs a program on a Linux system for example:
16:50:37 <coralgoat> executable-name <flags> <options>
16:50:40 <coralgoat> I do not have a Windows system so testing the GHC flags required to get working Windows executable is tricky.
16:50:47 <coralgoat> Looking at the GHC documentation this option looks relevant:
16:50:51 <coralgoat> https://downloads.haskell.org/ghc/latest/docs/html/users_guide/flags.html#linking-options
16:50:55 <coralgoat> -static
16:50:59 <coralgoat> Looking at the Cabal documentation this looks relevant:
16:51:04 <coralgoat> https://cabal.readthedocs.io/en/3.6/cabal-package.html?highlight=GHC#pkg-field-ghc-options
16:51:08 <coralgoat> So I think I would use:
16:51:12 <coralgoat> ghc-options: -static
16:51:17 <coralgoat> Is this the right approach?
16:51:18 × bahamas quits (~lucian@84.232.141.55) (Ping timeout: 246 seconds)
16:51:21 <coralgoat> Am I overlooking other important GHC flags to get this to get a Windows executable work properly?
16:51:42 <coralgoat> work -> working
16:51:45 <geekosaur> you're not running a linux executable on windows regardless of command line options
16:52:27 <Bulby[m]> have you tried using WSL2
16:52:51 <coralgoat> geekosaur, right. I want to compile a separate executable for my program that will run on Windows.
16:53:05 <Bulby[m]> oh
16:53:10 <Bulby[m]> have you tried CI
16:53:14 coot joins (~coot@213.134.190.95)
16:53:49 <coralgoat> Bulby[m], CI as in Continuous Integration?
16:53:55 <Bulby[m]> yes
16:53:58 × ubert quits (~Thunderbi@2a02:8109:9880:303c:c533:2972:356b:d72c) (Remote host closed the connection)
16:54:19 <Bulby[m]> either that or get a windows computer 😉
16:54:37 mvk joins (~mvk@2607:fea8:5ce3:8500::aa1d)
16:54:54 <coralgoat> Bulby[m], even with CI I think I still need to use the correct GHC flags.
16:55:09 <Bulby[m]> ah, no idea then
16:55:54 <geekosaur> -static should be the default. (this is not the same as the linker's -static option)
16:56:44 <geekosaur> ghc-options: -Wl,-static
16:57:15 <coralgoat> Bulby[m], "get a windows computer" the person I am sharing the program with has a Windows computer. Maybe I could ask them to build the source code with cabal.
16:57:26 coralgoat looking up -Wl
16:57:33 <Bulby[m]> yep
16:58:21 <geekosaur> "pass this option to the linker"
16:59:30 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
16:59:45 <sclv> “get a windows computer” can also mean “run a virtualized windows image on your linux machine” assuming you have the bandwidth to get it and approx 100 gig or so to spare
17:00:03 <Bulby[m]> that too 🙂
17:05:33 × razetime quits (~quassel@117.254.35.89) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
17:06:22 <coralgoat> If I use "ghc-options: -Wl,-static" in the Cabal package description and build with Cabal will this work to create an executable that will work on Windows when building on Linux and Windows?
17:07:13 × mbuf quits (~Shakthi@223.184.124.61) (Quit: Leaving)
17:07:16 <geekosaur> you want to use that on windows but not linux
17:07:45 <geekosaur> on linux it'll try to link libc static, which doesn't work with glibc so you would need to be on a distro that uses musl
17:08:58 <geekosaur> in a cabal file you can use a conditional `if os(windows)` (with indentation and `else`) to only trigger that on windows
17:11:23 <coralgoat> geekosaur, thanks
17:11:51 <geekosaur> actually you don't need else there
17:13:17 <coralgoat> I will give the Windows user instructions and ask them to build it from source with those GHC option is the Cabal package description.
17:17:41 econo joins (uid147250@user/econo)
17:22:39 <dsal> Does anyone remember where that blog post is that described types that provide collections of different cardinalities?
17:22:58 <dsal> i.e., Identity, Maybe, NonEmpty, List...
17:25:33 <dsal> Ah, http://jackkelly.name/blog/archives/2022/01/15/how_long_is_your_list/
17:28:08 bahamas joins (~lucian@84.232.141.55)
17:32:39 × bahamas quits (~lucian@84.232.141.55) (Ping timeout: 252 seconds)
17:33:18 vantablue joins (~pankratiu@78.196.145.240)
17:33:37 jgeerds joins (~jgeerds@d53604b0.access.ecotel.net)
17:35:15 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
17:36:04 × dumptruckman quits (~dumptruck@45-79-173-88.ip.linodeusercontent.com) (Quit: ZNC - https://znc.in)
17:40:48 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:42:38 dumptruckman joins (~dumptruck@45-79-173-88.ip.linodeusercontent.com)
17:45:18 worldhelloworld1 joins (uid543174@id-543174.helmsley.irccloud.com)
17:46:04 jakalx joins (~jakalx@base.jakalx.net)
17:51:53 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
17:53:35 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
17:54:55 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
17:58:46 × gabriel_sevecek quits (~gabriel@188-167-229-200.dynamic.chello.sk) (Quit: WeeChat 3.5)
17:59:28 gabriel_sevecek joins (~gabriel@188-167-229-200.dynamic.chello.sk)
18:01:20 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Quit: leaving)
18:04:51 kenran joins (~kenran@200116b82b989c005262ff9308cd788c.dip.versatel-1u1.de)
18:06:41 × coralgoat quits (~coralgoat@gateway/tor-sasl/coralgoat) (Quit: Leaving)
18:08:25 × pgib quits (~textual@173.38.117.66) (Ping timeout: 260 seconds)
18:08:33 × lagooned quits (~lagooned@108-208-149-42.lightspeed.hstntx.sbcglobal.net) (Ping timeout: 256 seconds)
18:09:08 × benin quits (~benin@183.82.207.222) (Quit: The Lounge - https://thelounge.chat)
18:10:05 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
18:10:05 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
18:10:05 wroathe joins (~wroathe@user/wroathe)
18:10:54 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
18:13:48 codolio is now known as dolio
18:16:03 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
18:19:34 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 240 seconds)
18:20:21 chexum joins (~quassel@gateway/tor-sasl/chexum)
18:21:39 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
18:23:50 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
18:26:38 × coot quits (~coot@213.134.190.95) (Quit: coot)
18:27:18 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
18:27:29 chexum joins (~quassel@gateway/tor-sasl/chexum)
18:29:41 coot joins (~coot@213.134.190.95)
18:33:04 flinner joins (~flinner@user/flinner)
18:33:26 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
18:39:57 bahamas joins (~lucian@84.232.141.55)
18:40:23 × epolanski quits (uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
18:46:46 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
18:51:45 × vantablue quits (~pankratiu@78.196.145.240) (Quit: WeeChat 3.5)
18:57:06 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
19:07:47 × coot quits (~coot@213.134.190.95) (Quit: coot)
19:11:00 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 248 seconds)
19:11:58 <energizer> is it possible to define two functions that take different types with the same name? like Num a => f a = 10 and List a => f a = [99]
19:13:10 <energizer> i dont want to do it, i just want to know if that's something haskell supports
19:13:18 wrengr joins (~wrengr@249.189.233.35.bc.googleusercontent.com)
19:14:12 <EvanR> if I ignore the examples, then yes. Since you can put them two functions in different modules which mean different things by the same name
19:14:22 <EvanR> s/them/the/
19:14:32 × arjun quits (~arjun@user/arjun) (Quit: Leaving)
19:14:46 <energizer> can i then import and use them both in the same module?
19:15:25 <energizer> (yeah ignore the examples)
19:15:25 <EvanR> yes, but in that module, if you wanna take about those types you'll have to qualify them
19:15:36 <energizer> ok makes sense
19:16:11 <EvanR> there is a fringe set of hackage packages that do this, every module exports a type named T xD
19:16:33 <EvanR> you're expected to speak of it qualified like TheModuleName.T
19:16:42 <EvanR> no one likes it
19:16:46 <geekosaur> haskell does not support c++ style overloading, you must use typeclasses. flip side, typeclasses can be polymorphic on result type
19:17:21 <geekosaur> or use qualified names as EvanR says
19:18:13 × dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.5)
19:22:04 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
19:25:15 hololeap joins (~hololeap@user/hololeap)
19:25:25 CiaoSen joins (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
19:34:45 × jgeerds quits (~jgeerds@d53604b0.access.ecotel.net) (Ping timeout: 260 seconds)
19:37:21 lispy joins (~lispy@82.212.115.91)
19:40:20 coot joins (~coot@213.134.190.95)
19:41:34 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
19:42:34 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
19:43:47 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
19:44:28 × tafa quits (~tafa@user/tafa) (Quit: ZNC - https://znc.in)
19:44:30 yauhsien joins (~yauhsien@61-231-34-25.dynamic-ip.hinet.net)
19:45:01 tafa joins (~tafa@user/tafa)
19:45:18 justsomeguy joins (~justsomeg@user/justsomeguy)
19:45:26 hololeap joins (~hololeap@user/hololeap)
19:45:44 jmdaemon joins (~jmdaemon@user/jmdaemon)
19:45:55 × bahamas quits (~lucian@84.232.141.55) (Ping timeout: 256 seconds)
19:48:34 × Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
19:49:23 × yauhsien quits (~yauhsien@61-231-34-25.dynamic-ip.hinet.net) (Ping timeout: 260 seconds)
19:51:00 dmitrydidi joins (~dmitrydid@89-64-0-231.dynamic.chello.pl)
19:53:55 Tuplanolla joins (~Tuplanoll@91-159-68-39.elisa-laajakaista.fi)
19:56:58 <dmitrydidi> hello guys ! Are anybody here who has worked with binance api ? Im trying to call it using http-conduit library, and facing with 400 error.but I called it under nodejs and it worked well.
19:57:30 Pickchea joins (~private@user/pickchea)
19:57:40 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
19:59:23 zeenk joins (~zeenk@2a02:2f04:a004:9b00:1efc:c1cf:378d:8b3d)
19:59:30 × alp_ quits (~alp@user/alp) (Ping timeout: 252 seconds)
20:00:37 × _ht quits (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
20:00:41 acidjnk joins (~acidjnk@p200300d0c7068b77514ff9727fbe3410.dip0.t-ipconnect.de)
20:02:10 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
20:04:13 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.4)
20:05:03 × worldhelloworld1 quits (uid543174@id-543174.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
20:07:51 × martin02_ quits (~silas@2001:4ca0:0:fe00:0:5efe:a96:1bc1) (Ping timeout: 260 seconds)
20:08:47 martin02_ joins (~silas@141.84.69.76)
20:10:17 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Ping timeout: 256 seconds)
20:12:20 mikoto-chan joins (~mikoto-ch@213.177.151.239)
20:17:11 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
20:18:44 jgeerds joins (~jgeerds@d53604b0.access.ecotel.net)
20:18:46 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
20:20:41 dzdcnfzd joins (~dzdcnfzd@2600:387:5:803::36)
20:25:13 <dzdcnfzd> I'm new to transformers generally. I have a function that uses `FreeT MyFunctor Maybe ()`, where the `Maybe` is there to specify computation failure, and I want to convert the `Maybe` to an `Either String`-style error message. Since I am using `mtl` I thought I'd use `Control.Monad.Except`, but as far as I can tell there are only pre-made functions
20:25:14 <dzdcnfzd> for transforming `Maybe` to `Control.Monad.Trans.ExceptT` from the `transformers` library. Is there a reason I shouldn't combine `mtl` and `transformers` transformers with each other?
20:26:04 <dzdcnfzd> If I should stick to one or the other, is there an opinion of which I should pick?
20:26:38 Guest27 joins (~Guest27@2601:281:d47f:1590::bc8f)
20:28:27 <geekosaur> mtl is based on transformers
20:29:20 x_kuru joins (~xkuru@user/xkuru)
20:29:40 <dzdcnfzd> Does that mean they freely interop?
20:29:47 <geekosaur> yes
20:30:22 <dzdcnfzd> Is there a reason why you can't easily go from `Control.Monad.Trans.ExceptT` to `Control.Monad.Trans` ?
20:30:33 <dzdcnfzd> Or why you would prefer one over the other?
20:31:15 <geekosaur> Trans is the base functionality provided by all transformers; ExceptT is a specific instance of Trans
20:32:15 <dzdcnfzd> Sorry, I meant `Control.Monad.Trans.ExceptT` vs. `Control.Monad.Except`
20:32:48 × xkuru quits (~xkuru@user/xkuru) (Ping timeout: 276 seconds)
20:33:11 <geekosaur> Ecept is ExceptT Identity
20:33:19 <geekosaur> you have to be able to swap the monad
20:33:44 <geekosaur> but both should provide the same functionality modulo the monad they're atop
20:35:10 <dzdcnfzd> As far as I can tell both packages define their own `ExceptT` ....
20:35:32 <dzdcnfzd> https://hackage.haskell.org/package/mtl-2.2.2/docs/Control-Monad-Except.html#t:ExceptT vs https://hackage.haskell.org/package/transformers-0.6.0.4/docs/Control-Monad-Trans-Except.html#t:ExceptT
20:36:09 <abastro[m]> dzdcnfzd: mtl re-exports the transformer
20:36:16 k` joins (~user@152.1.137.158)
20:36:17 <dzdcnfzd> Ahhhhh
20:36:25 <abastro[m]> Which is imported from ExceptT
20:36:55 <k`> How do ya use `property>` in Haddock documentation comments?
20:37:14 <geekosaur> anyway if I understand what you're asking, if it works on ExceptT then it works on Except
20:37:37 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
20:37:47 <geekosaur> yes, the docs are unclear because there's no Source link but that's the clue that it's a reexport. looking at the source link at the top shows it's a direct reexport
20:38:16 <geekosaur> (I think that ,ay have been a Haddock bug at the time the docs were built)
20:38:47 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
20:39:46 <k`> Oh, that's disappointing.
20:40:10 <geekosaur> k`, that was aimed at dzdcnfzd, I have no idea about yours
20:40:38 <k`> Got it.
20:40:57 <k`> I guess they're a little-known ?feature?.
20:41:43 × dmitrydidi quits (~dmitrydid@89-64-0-231.dynamic.chello.pl) ()
20:42:35 <k`> The Haddock documentation says that they can be extracted by third parties, but I haven't been able to google up an application that does...
20:43:28 Midjak joins (~Midjak@82.66.147.146)
20:43:44 <k`> I found one package that seems to rely on them, but as far as I can tell none of the tests actually run and the package is accidentally untested.
20:44:44 <geekosaur> there is a doctests package
20:45:30 <k`> Thanks, that seems to do it.
20:45:40 <geekosaur> https://hackage.haskell.org/package/doctest
20:46:17 <geekosaur> and it can be used as if it were ghc, so you can test a package. I believe many packages do this (there are still packages that use the old cabal-doctest but that is now deprecated)
20:46:38 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
20:49:11 <k`> Found the section on QuickCheck properties in doctest. Cool. Seems like the example in the Haddock documentation is a typo, though.
20:56:08 Topsi joins (~Topsi@dyndsl-095-033-017-123.ewe-ip-backbone.de)
20:56:56 kaiepi joins (~kaiepi@156.34.47.253)
20:58:44 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Ping timeout: 248 seconds)
21:01:39 × lagash quits (lagash@lagash.shelltalk.net) (Ping timeout: 240 seconds)
21:03:39 × werneta quits (~werneta@137.79.215.173) (Ping timeout: 256 seconds)
21:07:35 kaiepi is now known as Kaiepi
21:09:34 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
21:10:02 × Guest27 quits (~Guest27@2601:281:d47f:1590::bc8f) (Ping timeout: 252 seconds)
21:12:36 <dminuoso> https://hackage.haskell.org/package/stm-2.5.0.2/docs/Control-Concurrent-STM-TChan.html#v:newBroadcastTChan
21:12:39 <dminuoso> "The problem with using newTChan to create the broadcast channel is that if it is only written to and never read, items will pile up in memory. By using newBroadcastTChan to create the broadcast channel, items can be garbage collected after clients have seen them."
21:12:58 hololeap joins (~hololeap@user/hololeap)
21:13:13 <dminuoso> This confuses me. This seems to indicate, that newTChan leaks memory if you never read values, but that would apply to newBroadcastTChan as wlel.
21:13:26 <dminuoso> Is this comparing apples with oranges?
21:13:55 <Cale> It's maybe just worded a little confusingly
21:14:20 <Cale> Note that the code being discussed duplicates the channel
21:14:41 <dminuoso> Sure, but how would you duplicate the channel with newTChan?
21:14:55 <dminuoso> Im not quite seeing what "the problem with TChan" means
21:15:04 <Cale> With dupTChan the same way, no?
21:15:05 <dminuoso> *newTChan
21:15:11 <Cale> The code would still typecheck
21:16:35 × dzdcnfzd quits (~dzdcnfzd@2600:387:5:803::36) (Quit: Client closed)
21:16:49 <Cale> Basically, you can't read from a broadcast TChan, and so, supposing that you never duplicate it, anything written to it is garbage
21:17:43 <dminuoso> 'By using newBroadcastTChan to create the broadcast channel, items can be garbage collected after clients have seen them.'
21:17:54 <Cale> If you *do* duplicate it, then the broadcast TChan itself doesn't hang on to any of the items written
21:18:04 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
21:18:14 <Cale> but the duplicates will hang on to the items until they're able to be read
21:18:18 werneta joins (~werneta@137.79.215.173)
21:18:28 <dminuoso> Ohhh, I begin to understand.
21:18:51 <dminuoso> So this is saying, if I dupChan a TChan, and read only from the duplicate but not the original, I will have a leak
21:18:55 <Cale> If you used a normal TChan, and duplicated it like this, you'd never end up reading from the original channel, and it would sit around having every message ever received in it.
21:19:02 <Cale> yeah, exactly
21:19:04 <dminuoso> But if I had used a broadcast chan instead, that would not be the cae
21:19:22 <dminuoso> Alright this makes sense, thanks. Yeah the wording is a bit confusing
21:20:31 lagash joins (lagash@lagash.shelltalk.net)
21:20:39 <abastro[m]> So if you never read from a Chan, it still leaks?
21:20:53 hololeap joins (~hololeap@user/hololeap)
21:21:35 <Cale> generally, yeah
21:21:37 × son0p quits (~ff@181.136.122.143) (Remote host closed the connection)
21:21:41 <abastro[m]> Oh, no way for a Chan to know
21:21:48 <abastro[m]> That it is not going to be used or sth
21:21:59 <Cale> yeah, unless you lose all references to it or something
21:22:05 <dminuoso> Its a different wording from:
21:22:19 <dminuoso> dupTChan :: TChan a -> STM (TChan a)
21:22:24 <dminuoso> Duplicate a TChan: the duplicate channel begins empty, but data written to either channel from then on will be available from *both*. (emphasis by me)
21:22:48 <dminuoso> And it makes sense, I mean if dupTChan would erase the output from the source channel, this would be a useless primitive
21:23:46 <abastro[m]> So basically this is why broadcast chan package existe
21:24:03 <abastro[m]> Not that I see much rationale for it
21:24:37 Guest27 joins (~Guest27@2601:281:d47f:1590::bc8f)
21:25:02 akurilin_ joins (uid322841@id-322841.ilkley.irccloud.com)
21:25:13 <dminuoso> General design question, say I hand you a library that interfaces with hardware. I intend to give you a `TChan KeyEvent` that behind the scenes has a thread running. What would be the expected interface to stop this monitor?
21:26:00 <monochrom> Do you give me the tchan for me to read? For me to write?
21:26:04 <dminuoso> To read
21:26:08 <Cale> Usually what I like to do is give an IO action result that'll end it, though you could also use CPS if that makes more sense
21:27:11 <monochrom> Yeah you also give me a "close" command that I can call when I'm done.
21:27:32 zincy joins (~zincy@host86-160-236-152.range86-160.btcentralplus.com)
21:27:50 <monochrom> And then factor in the bracket thing, so maybe you can give me a "withTChan" thing as an alternative.
21:28:33 <Cale> So either, startMonitor :: ... -> IO (TChan KeyEvent, IO ()) or withMonitor :: ... -> (TChan KeyEvent -> IO a) -> IO a
21:28:35 <monochrom> And then all hell still breaks lose because "but what if I'm in a MyMonadStack IO which is not simply IO"...
21:29:10 <dminuoso> Well Im willing to give you `withMonitor :: MonadUnliftIO m ... -> (TChan KeyEvent -> m a) -> m a`
21:29:17 <dminuoso> That has to be enough!
21:29:21 <monochrom> Heh
21:29:39 <Cale> monochrom: My answer to that is: you write yourself a class for the operation and instances for each of your transformers (and think about whether those instances really make sense)
21:29:46 <monochrom> No, gimme Koka-like real effect system!
21:29:58 Polo joins (~Polo@user/polo)
21:30:07 <dminuoso> Know what, Ill just give you both interfaces that Cale talked about. But Ill use a custom datatype rather than a tuple
21:30:18 <dminuoso> Its not much extra effort, and it gives the user more flexibility.
21:30:38 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:31:43 mmhat joins (~mmh@2001:4090:a242:802a:ee08:6bff:fe09:5315)
21:32:23 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
21:33:15 × dcoutts__ quits (~duncan@host81-156-211-196.range81-156.btcentralplus.com) (Ping timeout: 276 seconds)
21:34:30 bitmapper joins (uid464869@id-464869.lymington.irccloud.com)
21:36:02 × Polo quits (~Polo@user/polo) (Quit: Textual IRC Client: www.textualapp.com)
21:37:03 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
21:39:10 sleym joins (~sleym@user/sleym)
21:39:38 × flinner quits (~flinner@user/flinner) (Ping timeout: 260 seconds)
21:39:54 <abastro[m]> `(KeyEvent -> s -> IO s) -> s -> IO s`
21:45:18 × michalz quits (~michalz@185.246.204.126) (Remote host closed the connection)
21:47:44 × Guest27 quits (~Guest27@2601:281:d47f:1590::bc8f) (Quit: Client closed)
21:48:21 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:48:53 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 256 seconds)
21:55:20 × Pickchea quits (~private@user/pickchea) (Ping timeout: 260 seconds)
21:56:42 jargon joins (~jargon@174-22-206-112.phnx.qwest.net)
21:57:10 dzdcnfzd joins (~dzdcnfzd@2600:387:5:803::8a)
21:57:20 × kenran quits (~kenran@200116b82b989c005262ff9308cd788c.dip.versatel-1u1.de) (Quit: WeeChat info:version)
21:57:27 dcoutts__ joins (~duncan@host81-156-211-196.range81-156.btcentralplus.com)
21:59:28 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
22:03:09 <energizer> if i wanted to make a MyFrac type that can be constructed with either `fracOfFloat 1.5` or `fracOfPair 3 2` i can do that. but it seems in some way unnecessary that these need different names. Is it possible to use the same name `fracOf` for both and apply type inference to figure out which implementation to use?
22:04:05 <dminuoso> With a surrogate typeclass, yes.
22:04:11 <dminuoso> It's not going to be pretty
22:04:12 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds)
22:04:22 <dminuoso> This gets a bit into printf territory here
22:05:55 × fendor quits (~fendor@77.119.174.56.wireless.dyn.drei.com) (Remote host closed the connection)
22:09:41 son0p joins (~ff@181.136.122.143)
22:12:06 shapr joins (~user@184.81.59.2)
22:13:34 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
22:13:40 moonsheep joins (~user@185.154.9.192)
22:16:20 × acidjnk quits (~acidjnk@p200300d0c7068b77514ff9727fbe3410.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
22:17:04 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
22:17:19 × CAT_S quits (apic@brezn3.muc.ccc.de) (Ping timeout: 256 seconds)
22:17:33 × sleym quits (~sleym@user/sleym) (Quit: sleym)
22:18:31 CAT_S joins (apic@brezn3.muc.ccc.de)
22:20:20 × lispy quits (~lispy@82.212.115.91) (Quit: Client closed)
22:20:51 × CiaoSen quits (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
22:24:41 machinedgod joins (~machinedg@24.105.81.50)
22:25:37 Ram-Z_ joins (~Ram-Z@li1814-254.members.linode.com)
22:26:55 × Ram-Z quits (~Ram-Z@li1814-254.members.linode.com) (Ping timeout: 260 seconds)
22:27:06 moonsheep parts (~user@185.154.9.192) (ERC 5.4 (IRC client for GNU Emacs 28.1))
22:27:52 <jackdk> I recommend not doing this thing
22:30:10 × zincy quits (~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Remote host closed the connection)
22:30:20 × xaotuk quits (~sasha@2a06:5b00:15fe:9b00::2) (Ping timeout: 260 seconds)
22:32:17 × Flonk quits (~Flonk@vps-zap441517-1.zap-srv.com) (Quit: Ping timeout (120 seconds))
22:32:29 tzh_ joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
22:32:37 Flonk joins (~Flonk@vps-zap441517-1.zap-srv.com)
22:32:38 × coot quits (~coot@213.134.190.95) (Quit: coot)
22:32:40 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Ping timeout: 260 seconds)
22:32:48 <geekosaur> so do I
22:33:32 <geekosaur> it's fragile, it breaks type inference, it breaks partial application, the implementation is ugly as sin
22:39:53 × nut quits (~haskellfi@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 256 seconds)
22:43:39 × ec quits (~ec@gateway/tor-sasl/ec) (Quit: ec)
22:45:58 × zeenk quits (~zeenk@2a02:2f04:a004:9b00:1efc:c1cf:378d:8b3d) (Quit: Konversation terminated!)
22:46:15 × Ranhir quits (~Ranhir@157.97.53.139) (Remote host closed the connection)
22:48:44 Ranhir joins (~Ranhir@157.97.53.139)
22:49:09 hololeap_ joins (~hololeap@user/hololeap)
22:49:09 × dzdcnfzd quits (~dzdcnfzd@2600:387:5:803::8a) (Quit: Client closed)
22:49:36 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Quit: ZNC - https://znc.in)
22:50:03 azimut joins (~azimut@gateway/tor-sasl/azimut)
22:50:31 × Ranhir quits (~Ranhir@157.97.53.139) (Client Quit)
22:52:37 × hololeap quits (~hololeap@user/hololeap) (Read error: Connection reset by peer)
22:53:41 Ranhir joins (~Ranhir@157.97.53.139)
22:55:22 <abastro[m]> Printf implementation meets my eye tho
22:55:39 <abastro[m]> It looks good
22:59:54 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
23:03:50 × Topsi quits (~Topsi@dyndsl-095-033-017-123.ewe-ip-backbone.de) (Read error: Connection reset by peer)
23:04:45 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
23:05:29 × werneta quits (~werneta@137.79.215.173) (Ping timeout: 256 seconds)
23:05:55 × shapr quits (~user@184.81.59.2) (Ping timeout: 260 seconds)
23:08:40 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
23:12:39 <abastro[m]> > printf "cpu-%03d" 35
23:12:41 <lambdabot> error:
23:12:41 <lambdabot> • Ambiguous type variable ‘a0’ arising from a use of ‘show_M735548023158...
23:12:41 <lambdabot> prevents the constraint ‘(Show a0)’ from being solved.
23:14:01 tommd joins (~tommd@97-120-41-123.ptld.qwest.net)
23:14:02 <geekosaur> > printf "cpu-%03d" 35 :: String -- remember what I said about type inference
23:14:04 <lambdabot> "cpu-035"
23:14:47 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
23:18:33 × CAT_S quits (apic@brezn3.muc.ccc.de) (Ping timeout: 276 seconds)
23:18:35 <dminuoso> Honestly, that was quite ironic right there.
23:18:36 <abastro[m]> Strange, type defaulting should work
23:18:40 <dminuoso> "it looks good"
23:18:55 <abastro[m]> Ye it still looks good
23:19:08 <abastro[m]> Ambiguous type variable because type not defaultwd
23:19:11 <dminuoso> *bam* ambiguous type variable, and some really obscure show_M735548023158...
23:19:19 <dminuoso> Really good user experience.
23:19:32 <abastro[m]> > printf "cpu-%03d" 35 :: IO ()
23:19:34 <lambdabot> <IO ()>
23:19:49 <abastro[m]> Oh so lambdabot really cannot execute?
23:19:57 <geekosaur> really can't
23:20:06 <geekosaur> yahb could but is still MIA
23:20:13 <geekosaur> % "hello"
23:20:30 × dcoutts__ quits (~duncan@host81-156-211-196.range81-156.btcentralplus.com) (Ping timeout: 260 seconds)
23:21:04 <geekosaur> also String is not among the default defaults unless OverloadedStrings is enabled
23:21:30 <geekosaur> @let {-# LANGUAGE OverloadedStrings #-}
23:21:31 <lambdabot> Defined.
23:21:45 <geekosaur> > printf "cpu-%03d" 35
23:21:47 <lambdabot> error:
23:21:47 <lambdabot> • Ambiguous type variable ‘a0’ arising from a use of ‘show_M908856889501...
23:21:47 <lambdabot> prevents the constraint ‘(Show a0)’ from being solved.
23:22:31 <geekosaur> and still doesn't work anyway because it can't default through PrintfType, iirc
23:22:46 <geekosaur> @let {-# LANGUAGE ExtendedDefaultRules #-}
23:22:47 <lambdabot> Defined.
23:22:50 <geekosaur> > printf "cpu-%03d" 35
23:22:52 <lambdabot> error:
23:22:52 <lambdabot> • Ambiguous type variable ‘a0’ arising from a use of ‘show_M292047623486...
23:22:52 <lambdabot> prevents the constraint ‘(Show a0)’ from being solved.
23:22:58 <geekosaur> right, no fixing this one
23:23:41 <abastro[m]> Now that rather convinces me that we need better string formatting tools
23:23:52 <abastro[m]> Perhaps built-in ones rather than defined in base
23:24:24 <abastro[m]> `"foo " ++ show foo ++ " is ..."` is extremely unergonomic
23:29:00 <sm> there are a bunch of packages adding interpolatable, multi line string literals. They mostly/all use TH/QQ though, limiting their usefulness (slowing compilation, reducing portability..). I sure would love to have python/js-like ergonomic interpolatable string literals just built in
23:29:08 inversed_ joins (~inversed@176.248.27.211)
23:29:34 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
23:29:48 <abastro[m]> Indeed, those implemented by libs would inherently suffer from type inference anyway
23:29:59 <abastro[m]> But meh, haskell is not designed for practical industrial usage
23:30:20 CAT_S joins (apic@brezn3.muc.ccc.de)
23:30:22 × inversed quits (~inversed@176.248.27.211) (Ping timeout: 272 seconds)
23:30:25 × mmhat quits (~mmh@2001:4090:a242:802a:ee08:6bff:fe09:5315) (Quit: WeeChat 3.5)
23:30:38 <sm> that would be a nice ghc improvement project for someone interested in improving haskell uptake
23:30:53 × Tuplanolla quits (~Tuplanoll@91-159-68-39.elisa-laajakaista.fi) (Quit: Leaving.)
23:31:37 <sm> I think that statement is partly true, partly false
23:32:34 <sm> that was one of the explicit goals for the language, and that's why it is as practical as it is
23:32:54 grimey joins (~grimey@162.255.84.96)
23:33:07 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
23:33:47 <sm> haskell's unique strengths make it best-in-class for practical industrial usage in some ways
23:33:52 <dminuoso> 01:29:59 abastro[m] | But meh, haskell is not designed for practical industrial usage
23:34:05 <dminuoso> It's beyond me how this misconception keeps making its way into peoples head.
23:34:14 <dminuoso> What makes you think "it was not designed for practical industrial usage"?
23:34:41 <abastro[m]> Its primary purpose is not industrial success
23:35:24 <geekosaur> I'm unconvinced that wiring it into ghc can improve things greatly, unless it's e.g. done in a way that simply forbids the problematic uses
23:35:27 <dminuoso> You mean in the beginning? Or now?
23:35:35 werneta joins (~werneta@137.79.199.110)
23:35:41 <abastro[m]> Also nowadays everyone knows the "Avoid success at all costs"
23:35:47 <geekosaur> inparticular anything that does the kind of interpolation the TH/QQ based stuff does will use the TH/QQ machinery anyway
23:35:49 <dminuoso> That's a meme at best.
23:36:04 <hpc> it's times like these i wish lambdabot still had @faq
23:36:10 <abastro[m]> Associate in whichever way, it means the lang is not aimed at being successful
23:36:17 <EvanR> abastro[m], when the string building needs grow beyond simply showing stuff, the ++ form ends up being relatively not bad
23:36:39 <hpc> abastro[m]: it's meant as a joke, and means to not get stuck in a situation where improvement becomes impossible
23:36:46 <geekosaur> abastro[m] wants their meme and you can't take it away from them
23:36:47 <abastro[m]> Well, it indeed looks bad
23:36:53 <hpc> like how python almost died going from 2 to 3
23:36:58 <hpc> and how perl /did/ die going from 5 to 6
23:37:11 <monochrom> People manufacture excuses.
23:37:25 <abastro[m]> hpc: Well, didn't it make pointless changes like AMP possible?
23:37:33 q0r joins (~q0r@pool-108-26-33-153.syrcny.east.verizon.net)
23:37:34 <monochrom> No FAQ can prevail over FUD rationalizations.
23:37:37 × Kaiepi quits (~kaiepi@156.34.47.253) (Read error: Connection reset by peer)
23:37:41 <EvanR> "foo %s bar" % whatever.str isn't much easier to type and is a bit gimmicky
23:38:01 <monochrom> Just look at flatearthers. Has any roundearth FAQ ever changed their minds?
23:38:28 <EvanR> >Haskell wasn't designed for industrial usage
23:38:36 <EvanR> Indeed "haskell was discovered, not invented"
23:38:44 <EvanR> "I think you can tell"
23:38:59 <abastro[m]> See, one of the biggest reason ppl say haskell is unpractical is how often it makes breaking changes which looks pointless
23:39:01 <dminuoso> Dont confuse "designed for" with "not suitable for"
23:39:09 <dminuoso> Haskell is perfectly suitable for industrial usage.
23:39:12 <sm> it's true that haskell appears not to care as much about developer ergonomics as say rust or ruby did. That's partly historical accident (slow growth, slow to find a killer app), partly that it's harder because haskell is doing more difficult things
23:39:13 <abastro[m]> It does refactor the code, but does it hold practical value?
23:39:29 <geekosaur> define practical value
23:39:29 <abastro[m]> Yea, I meant "not designed for" dminuoso
23:39:42 <dminuoso> So?
23:39:44 <abastro[m]> sm: Exactly
23:39:46 <dolio> This is complete nonsense.
23:39:47 <hpc> monochrom: not only is the earth flat, it's dymaxion-shaped
23:39:49 <geekosaur> you sound like the sort of person whose argumwnts will add up to "it's not javascript" in the end
23:39:55 <dminuoso> It doesnt matter what the design goals are, it just matters what its suitable for.
23:39:56 <monochrom> Here is what's really designed against industrial use: Spending time on repeatedly harping "not designed for industrial use".
23:39:59 <hpc> spacetime is just magnificently odd to make it appear spherical :D
23:40:05 <dminuoso> C was not designed for industrial usage either.
23:40:08 <dminuoso> It was very successful
23:40:13 <monochrom> Like, why waste time arguing.
23:40:26 <abastro[m]> Well, I meant how it is often against practical change
23:40:27 <hpc> you know what was actually designed for industrial usage? cobol
23:40:32 <EvanR> does industrial usage mean web tech
23:40:38 × q0r quits (~q0r@pool-108-26-33-153.syrcny.east.verizon.net) (Quit: Connection closed)
23:40:41 <EvanR> or like, controlling factory robots
23:40:50 <EvanR> no, they should not be the same thing
23:41:03 <monochrom> You can invest time improving Haskell industrial use. Or you can invest time working with another language for industrial use. Either way is rational.
23:41:06 <dminuoso> Facebook runs their global spam fighting engine processing millions of events per second, doing hundreds of millions of checks per second - all on Haskell.
23:41:21 <monochrom> But keep whining about this topic? That I don't understand.
23:41:27 <dminuoso> I think that's one hell of an example how useful Haskell is as a tool. *shrugs*
23:41:28 <sm> perhaps a good time to link this excellent recent https://www.reddit.com/r/haskell/comments/uhdl5a/11_companies_that_use_haskell_in_production post
23:41:29 <monochrom> Do you have a life?
23:41:39 <geekosaur> "someone doesn't agree with me on the internet"
23:41:52 <abastro[m]> Well
23:42:28 <abastro[m]> This somewhat adds up to "elitism" they say
23:42:38 <EvanR> ???
23:42:47 <monochrom> Why should we care?
23:42:50 <EvanR> that sounds out of the blue
23:42:59 <EvanR> here's evidence against your claim.
23:43:02 <EvanR> no, you're elitist
23:43:03 <abastro[m]> Yea, you might not care
23:43:32 <monochrom> I'm quite ready to ban. This is a waste of our time.
23:43:36 <EvanR> or is elitist like "that's unsustainable" in that it's a polymorphic refutation against anything
23:43:37 <abastro[m]> Just saying that how ppl get such impression on haskell
23:43:38 <dolio> +1
23:44:21 geekosaur declines to repeat himself
23:44:31 <EvanR> evidence against elitist haskell: forall is a key word
23:44:34 <geekosaur> monochrom, agreed
23:44:42 <monochrom> And BTW to answer those who said I was too trigger-happy last time: I saw good regulars leaving this channel precisely because we fed the trolls instead of banning.
23:44:59 <monochrom> quchen was one of those who left, for example.
23:45:03 <hpc> EvanR: haskell isn't real - evidence: exists is not a keyword
23:45:07 <hpc> we've all been duped i tell you!
23:45:09 <EvanR> lol
23:45:14 <dminuoso> It's quite surprising how people without much knowledge of a language frequently seem to be the leading experts about why that language is good or bad.
23:46:28 <EvanR> if you have too much knowledge, you're elitist
23:46:29 <hpc> dminuoso: it's a zero-knowledge proof :P
23:47:51 <dminuoso> I mean there is some truth in that the Haskell community can be intimidating, because we attract a far higher frequency of academics/very involved researchers.
23:48:07 <hpc> oh, also on the topic of hasksell in industry, my coworkers wouldn't even know they've been running haskell code if i didn't tell them (shellcheck)
23:48:27 <EvanR> best not to, tell them
23:48:30 <dminuoso> shellcheck is written in Haskell? :o
23:48:34 <EvanR> they might react like abastro[m]
23:48:43 <hpc> https://github.com/koalaman/shellcheck
23:48:57 <monochrom> Approximately only xmonad users are painfully aware that here is a program written in Haskell.
23:49:15 <monochrom> Pandoc users don't notice, for example.
23:49:22 <EvanR> yeah it's weird, "the only reason I care about haskell is I'm forced to use it for xmonad"
23:49:24 <monochrom> ghcup users probably don't notice either, heh.
23:49:33 <dminuoso> `here`?
23:49:59 <EvanR> here: command not found
23:50:00 <monochrom> Oh, as in "here is a program written in Haskell: xmonad"
23:51:00 <monochrom> But the same can be said of Linux. How many people know that by now virtually all home routers run Linux?
23:51:12 <dminuoso> Not just home routers.
23:51:22 <hpc> also phones
23:51:23 <dminuoso> Expensive 7 digit backbone routing plattforms run linux too.
23:51:37 <hpc> all intel processors have an embedded copy of minix
23:52:04 <hpc> and your car, and your tv, and your watch
23:52:34 <hpc> your car might even have multiple instances of linux
23:52:35 <EvanR> all intel processors include a slow, bug ridden, informally specified, implementation of half of minix?
23:52:52 <hpc> EvanR: nope, they have the whole thing, it's part of their management engine stuff
23:52:55 <dminuoso> IME
23:53:06 <dminuoso> The absolutely disgusting dark side of modern processors.
23:53:17 <EvanR> modern CPU is spooky big
23:53:38 <hpc> although if you really want to use that quote, all intel instructions include a slow, bug ridden, informally specified implementation of half a turing machine
23:53:44 <hpc> or a full one as the case may be
23:54:21 <EvanR> can the instruction go into an infinite loop and be killed by a watchdog ? xD
23:54:40 <hpc> almost, it can go through interrupt operations indefinitely
23:55:11 <hpc> https://github.com/jbangert/trapcc
23:56:49 <monochrom> Yikes haha.
23:57:14 <hpc> https://www.youtube.com/playlist?list=PLowKtXNTBypGqImE405J2565dvjafglHU - the microcode stuff near the end of this playlist can give you a feel for how easy it is to happen
23:57:14 <monochrom> But I'm curious about the "cc" part. trap-with-current-continuation? :)
23:57:26 seydar joins (~seydar@154-27-113-252.starry-inc.net)
23:57:34 <hpc> (or how easy it would be if your cpu arch had intel's level of history attached to it)
23:57:40 <hpc> but also the whole playlist is really interesting
23:58:14 <hpc> accidental turing completeness is a hell of a thing
23:58:33 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
23:58:58 × mvk quits (~mvk@2607:fea8:5ce3:8500::aa1d) (Ping timeout: 250 seconds)
23:59:00 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 246 seconds)

All times are in UTC on 2022-05-04.