Home liberachat/#haskell: Logs Calendar

Logs on 2021-08-10 (liberachat/#haskell)

00:03:12 × robertm quits (robertm@rojoma.com) (Quit: ...)
00:03:21 robertm joins (robertm@rojoma.com)
00:18:44 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
00:19:33 tommd joins (~tommd@cpe-76-179-204-251.maine.res.rr.com)
00:19:57 × haykam quits (~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
00:20:10 haykam joins (~haykam@static.100.2.21.65.clients.your-server.de)
00:34:29 × chomwitt quits (~chomwitt@2a02:587:dc02:6400:12c3:7bff:fe6d:d374) (Remote host closed the connection)
00:42:47 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
00:43:47 anononon joins (~anononon@user-5-173-146-83.play-internet.pl)
00:43:52 Cajun joins (~Cajun@user/cajun)
00:56:13 Guest4593 joins (~Guest45@2001:8004:2728:3231:22e8:8df9:c65:5ea)
00:57:44 <lechner> Hi, is it acceptable to replace a . with a $ whenever a chain of functions is being fully applied? Does it matter?
00:58:00 <Axman6> sure
00:58:39 <lechner> it only works in a 'do' context, right?
00:58:44 <geekosaur> thay are not the same thing
00:58:49 <Axman6> the general pattern people tend to use is f . g . h $ x, I have started using f . g $ h x to remove a symbol, but even f $ g $ h x is pretty common
00:59:03 <geekosaur> it has nothing to do with do
00:59:13 <Axman6> @src (.)
00:59:13 <lambdabot> (f . g) x = f (g x)
00:59:16 <Axman6> @src ($)
00:59:16 <lambdabot> f $ x = f x
00:59:42 <Axman6> they're not always interchangable. I can't see how this would have anything to do with do notation
01:01:13 <Axman6> :t let ((f .: g) x) y = f x . g y in (.:) -- unrelated, wondering if this even valid
01:01:15 <lambdabot> (t1 -> b -> c) -> (t2 -> a -> b) -> t1 -> t2 -> a -> c
01:01:20 <Axman6> :o
01:01:44 <lechner> for a moment it seemed that 'do' implies full application. maybe my logic was reversed (sufficient vs necessary)
01:01:49 × xsperry quits (~as@user/xsperry) (Remote host closed the connection)
01:02:28 <dsal> `do` doesn't have anything to `do` with anything.
01:02:38 <Axman6> do doesn't
01:02:53 <dsal> > do do do do "wop"
01:02:54 <lambdabot> "wop"
01:03:53 × lbseale quits (~lbseale@user/ep1ctetus) (Read error: Connection reset by peer)
01:04:31 cjb` joins (~cjb@user/cjb)
01:05:16 × Skyfire quits (~pyon@user/pyon) (Quit: WeeChat 3.2)
01:05:18 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
01:05:29 cjb is now known as Guest8286
01:05:29 cjb` is now known as cjb
01:05:58 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
01:05:59 <lechner> well, it can't be replaced in all cases, can it? like map (f . g) xs
01:06:09 × Guest8286 quits (~cjb@user/cjb) (Ping timeout: 260 seconds)
01:07:27 <Axman6> no, because they do different things
01:07:55 <Axman6> you talked about situations where it's fully applied, and that isn't one
01:09:42 <lechner> is for all f,g: replacement legal === fully applied ? or is one space greater?
01:10:36 <lechner> in other words, are there cases of full application whe replacement does not work?
01:10:54 <Axman6> I think you should spend some time looking at the definitions and undestanding what they actually mean - they're not magical, playing around with them will show you what is ok and what isn't.
01:11:10 <Axman6> also understanding their binding power and fixity would help
01:11:24 × xff0x quits (~xff0x@2001:1a81:5378:e300:775f:2c72:eed7:a05a) (Ping timeout: 272 seconds)
01:11:46 <lechner> i wasn't asking about parentheses, though
01:11:53 <dsal> :t f . g
01:11:54 <lambdabot> error:
01:11:54 <lambdabot> • Could not deduce (Show b0) arising from a use of ‘f’
01:11:54 <lambdabot> from the context: (Show a, FromExpr c)
01:12:04 <dsal> I was hoping magic expr stuff would do something creative.
01:12:32 <Axman6> it's all relevant to understanding which replacements are ok and which aren't
01:12:53 <lechner> i asked because i read that $ was controversial.
01:13:04 xff0x joins (~xff0x@2001:1a81:53b6:2a00:9ab0:6dc8:ce66:af3c)
01:13:08 <dsal> $ is a heavy hammer
01:13:19 <dsal> . ties beautiful knots
01:13:27 <lechner> i was trying to get a sense of its utility, from a purist's view
01:13:54 <lechner> also avoid ridicule for poor style
01:14:02 pe200012 joins (~pe200012@218.107.49.28)
01:14:04 <lechner> i use them more than .
01:14:15 × dragestil_ quits (~quassel@user/dragestil) (Ping timeout: 258 seconds)
01:14:29 × fjmorazan quits (~quassel@user/fjmorazan) (Quit: fjmorazan)
01:14:34 dragestil_ joins (~quassel@user/dragestil)
01:14:45 <lechner> and i think it's because i spend little time on "pure" programming
01:14:54 <lechner> i.e. i'm in do
01:15:05 fjmorazan joins (~quassel@user/fjmorazan)
01:15:08 <dsal> $ isn't less pure, it just making composition harder.
01:15:17 <lechner> or impossible?
01:15:51 <sm> you'll see $ everywhere, I wouldn't worry too much
01:15:55 <dsal> Yeah. They look similar in some bits of code, but they do different things.
01:15:58 <dsal> :t (.)
01:15:59 <lambdabot> (b -> c) -> (a -> b) -> a -> c
01:16:00 <dsal> :t ($)
01:16:01 <lambdabot> (a -> b) -> a -> b
01:16:10 <sm> use whatever makes code clearest/easiest to work with. That will vary depending on situation
01:16:18 × oso quits (~oso@2601:58c:c080:a950:f275:2530:b398:680b) (Quit: Client closed)
01:16:44 <sm> $ is more beginner-friendly, I think
01:16:58 <dsal> $ isn't the root of all problems
01:17:02 <lechner> i previously thought of $ only as a replacement for parentheses
01:17:10 <dsal> It's an actual function and you can use it as such.
01:17:15 <lechner> beginners probably should not use it
01:17:23 <dsal> Sometimes you actually need $
01:17:36 <lechner> please say
01:17:49 <adamCS> $ comes in handy when you want to fmap over a structure (list, say) full of functions and apply each to a fixed argument
01:17:53 × anononon quits (~anononon@user-5-173-146-83.play-internet.pl) (Ping timeout: 248 seconds)
01:18:09 <dsal> > ($2) <$> [(2+), (3*)]
01:18:10 <lambdabot> [4,6]
01:18:22 <adamCS> yeah
01:18:26 × tommd quits (~tommd@cpe-76-179-204-251.maine.res.rr.com) (Ping timeout: 256 seconds)
01:18:52 <lechner> i am a fraid to ask: why is the $ needed?
01:18:57 <dsal> It's not *needed*
01:19:01 <dsal> But how else would you write that?
01:19:03 × natechan quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
01:19:07 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
01:19:08 <adamCS> Just shorthand for (\f -> f 2) but it's pretty
01:19:09 <dsal> > (\v -> v 2) <$> [(2+), (3*)]
01:19:10 <lambdabot> [4,6]
01:19:31 <sm> adding <$> has only muddied the waters :)
01:19:43 <lechner> i got that!
01:19:49 <adamCS> I have a love/hate relationship with <$>
01:19:54 <lechner> dsal: i see. thanks!
01:19:57 natechan joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
01:20:03 <lechner> that one too
01:20:07 <lechner> ?
01:20:12 raoul1 joins (~raoul@95.179.203.88)
01:20:17 <dsal> I use <$> everywhere. I don't think about it much.
01:20:28 <sm> same
01:20:31 <dsal> map ($2) [(2+), (3*)]
01:20:35 <dsal> > map ($2) [(2+), (3*)]
01:20:37 <lambdabot> [4,6]
01:20:38 <dsal> There. :)
01:20:48 × dragestil_ quits (~quassel@user/dragestil) (Quit: No Ping reply in 180 seconds.)
01:20:51 <sm> ah, well I wouldn't use it there. :)
01:21:00 peterhil_ joins (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi)
01:21:05 mustafa_ joins (sid502723@rockylinux/releng/mustafa)
01:21:06 ehamberg_ joins (sid18208@id-18208.stonehaven.irccloud.com)
01:21:06 tritlo_ joins (sid58727@user/tritlo)
01:21:13 jrm2 joins (~jrm@156.34.187.65)
01:21:25 nshepperd24 joins (~nshepperd@li364-218.members.linode.com)
01:21:41 <adamCS> But it sometimes bites me when I also use $ on the RHS of <$>. Which is my own fault, I guess.
01:21:44 Firedancer_ joins (sid336191@id-336191.stonehaven.irccloud.com)
01:21:51 rubin55__ joins (sid175221@id-175221.stonehaven.irccloud.com)
01:21:55 <dsal> :t ($)
01:21:56 <lambdabot> (a -> b) -> a -> b
01:21:58 <dsal> :t (<$>)
01:21:59 <lambdabot> Functor f => (a -> b) -> f a -> f b
01:22:05 <sm> but maybe after a bit more time I will
01:22:10 <dsal> :t (<*>)
01:22:11 <lambdabot> Applicative f => f (a -> b) -> f a -> f b
01:22:16 dragestil_ joins (~quassel@user/dragestil)
01:22:22 aria_ joins (sid380617@id-380617.tooting.irccloud.com)
01:22:25 <dsal> lechner: It might be interesting to see how these things relate.
01:22:36 m4lvin_ joins (~m4lvin@w4eg.de)
01:22:59 <dsal> But at least, don't think of $ as a paren too much.
01:23:17 <dsal> I'm about 50/50 on `(f.g.h) x` vs. `f .g.h $ x`
01:23:20 sm adds that these things become very clear after a bit more coding
01:23:29 pe200012_ joins (~pe200012@218.107.49.28)
01:23:39 bairyn joins (~bairyn@mail.digitalkingdom.org)
01:23:47 fjmorazan_ joins (~quassel@user/fjmorazan)
01:23:50 <dsal> There are a lot things that "just do this" and eventually you get it.
01:24:44 <sm> that's the "rewire your brain" step
01:25:00 nf__ joins (~n@monade.li)
01:25:08 × peterhil quits (~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Read error: Connection reset by peer)
01:25:08 × raoul quits (~raoul@95.179.203.88) (Quit: Ping timeout (120 seconds))
01:25:08 × sus quits (thelounge@user/zeromomentum) (Quit: Ping timeout (120 seconds))
01:25:08 × jrm quits (~jrm@156.34.187.65) (Quit: ciao)
01:25:08 × dwt_ quits (~dwt_@c-98-200-58-177.hsd1.tx.comcast.net) (Remote host closed the connection)
01:25:08 × maerwald quits (~maerwald@mail.hasufell.de) (Quit: gone)
01:25:08 × ehamberg quits (sid18208@stonehaven.irccloud.com) (Read error: Connection reset by peer)
01:25:08 × rubin55_ quits (sid175221@stonehaven.irccloud.com) (Read error: Connection reset by peer)
01:25:08 × mustafa quits (sid502723@rockylinux/releng/mustafa) (Read error: Connection reset by peer)
01:25:08 × tritlo quits (sid58727@user/tritlo) (Write error: Connection reset by peer)
01:25:08 × Firedancer quits (sid336191@stonehaven.irccloud.com) (Write error: Connection reset by peer)
01:25:08 × nshepperd2 quits (~nshepperd@li364-218.members.linode.com) (Quit: Ping timeout (120 seconds))
01:25:08 × m4lvin quits (~m4lvin@w4eg.de) (Remote host closed the connection)
01:25:08 × matijja quits (~matijja@193.77.181.201) (Quit: ZNC 1.8.1 - https://znc.in)
01:25:08 × dolio quits (~dolio@130.44.130.54) (Quit: ZNC 1.8.2 - https://znc.in)
01:25:08 × aria quits (sid380617@id-380617.tooting.irccloud.com) (Read error: Connection reset by peer)
01:25:08 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
01:25:08 × fjmorazan quits (~quassel@user/fjmorazan) (Quit: No Ping reply in 180 seconds.)
01:25:08 × favonia quits (~favonia@user/favonia) (Ping timeout: 272 seconds)
01:25:09 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Ping timeout: 272 seconds)
01:25:09 × jlamothe quits (~jlamothe@104.158.48.100) (Ping timeout: 272 seconds)
01:25:09 × jolly quits (~jolly@208.180.97.158) (Ping timeout: 272 seconds)
01:25:09 × pe200012 quits (~pe200012@218.107.49.28) (Remote host closed the connection)
01:25:09 × nf quits (~n@monade.li) (Remote host closed the connection)
01:25:09 × slowButPresent quits (~slowButPr@user/slowbutpresent) (Remote host closed the connection)
01:25:09 × ByronJohnson quits (~bairyn@mail.digitalkingdom.org) (Ping timeout: 272 seconds)
01:25:09 × infinity0 quits (~infinity0@occupy.ecodis.net) (Ping timeout: 272 seconds)
01:25:09 × earthy quits (~arthurvl@2001:984:275b:1:ba27:ebff:fea0:40b0) (Ping timeout: 272 seconds)
01:25:09 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 272 seconds)
01:25:09 × Cale quits (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) (Ping timeout: 272 seconds)
01:25:09 × Vq quits (~vq@90-227-195-41-no77.tbcn.telia.com) (Ping timeout: 272 seconds)
01:25:09 × nshepperd quits (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) (Ping timeout: 272 seconds)
01:25:09 raoul1 is now known as raoul
01:25:09 aria_ is now known as aria
01:25:09 Firedancer_ is now known as Firedancer
01:25:09 ehamberg_ is now known as ehamberg
01:25:09 mustafa_ is now known as mustafa
01:25:10 nshepperd24 is now known as nshepperd2
01:25:10 jrm2 is now known as jrm
01:25:10 tritlo_ is now known as tritlo
01:25:11 × Jonno_FTW quits (~come@user/jonno-ftw/x-0835346) (Remote host closed the connection)
01:25:12 Vq_ joins (~vq@90-227-195-41-no77.tbcn.telia.com)
01:25:15 maerwald_ joins (~maerwald@mail.hasufell.de)
01:25:17 nshepper1 joins (nshepperd@2600:3c03::f03c:92ff:fe28:92c9)
01:25:18 <sm> the rewiring doesn't stick unless you run some current through it
01:25:19 Jonno_FTW joins (~come@api.carswap.me)
01:25:20 × ornxka quits (~ornxka@user/ornxka) (Remote host closed the connection)
01:25:20 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
01:25:25 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
01:25:27 <Cajun> well is there a good list of coding exercises/problems that are decently involved?
01:25:33 dolio joins (~dolio@130.44.130.54)
01:25:34 matijja joins (~matijja@193.77.181.201)
01:25:41 sus joins (thelounge@user/zeromomentum)
01:25:45 ornxka joins (~ornxka@user/ornxka)
01:25:53 infinity0 joins (~infinity0@occupy.ecodis.net)
01:25:53 favonia joins (~favonia@user/favonia)
01:25:57 <sm> I say 1 project euler, 2 exercism, 3 advent of code
01:26:13 <dsal> Cajun: I've really enjoyed all the AoC stuff.
01:26:15 <Axman6> I always liked dibblego's https://gist.github.com/23Skidoo/5087060 intermediate haskell exercises
01:26:16 <Cajun> ive found project euler a bit too mathy for me, as much as i like math lol
01:26:19 <dsal> Last year was easier than I liked, though./
01:26:26 <Cajun> ive been looking ad AoC but ive never heard of exercism
01:26:26 <dsal> I started with Euler stuff and ran into the same problem.
01:26:36 Cale joins (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com)
01:26:39 <dsal> exercism isn't too ba. I cna't remember whyI gave up on that.
01:26:40 earthy joins (~arthurvl@2001:984:275b:1:ba27:ebff:fea0:40b0)
01:26:45 <Axman6> really helps you get a grip on some common types we use (there are some words I'm intentionally avoiding using there)
01:26:57 <sm> Cajun: in the early parts at least, it's easiest for a new haskeller I think, since it is pretty pure
01:27:17 <Axman6> http://blog.tmorris.net/posts/20-intermediate-haskell-exercises/ is the original link
01:27:18 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 268 seconds)
01:27:27 <sm> (I didn't mean do all of these things)
01:27:30 <monochrom> Oh so that's where the <avoided words> exercises have gone! :)
01:28:06 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:28:09 <monochrom> But wait, that URL is the solution.
01:28:17 jlamothe joins (~jlamothe@104.158.48.100)
01:28:23 <sm> doh Axman6 !
01:28:32 <sm> now I know everything
01:28:41 slowButPresent joins (~slowButPr@user/slowbutpresent)
01:29:25 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.2)
01:30:19 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
01:30:21 <sm> but seriously, what is going on with these..
01:30:28 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
01:30:36 <sm> are they part of https://github.com/tonymorris/fp-course ?
01:30:44 <Axman6> Related
01:30:53 <Axman6> I think they predate the course
01:31:15 dwt_ joins (~dwt_@c-98-200-58-177.hsd1.tx.comcast.net)
01:31:46 <monochrom> They were. Not any more. At least not in the form of hiding the real names.
01:32:01 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 268 seconds)
01:32:17 <sm> ah, here are the/some exercises: https://github.com/tonymorris/fp-course#progression
01:32:52 <sm> navigating the puzzles is itself a puzzle
01:34:37 <monochrom> The Voldemort classes that must not be named.
01:34:45 sm retreats in confusion and disarray
01:35:14 <sm> @where exercises
01:35:14 <lambdabot> http://www.haskell.org/haskellwiki/H-99:_Ninety-Nine_Haskell_Problems https://github.com/bitemyapp/learnhaskell http://www.reddit.com/r/dailyprogrammer/ http://www.reddit.com/r/programmingchallenges/
01:35:31 <monochrom> class Excrutiato f where excrutiato :: (a -> b) -> f a -> f b
01:40:17 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
01:40:57 fef joins (~thedawn@user/thedawn)
01:44:50 × fef quits (~thedawn@user/thedawn) (Client Quit)
01:44:58 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
01:46:13 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2)
01:51:04 goepsilongo joins (~goepsilon@2603-7000-ab00-62ed-8187-3887-37f5-8cee.res6.spectrum.com)
01:53:00 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
01:53:35 MQ-17J joins (~MQ-17J@8.6.144.209)
01:54:20 × phma quits (~phma@host-67-44-208-49.hnremote.net) (Read error: Connection reset by peer)
01:55:20 Skyfire joins (~pyon@user/pyon)
01:57:11 phma joins (~phma@host-67-44-208-154.hnremote.net)
02:01:44 endlesseditions joins (~endlessed@205.220.252.162)
02:05:12 endlesseditions parts (~endlessed@205.220.252.162) ()
02:15:58 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 258 seconds)
02:18:50 <Cajun> sm: yeah i absolutely agree, it doesnt require you to deal with too many monads and honestly its great for finding libraries and getting familiar with reading docs (see problem 19, it deals with dates)
02:19:48 × td_ quits (~td@94.134.91.53) (Ping timeout: 272 seconds)
02:20:53 × goepsilongo quits (~goepsilon@2603-7000-ab00-62ed-8187-3887-37f5-8cee.res6.spectrum.com) (Quit: Textual IRC Client: www.textualapp.com)
02:21:19 td_ joins (~td@muedsl-82-207-238-245.citykom.de)
02:25:56 × vysn quits (~vysn@user/vysn) (Ping timeout: 258 seconds)
02:27:06 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
02:27:25 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
02:27:34 × Guest4968 quits (~chris@81.96.113.213) (Remote host closed the connection)
02:28:35 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:28:36 FinnElija is now known as Guest6250
02:28:36 × Guest6250 quits (~finn_elij@user/finn-elija/x-0085643) (Killed (sodium.libera.chat (Nickname regained by services)))
02:28:36 finn_elija is now known as FinnElija
02:28:40 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 272 seconds)
02:30:52 <slack1256> TIL: the true power of ViewPatterns is on do block, specially when binding variables.
02:34:04 <Cajun> so im trying to install HLS 1.3.0 and ghcup comes up with a digest error: https://paste.tomsmeding.com/V2AwTbuF
02:34:38 <Cajun> im installing it via `ghcup tui` so maybe thats it? lemme also update ghcup but its super strange
02:37:17 <Cajun> ok apparently it was just because ghcup was out of date but that was a strange issue, shoulda just told this to the rubber duck :P
02:38:50 VoidNoir0 joins (~VoidNoir0@72.80.203.52)
02:42:42 euouae joins (~euouae@user/euouae)
02:45:24 paddymahoney joins (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com)
02:45:51 Erutuon joins (~Erutuon@user/erutuon)
02:46:42 torei joins (~torei@c-73-108-191-67.hsd1.ga.comcast.net)
02:57:20 × slack1256 quits (~slack1256@191.126.53.228) (Remote host closed the connection)
02:59:35 × shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 268 seconds)
03:03:26 <lechner> thanks for all the hints!
03:03:47 <lechner> dsal: AoC is Advent of Code?
03:04:08 <dibblego> Air Operator Certificate!
03:04:43 <dibblego> ignore me
03:05:56 pe200012 joins (~pe200012@113.105.10.33)
03:06:09 × pe200012_ quits (~pe200012@218.107.49.28) (Ping timeout: 248 seconds)
03:09:42 <dmj`> fresheyeball: I’d double check that the hashes in cabal.config match sources.nix
03:13:58 <dsal> lechner: yeah. Favorite time of the year. :)
03:33:37 lavaman joins (~lavaman@98.38.249.169)
03:35:03 × emliunix quits (~emliunix@2a09:bac0:23::815:bca) (Remote host closed the connection)
03:35:20 emliunix joins (~emliunix@103.138.75.119)
03:36:37 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
03:38:26 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
03:41:40 lavaman joins (~lavaman@98.38.249.169)
03:42:16 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
03:44:07 adam1 joins (~adam@2001-b011-4007-0808-916d-b2e3-f972-38e2.dynamic-ip6.hinet.net)
03:46:02 × alx741 quits (~alx741@181.196.68.21) (Quit: alx741)
03:53:48 × shredder quits (~user@user/shredder) (Quit: quitting)
03:54:39 × adam1 quits (~adam@2001-b011-4007-0808-916d-b2e3-f972-38e2.dynamic-ip6.hinet.net) (Quit: WeeChat 3.2)
03:55:12 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
03:55:45 × euouae quits (~euouae@user/euouae) (Quit: Client closed)
03:55:58 <lechner> that's funny!
03:57:40 shredder joins (~user@user/shredder)
03:58:24 adam1 joins (~adam@2001-b011-4007-0808-916d-b2e3-f972-38e2.dynamic-ip6.hinet.net)
03:59:11 euouae joins (~euouae@user/euouae)
03:59:36 fjmorazan_ is now known as fjmorazan
03:59:53 × adam1 quits (~adam@2001-b011-4007-0808-916d-b2e3-f972-38e2.dynamic-ip6.hinet.net) (Client Quit)
04:00:04 adam1 joins (~adam@2001-b011-4007-0808-916d-b2e3-f972-38e2.dynamic-ip6.hinet.net)
04:01:32 × euouae quits (~euouae@user/euouae) (Client Quit)
04:04:17 × pe200012 quits (~pe200012@113.105.10.33) (Ping timeout: 248 seconds)
04:04:23 pe200012_ joins (~pe200012@218.107.49.28)
04:06:04 × Guest4593 quits (~Guest45@2001:8004:2728:3231:22e8:8df9:c65:5ea) (Ping timeout: 246 seconds)
04:11:08 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
04:12:12 × VoidNoir0 quits (~VoidNoir0@72.80.203.52) (Quit: Ping timeout (120 seconds))
04:12:47 lavaman joins (~lavaman@98.38.249.169)
04:17:17 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
04:17:36 × MQ-17J quits (~MQ-17J@8.6.144.209) (Ping timeout: 272 seconds)
04:25:12 × adam1 quits (~adam@2001-b011-4007-0808-916d-b2e3-f972-38e2.dynamic-ip6.hinet.net) (Ping timeout: 272 seconds)
04:27:45 × pgib quits (~textual@173.38.117.78) (Ping timeout: 248 seconds)
04:30:23 lavaman joins (~lavaman@98.38.249.169)
04:37:14 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
04:42:29 Guest7116 joins (~Guest71@217.156.31.64)
04:45:07 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
04:51:04 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
04:54:07 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
04:55:42 Guest7116 is now known as random-jellyfish
04:55:47 × random-jellyfish quits (~Guest71@217.156.31.64) (Changing host)
04:55:47 random-jellyfish joins (~Guest71@user/random-jellyfish)
04:57:23 Gurkenglas joins (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
04:59:33 × sm2n quits (~sm2n@user/sm2n) (Read error: Connection reset by peer)
05:04:17 adam1 joins (~adam@2001-b011-4007-2236-a1a1-867b-8ec5-4452.dynamic-ip6.hinet.net)
05:08:29 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 268 seconds)
05:09:32 MorrowM joins (~Morrow@176.12.187.199)
05:11:04 pfurla_ joins (~pfurla@ool-182ed2e2.dyn.optonline.net)
05:11:36 sm2n joins (~sm2n@user/sm2n)
05:12:21 michalz joins (~michalz@185.246.204.61)
05:13:54 × pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 272 seconds)
05:14:22 × cjb quits (~cjb@user/cjb) (Quit: rcirc on GNU Emacs 28.0.50)
05:17:59 × _xor quits (~xor@74.215.232.67) (Quit: brb)
05:19:56 <koz> dibblego: https://twitter.com/PLT_Borat/status/228009057670291456
05:20:01 <koz> I have found this gem once again.
05:20:45 <dibblego> heh
05:21:36 × derelict quits (~derelict@user/derelict) (Quit: WeeChat 3.2)
05:22:33 × slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving)
05:25:07 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 268 seconds)
05:26:53 jneira joins (~jneira@212.8.115.226)
05:31:23 _xor joins (~xor@74.215.232.67)
05:31:51 etehtsea joins (~etehtseam@2001:470:69fc:105::d579)
05:32:00 bin_ joins (~bin@user/bin/x-1583188)
05:32:14 × _bin quits (~bin@user/bin/x-1583188) (Ping timeout: 258 seconds)
05:33:53 pe200012 joins (~pe200012@113.105.10.33)
05:34:25 × pe200012_ quits (~pe200012@218.107.49.28) (Ping timeout: 248 seconds)
05:37:52 etehtsea parts (~etehtseam@2001:470:69fc:105::d579) ()
05:39:57 pottsy joins (~pottsy@2400:4050:b560:3700:38eb:29ba:72bf:9791)
05:41:53 vrilles joins (~vrilles@user/aman)
05:45:47 lavaman joins (~lavaman@98.38.249.169)
05:50:25 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 248 seconds)
05:54:14 × MorrowM quits (~Morrow@176.12.187.199) (Read error: Connection reset by peer)
05:54:32 MorrowM joins (~Morrow@176.12.187.199)
05:56:39 euouae joins (~euouae@user/euouae)
05:57:02 <euouae> Hello I want to ask about ((->) a)
05:57:07 <euouae> Is this a Yoneda embedding?
05:57:40 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 272 seconds)
05:57:50 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
05:57:59 <euouae> Or rather, sorry, is it just the hom functor in the second argument?
06:01:30 <dibblego> @type id :: e -> e
06:01:31 <lambdabot> e -> e
06:01:34 <dibblego> @type id :: (->) e e
06:01:35 <lambdabot> e -> e
06:01:40 <dibblego> @type id :: ((->) e) e
06:01:41 <lambdabot> e -> e
06:02:22 <euouae> Right but I'm asking about ((->) a) being a functor
06:02:36 <dibblego> @type fmap
06:02:37 <lambdabot> Functor f => (a -> b) -> f a -> f b
06:02:40 <dibblego> @type fmap :: (a -> b) -> [a] -> [b]
06:02:41 <lambdabot> (a -> b) -> [a] -> [b]
06:02:47 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:02:50 <dibblego> @type fmap :: (a -> b) -> ((-> e) a) -> ((->) e b)
06:02:51 <lambdabot> error: parse error on input ‘e’
06:02:57 <dibblego> @type fmap :: (a -> b) -> ((->) e a) -> ((->) e b)
06:02:58 <lambdabot> (a -> b) -> (e -> a) -> e -> b
06:04:06 <euouae> Hm.. I can't quite put into words what I'm thinking. I just realized that ((->) a) being a functor had to do with the Yoneda lemma
06:04:19 <euouae> Or rather, the statement of the Yoneda lemma uses that functor
06:06:39 <Gurkenglas> euouae, the yoneda embedding takes the b in (a -> b) as its first argument
06:06:49 <Gurkenglas> it's flip (->), basically.
06:07:10 × random-jellyfish quits (~Guest71@user/random-jellyfish) (Ping timeout: 246 seconds)
06:07:15 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
06:07:20 <euouae> Gurkenglas: You can have it both ways right?
06:07:20 <dsal> :t ((->) a)
06:07:21 <lambdabot> error: parse error on input ‘->’
06:07:35 <Axman6> it's be :kind
06:07:39 <Axman6> it'd*
06:08:26 <dsal> I was going type would be useful. But yeah, they kind is illustrative.
06:08:27 <euouae> :kind ((->) *)
06:08:37 <euouae> Hmm it works in ghci
06:08:53 <dibblego> @kind ((->) *)
06:08:54 <lambdabot> * -> *
06:09:05 <dsal> If you can imagine ((->) a) bring a mapping of a to b, then youb can imagine seeing how a function of b->c can be fmapped
06:09:24 <Gurkenglas> euouae, if you want to understand the yoneda lemma you need to pay attention to the difference; the difference between the a and the b is that the result is "covariant" in the b and "contravariant" in the a. This means that given some b->b' you can turn each a->b into some a->b', but given some a->a' you get *get* some a->b *from* each a'->b
06:09:36 <dsal> 'a' was confusing there... I should be asleep
06:09:53 <euouae> Gurkenglas: But Yoneda lemma has both versions
06:10:05 Erutuon joins (~Erutuon@user/erutuon)
06:10:28 <euouae> I'm not saying they're not different, but in an inessential way. You are right the classical one is flip (->)
06:10:33 Guest45 joins (~Guest45@2001:8004:2728:3231:22e8:8df9:c65:5ea)
06:10:45 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
06:10:51 <euouae> I was just curious if there's some insight of Haskell types with regards to that functor and the Yoneda lemma
06:11:22 <Gurkenglas> Ah, I suppose I am just arguing about definitions if you're aware of the situations.
06:11:40 qbt joins (~edun@user/edun)
06:12:02 <euouae> I know a little bit about it from the math side
06:12:10 <euouae> But I know little about Haskell and its formalizaiton
06:12:26 <Gurkenglas> Might be good to note that Hask is technically not a category, though that's a statement for party poopers and it's so-called morally correct to pretend
06:12:48 <euouae> I've heard of that too. Something about System-F or such maybe system-w it was
06:13:06 <euouae> Yeah it's two steps from being a category, you need some system and then you need to adjoint something to it
06:13:29 Obo joins (~roberto@70.pool90-171-81.dynamic.orange.es)
06:13:31 <euouae> Probably not worthwhile talking about without me getting deeper into it... if ever
06:13:36 × Obo quits (~roberto@70.pool90-171-81.dynamic.orange.es) (Client Quit)
06:13:46 lavaman joins (~lavaman@98.38.249.169)
06:14:03 <Gurkenglas> https://hackage.haskell.org/package/kan-extensions-5.2.3/docs/Data-Functor-Yoneda.html reifies (is that the word?) the yoneda lemma
06:15:32 <euouae> Looks like there's a nice informative blog post linked there, thanks
06:16:51 <Gurkenglas> Is there a language that goes above and beyond in its type inference, such as by inferring from "a + b + c" that + must be associative and adding that as a theorem that needs to be proven by the compiler?
06:17:42 × euouae quits (~euouae@user/euouae) (Quit: thank you, off to lunch)
06:19:22 <Gurkenglas> Or perhaps, given a % b § c it might infer that out of the two ways to add parentheses, each that compiles must come out the same way
06:20:41 <c_wraith> that seems like a level of inference not supported by standard conventions. a + b * c is usually expected to parse only one way
06:21:05 curiousgay joins (~curiousga@77-120-186-48.kha.volia.net)
06:21:18 <Gurkenglas> then i suppose i am asking for a language above and beyond the standard conventions >:P
06:21:27 <c_wraith> I suppose you could say that it only applies to pairs of operators that don't have a precedence specified
06:22:03 <c_wraith> make a partial order out of precedences.
06:22:06 <hsek[m]> Is there a way to unset a tool with `ghcup`? For times I don't want it to be present in path at all.
06:22:13 <Gurkenglas> yeah, of course you can add a theorem that the one way to place parantheses compiles, and a command that the other doesn't.
06:22:26 <c_wraith> hsek[m]: see if "ghcup tui" makes sense to you
06:22:44 <c_wraith> hsek[m]: unless you mean one specific tool, rather than a whole distribution. I don't think it handles that
06:23:15 <Gurkenglas> even a language that only goes to the "infer associativity theorem to prove" level would be neat if you know one :)
06:23:38 <hsek[m]> c_wraith: Yeah there seems to only be a set option, same with the CLI. :(
06:24:34 Akronymus joins (~Akronymus@85.31.8.181)
06:24:52 <c_wraith> Gurkenglas: Haskell is almost there. Just change the default fixity to infix rather than infixl
06:25:13 <c_wraith> Gurkenglas: well. it won't force you to prove anything, but it'll reject the code!
06:25:32 <Gurkenglas> force me to prove? it should try on its own, first.
06:25:59 Obo joins (~roberto@70.pool90-171-81.dynamic.orange.es)
06:26:33 <Gurkenglas> (and then if it can't the error should be worded as a difficulty with a "uh help me compile this pls", unless it can disprove the theorem)
06:26:37 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
06:26:47 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
06:26:54 lavaman joins (~lavaman@98.38.249.169)
06:26:59 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
06:27:27 <Gurkenglas> here's some insane musing i did in an imagined language https://gist.github.com/Gurkenglas/9f02cfeba04b35e178753ae4663349ef a$b % c is sugar for (a $ b) % c
06:28:24 × ham quits (~ham4@user/ham) (Ping timeout: 256 seconds)
06:28:39 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
06:29:58 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 272 seconds)
06:30:32 <Gurkenglas> or i should say, for any operation %, a%b is sugar for (a % b)
06:31:13 <edwardk> Gurkenglas: http://comonad.com/haskell/Category.k is from an old toy language of mine
06:31:18 Lord_of_Life_ is now known as Lord_of_Life
06:31:39 × zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 258 seconds)
06:31:52 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
06:32:14 Gurkenglas starstruck
06:32:15 <edwardk> the key there was that types were purely for code reuse
06:32:54 <Gurkenglas> Did your work at miri produce any language innovations?
06:33:50 <edwardk> when i get some more time, now that i'm at groq, and miri has mostly greenlit me to open up things i think aren't infohazard-ish, i'll see what i can put in the public space. there's still a fair bit of coda i'd like to do.
06:34:05 <edwardk> and i want to get that stuff and my LF work out there.
06:34:09 × pe200012 quits (~pe200012@113.105.10.33) (Ping timeout: 248 seconds)
06:34:24 pe200012 joins (~pe200012@218.107.49.28)
06:34:46 × MorrowM quits (~Morrow@176.12.187.199) (Read error: Connection reset by peer)
06:34:53 lortabac joins (~lortabac@2a01:e0a:541:b8f0:3fc0:c335:9234:c2e2)
06:35:05 MorrowM joins (~Morrow@176.12.187.199)
06:35:35 <edwardk> to read the code above basically it uses a sort of 'additive' adjective system, where adjectives can add traits to a noun contextually. and in the end ties the knot on the definition based on the fixed point of all the stuff you inherit through this strictly positive process
06:36:00 <edwardk> but this was from like 12-13 years ago when i was just learning haskell
06:36:38 ham joins (~ham4@user/ham)
06:37:20 <Gurkenglas> Have you benefited from any NLP-based tools yet, such as for alerting you of IRC conversations you may find interesting?
06:37:21 <edwardk> the other weird feature is 'grey boxing' which lets you define result records/products returned from functions field-by-field
06:38:10 <edwardk> did my descent into the middle of this one give you that impression?
06:39:49 <edwardk> my system there is pretty boring. i have rotating list of keywords i swap out every day or so to keep me from getting too annoyed at getting too many false positives too frequently for the same thing
06:40:05 <edwardk> and if i don't like what it pops up i prune the list pretty aggressively
06:40:59 <Gurkenglas> It's a simple-enough sounding tool I would want that it seemed like an easy sell, and one I hoped the top researchers had.
06:41:35 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
06:41:43 <Gurkenglas> A step further would be telling GPT to summarize IRC logs.
06:42:05 <edwardk> good language models are stupid expensive to train, and need lots of good source data, while old style NLP is stupidly bad at its job.
06:42:49 <Gurkenglas> Modern language models are good across many tasks, though!
06:43:08 <Gurkenglas> Surely all of miri had GPT-3 access handed to them on a silver platter...
06:44:50 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
06:45:01 <edwardk> I hate to disillusion you, but I mostly played around with it through early AI Dungeon dragon model access myself. =P
06:45:59 <edwardk> that said, it did produce some pretty funny fake eliezer dialogues.
06:46:03 <Gurkenglas> A simple alert implementation would finetune an LM to predict #haskell logs and alert you when it predicts a sufficient probability that you reply.
06:46:17 <edwardk> yeah that's how i'd do it myself
06:46:47 <edwardk> of course, then it'd mostly just learn my existing keyword rotation ;)
06:47:26 <edwardk> and er.. quite how seasonal the rotation of ideas i care about is
06:47:53 <Gurkenglas> Do you have a log of your keyword rotation? You could insert the alert events into the log, and alert you when it predicts that you replied but weren't alerted by the keyword system.
06:48:24 <edwardk> if i had any foresight when writing the little perl script that would totally have been a great idea
06:48:31 × shriekingnoise quits (~shrieking@186.137.144.80) (Quit: Quit)
06:48:44 <Gurkenglas> May I take this moment to suggest that you log your daily internal monologue if this does not significantly reduce your productivity.
06:48:51 <Gurkenglas> Like, all the time. Maybe just install a keylogger
06:49:00 <Gurkenglas> Then 2 years from now, tell GPT-5 to tell you what you missed.
06:49:22 <edwardk> so many passwords getting fed to gpt-5 ;)
06:49:45 <Gurkenglas> In 1.9 years, tell your local GPT-3 instance to scrub passwords.
06:50:33 <Gurkenglas> The password problem has low enough probability of being unsolvable that the potential upside should be worth it!
06:52:04 lortabac_ joins (~lortabac@2a01:e0a:541:b8f0:38bf:81bf:24b:2c61)
06:52:12 <Gurkenglas> Do you still use a trivial development environment? Have you tried copilot?
06:52:31 <Gurkenglas> Copilot seems most useful when you're working in an unfamiliar language
06:54:07 <edwardk> i occasionally use TabNine and let it's kinda crappy language model and language server support comingle. i've yet to jump over to Copilot. i find though that the tabnine suggestions want to take up screen space i usually prefer to use to read my code, so i often toggle it off completely.
06:54:28 <Gurkenglas> (Or in a strong enough type system, I suppose - filtering a thousand completions for the shortest one that compiles must come in handy)
06:54:42 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
06:54:49 × shredder quits (~user@user/shredder) (Quit: quitting)
06:54:55 <edwardk> the filtering language model completions thing is _much_ nearer and dearer to my heart as an approximation of the right thing to do
06:55:39 <edwardk> i'd prefer something using a masked language model myself, and something more suited to haskell identation conventions, etc.
06:55:58 <edwardk> but i also don't want to spend several million dollars training a model today.
06:56:09 shredder joins (~user@user/shredder)
06:56:22 <edwardk> will wait until i can get groq chips to train language models ;)
06:56:34 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:3fc0:c335:9234:c2e2) (Ping timeout: 272 seconds)
06:56:37 <Gurkenglas> Indentation surely cant be a serious problem. Send the .hs through an isomorphism that strips the whitespace before you get completions
06:56:54 <edwardk> its more that copilot doesn't care enough about such things
06:57:28 <edwardk> and so taking an off the shelf language model leads to a mess. just doesn't have enough haskell under its belt, and you probably want a masked language model to work around hole driven development
06:57:38 dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be)
06:57:39 <edwardk> rather than a token stream model
06:57:41 <Gurkenglas> You should tell the copilot people, might starstrike them into adding support for isomorphisms and transpilers and such
06:58:38 <edwardk> right now i'm kind of annoyed that they basically didn't think anything about original code licensing, so i'm not terribly incentivized to help them rip off even longer parroted sections of my codebases.
06:58:50 <edwardk> even if my licenses were pretty damn permissive, they were there
06:59:40 <Gurkenglas> eh, some future timelines are bound and try to balance out the expected future compensation
06:59:53 <Gurkenglas> *bound to try and
07:00:08 <edwardk> well, here's hoping one of them acausally trades me a lottery ticket
07:00:44 × dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Client Quit)
07:00:52 <Gurkenglas> Do you expect switching from miri to groq to increase global expected utility?
07:03:48 <edwardk> That's a tough question. I still very much believe in MIRI and MIRI's mission. I just don't necessarily think that the best way for them to achieve that mission is to dump money into paying me to live in Berkeley and burn cash supporting my work and compute needs at this time, dollar for dollar.
07:04:01 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 248 seconds)
07:06:01 <edwardk> I started working with Groq explicitly to get access to a bunch of compute for MIRI of all things. When MIRI had a bit of a realization that they needed to realign their research program, I stepped down and just decided to switch to working for Groq full time, pushing a bit more of a focus on HPC workloads than ML, almost incidentally. Out of all the players in the TPU-ish space, the Groq chip is the closest thing to something suitable
07:06:01 <edwardk> for "my kind" of workloads rather than traditional ML or HPC. If I don't get directly involved then really none of them will be suitable. If I stay directly involved at least one vendor in this space might be producing a chip I can use.
07:06:19 <Gurkenglas> I sorta hoped that two MIRI-level people talking all day is much more than double lonely output :(
07:07:25 <edwardk> I kinda loved working with Nate, and James, and Max, and company. And when there was a lot more Haskell going on I definitely felt like I was offering a pretty good force multiplier to their existing research.
07:07:45 <Gurkenglas> Are FPGA-type chips not 80/20 on being fit for whatever you'd like to do 5 years from now?
07:07:57 <edwardk> Not even 1/100.
07:08:46 <edwardk> FPGAs are pretty cripplingly limited devices.
07:08:50 <Gurkenglas> Damn. How come? Surely not quantum stuff. What's the elementary operations or underlying properties you need?
07:09:10 <siraben> edwardk: codepilot on haskell is trash
07:09:10 <siraben> Doesn't even typecheck
07:09:11 <siraben> (IME)
07:09:21 <edwardk> not sure if you've looked at https://groq.com/wp-content/uploads/2020/06/ISCA-TSP.pdf
07:09:29 <siraben> we have semantic information like static types... why not use it like HLS does?
07:09:29 <siraben> Ugh.
07:09:37 <Gurkenglas> have not, didnt know you switched from miri to groq until this coversation
07:10:19 <Gurkenglas> siraben, given how little everyone seems to understand mlp architectures it'd have to wrap around that blackbox
07:10:25 <edwardk> i've pushed a couple of different ways to compile functional code for gpu-like architectures over the last few years. one of them rhymes with the SPMD-on-SIMD designs used by the intel SPMD program compiler. the chip is pretty much a SIMD unit on steroids.
07:10:52 <siraben> Gurkenglas: MLP?
07:11:02 <Gurkenglas> siraben, uhhhhh NLP
07:11:30 <edwardk> Gurkenglas: i'm still very much keeping my door open for MIRI. If they need help I'm more than happy to talk. I'm more than willing to fly out and help them run workshops and the like.
07:11:32 <siraben> Ah, heh
07:11:41 <edwardk> Gurkenglas: I just don't really feel like I need to take their money to do those things.
07:12:06 <siraben> Gurkenglas: not to mention the legal issues with codepilot, I would disallow usage of it in any team
07:12:38 <Gurkenglas> siraben, sounds troubling. Is it just because they didn't bother to ask?
07:12:40 × adam1 quits (~adam@2001-b011-4007-2236-a1a1-867b-8ec5-4452.dynamic-ip6.hinet.net) (Ping timeout: 258 seconds)
07:12:53 <edwardk> I don't get paid for the work I do for Topos, or for the Haskell Foundation either, so its more a sign of a gradual evolution of 'hey i'm working for you for cash' to 'hey i really believe in your cause' from my perspective.
07:12:56 <siraben> What sounds troubling?
07:13:14 <edwardk> and for now, i think the major thing i can do is carry on in this direction, which i can't really do from within the confines of MIRI
07:13:19 <siraben> I think it's troubling that codepilot is capable of spitting out GPL3 licensed code verbatim with no citation to be used against thel icense.
07:13:31 <siraben> GPLv3+*
07:14:07 <Gurkenglas> siraben, that copilot-type approaches might fizzle out from legal issues. I mean, I guess we don't *really* need to reduce the number of people needed to produce a big ml project without knowing how it works...
07:14:14 <edwardk> siraben: i would be much more sanguine about that if they hadn't gone through all the @*(#) trouble over the last few years of starting to tag each and every repo with exactly what license it was under, so its pretty damn obvious how to tag the training data.
07:15:01 <siraben> edwardk: and that they didn't train it on their own private codebases is uh, telling.
07:15:31 <Gurkenglas> if it's just verbatim copies you're worried about, that seems like they didnt need to do it on the ml layer, just include attribution with the completions when you do find it in the training set
07:15:33 <edwardk> Gurkenglas: it does admittedly exacerbate that machine learning models seem to be treated entirely as a way to launder human bias so it can all be blamed on an unknowable machine these days
07:16:24 <edwardk> Gurkenglas: thing is if i take your fancy image and run it through a lossy compression scheme its still your image. this isn't appreciably different than that.
07:16:31 <Gurkenglas> I doubt they're deliberately switching to ml so the bias is laundered. It'd look like this even if everyone just never thought about bias.
07:16:33 gehmehgeh joins (~user@user/gehmehgeh)
07:16:54 <Gurkenglas> edwardk, the same could be said about be learning haskell by reading your code
07:16:58 <edwardk> if they included the attributions of everything that contributed to a weight in a gigantic 4 petabyte acknowledgements file, i'd be okay with it
07:17:02 <Gurkenglas> s/be/me/
07:17:38 <Gurkenglas> you want me gravestone to include an attribution to you? :) ill see what i can do
07:17:49 <edwardk> =)
07:18:16 <edwardk> don't get me wrong, intellectual property issues are going to be a huge dumpster fire for the foreseeable future
07:18:39 <edwardk> copilot is an opening salvo in this war, one that takes a pretty extreme position
07:19:15 <edwardk> and frankly as someone who writes code it generally won't be me winning or losing the battles that shape this, it'll be the lawyers
07:19:27 <Gurkenglas> t'was always going to happen when everyone noticed that plagiarism doesn't mean much when humans are just patternmatchers will some compilation checking thrown in
07:20:08 <gehmehgeh> uhhh, what did I miss? I've just logged in
07:20:23 <siraben> gehmehgeh: codepilot BS
07:20:43 <siraben> I mentioned that it performs terribly on Haskell code
07:20:59 <edwardk> i'm not one for hard lines here. i do tend to believe though that if i copy a bunch of algorithms from someone else's code that i'll include them in the copyright of the files i produce, even if i don't legally have to, e.g. because i transliterated from python to haskell or what have you. you can find that across hundreds of repos of mine.
07:21:07 <Gurkenglas> gehmehgeh, my languages question summoned Big Edward, I derailed into an interview, be careful not to bore him away!
07:21:26 <Gurkenglas> not that i'm planning to write a press article ._.
07:22:00 <edwardk> its not boredom that will eventually drive me away but the fact that i have a long day at work tomorrow as i'm trying to frontload a bunch of stuff before i disappear for icfp
07:22:23 <siraben> anyone attending PLMW?
07:22:28 <gehmehgeh> hmm
07:24:07 <Gurkenglas> siraben, do you think that if we wrote a performant man in the middle for copilot packets that checks a github bloom filter for plagiarism and adds an attribution, that microsoft would use it?
07:24:26 acidjnk_new joins (~acidjnk@p200300d0c72b951794521116c489c693.dip0.t-ipconnect.de)
07:24:52 acidjnk_new3 joins (~acidjnk@p200300d0c72b9517f04572592712ff76.dip0.t-ipconnect.de)
07:25:08 <edwardk> I do wish PLMW was a thing when i went to my first ICFP. when i showed up then I had _no_ idea what a conference was for, or even really any sense of the structure of the whole publishing 'game' of academia. I was shockingly naive.
07:25:59 <edwardk> I mean, I never really did figure it all out. I just started writing down a bunch of code and looked up and it was 10 years later and I had grey hair.
07:27:32 lavaman joins (~lavaman@98.38.249.169)
07:27:33 <dibblego> ey mate
07:27:50 <Gurkenglas> ...better: do this performantly enough to do it on the copilot users machine, publish an extension, and let microsoft decide whether to bundle it, so that those who wish to can use copilot ethically.
07:28:07 vysn joins (~vysn@user/vysn)
07:28:16 <dibblego> oh copilot, lawyers v programmers
07:28:34 × jespada quits (~jespada@90.254.247.46) (Ping timeout: 240 seconds)
07:28:46 × acidjnk_new quits (~acidjnk@p200300d0c72b951794521116c489c693.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
07:29:20 <Gurkenglas> edwardk, do you think one should just ignore the academia game if one can just do math until one gets noticed anyway
07:29:25 <edwardk> Gurkenglas: i'd rather have the training data actually curated by licenses you're willing to accept into the codebase, then i can know i'm contamination free from sources i can't use. i rather deliberately don't read a lot of GPL code for instance.
07:29:44 <edwardk> Gurkenglas: worked for me. hasn't worked for a lot more people than me.
07:30:04 <Gurkenglas> Whoa. Okay, that does bite the humans-are-plagiarism bullet
07:30:20 <Taneb> I kind of feel like copilot is solving the wrong problem, or solving a right problem in the wrong place maybe. Writing code is (relatively) easy. Writing code that I trust is correct is a lot harder
07:30:30 <Gurkenglas> Do you also not read code that you expected to have ignored licenses?
07:31:03 <edwardk> Gurkenglas: to do legit reverse engineering you often need two teams. one to take the original and write a white paper describing it, and the others to read the white paper and reimplement. almost anything else will get you smashed in court.
07:31:05 lortabac_ is now known as lortabac
07:31:05 × jneira_ quits (~jneira_@28.red-80-28-169.staticip.rima-tde.net) (Quit: Connection closed)
07:31:06 ham2 joins (~ham4@d8d8627d5.access.telenet.be)
07:31:18 <edwardk> at least if it ever gets tested
07:31:25 jespada joins (~jespada@90.254.247.46)
07:31:58 <edwardk> lots of "Halt and Catch Fire" era stuff hinged on that kind of cleanliness. the world just got sloppy
07:32:00 <Gurkenglas> ...so what you would want from the mlp people is to turn github into a giant natural language book, and then turn the book into copilot?
07:32:09 <Gurkenglas> *nlp
07:32:10 × ham quits (~ham4@user/ham) (Ping timeout: 268 seconds)
07:32:40 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 272 seconds)
07:32:41 <edwardk> it'd be a lot closer to getting through our existing legal system. but i don't make the rules.
07:33:02 <dibblego> Sun/IBM used to do that for the JVM
07:34:13 <edwardk> exactly
07:34:25 <Gurkenglas> So you'd still not see that as ethical, huh. i wonder if there's some blockchain system that could solve the intellectual property problem.
07:34:55 <edwardk> ooh, now you can burn down the rainforest AND get a bunch of lawyers sucked into an intellectual property fight ;)
07:35:27 <Gurkenglas> 1. incentivize everyone to tell the blockchain whenever they're running some piece of code on any hardware
07:35:46 <Gurkenglas> 2. reward people for correctly predicting code that will be run later
07:35:54 <edwardk> definitely doing humanity's job as an approximate entropy accelerator there. ;)
07:36:12 <Gurkenglas> now when you invent code you register the prediction what sort of code will see use, then publish it
07:36:31 <Gurkenglas> blockchain doesnt have to burn rainforest, there's the likes of proof of stake
07:37:12 <edwardk> i lost enough money on proof of stake over the last year that while i'm still a true believer in it, i acknowledge that the entire sector is driven on sentiment and not fundamentals.
07:37:32 <siraben> edwardk: sorry to hear
07:37:56 <Gurkenglas> surely you saw coming that the investment is risky, and didn't update on 3 bits of evidence as though they are 20?
07:38:01 <siraben> I worked on smart contracts in the past but my opinion of the field has been mixed as of late
07:38:24 <siraben> we know the technical problems that need to be solved but the public sees dogecoin
07:38:34 <siraben> so funding goes to the wrong arras
07:38:36 <siraben> areas
07:38:38 <edwardk> spent two days consulting with IOHK to improve the performance of plutus core on cardano ~70%, which should be something like what, 30% reduction in the total gas costs for something like $50b worth of market cap? you'd think if that was reliably able to be converted into fundamentals it'd make difference. not a blip.
07:38:39 adam1 joins (~adam@2001-b011-4007-2430-d4a7-02f1-3c93-e4d4.dynamic-ip6.hinet.net)
07:39:00 <edwardk> Gurkenglas: i remain invested
07:39:22 <Gurkenglas> I'm hopeful that some blockchain design might incentivize the world to become the sort of world that can execute a 51% attack on a blockchain, and therefore might also be able to cooperate on more important issues
07:39:36 <Gurkenglas> Like the Watchmen plot, except you don't need to burn any capital
07:39:40 <edwardk> hah
07:40:02 <gehmehgeh> Gurkenglas: but it's only going to be the obscenely rich owning almost everything, so we'd still be stuck with an oligarchy
07:40:49 dibblego back to study with a slide rule
07:41:01 <gehmehgeh> Gurkenglas: That is, people with different interests than the broader public
07:41:05 <gehmehgeh> but nvm, sorry to bore you ;)
07:41:07 dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be)
07:41:26 <Gurkenglas> im interested to discuss, edward has to go anyway he said
07:41:49 <Gurkenglas> but i suppose we must take it out of #haskell :/
07:42:00 <Gurkenglas> --> #haskell-offtopic
07:42:16 <edwardk> Gurkenglas: i don't hate on blockchain as a technology base. proof of stake, single party advancement chains that use it as a cryptographic historical transaction log (digital asset), etc. all build on that basic technology stack and aren't overtly 'evil', but the whole sector relies too much on some kind of technopriest illuminati and has no ability to handle nuance. its way too far for an efficient market for me to be happy with it
07:42:48 <edwardk> lets move to #haskell-offtopic, yes
07:42:58 chris joins (~chris@81.96.113.213)
07:43:01 chris is now known as Guest9072
07:44:29 × bbhoss quits (sid18216@tinside.irccloud.com) (Ping timeout: 258 seconds)
07:44:42 × kristjansson_ quits (sid126207@tinside.irccloud.com) (Ping timeout: 240 seconds)
07:44:42 × xff0x quits (~xff0x@2001:1a81:53b6:2a00:9ab0:6dc8:ce66:af3c) (Ping timeout: 272 seconds)
07:44:56 bbhoss joins (sid18216@id-18216.tinside.irccloud.com)
07:44:58 × jmct_ quits (sid160793@tinside.irccloud.com) (Ping timeout: 240 seconds)
07:45:09 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:45:40 jmct_ joins (sid160793@id-160793.tinside.irccloud.com)
07:46:01 xff0x joins (~xff0x@2001:1a81:53d2:1c00:3b45:e81a:a20c:e310)
07:47:10 kristjansson_ joins (sid126207@id-126207.tinside.irccloud.com)
07:53:53 × Obo quits (~roberto@70.pool90-171-81.dynamic.orange.es) (Quit: WeeChat 2.8)
07:58:15 Obo joins (~roberto@70.pool90-171-81.dynamic.orange.es)
07:59:26 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
08:00:24 lavaman joins (~lavaman@98.38.249.169)
08:00:29 Boomerang joins (~Boomerang@xd520f68c.cust.hiper.dk)
08:04:57 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
08:05:27 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
08:05:29 hendursa1 joins (~weechat@user/hendursaga)
08:05:50 nf__ is now known as nf
08:07:19 × bairyn quits (~bairyn@mail.digitalkingdom.org) (Ping timeout: 268 seconds)
08:07:46 <Cajun> -+
08:08:03 <Cajun> i hate the numpad sometimes :P
08:08:23 <Akronymus> I can't do without one.
08:08:33 × hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 244 seconds)
08:08:50 <Cajun> same, but its annoying when i go to grab the mouse and hit either 0. or -+ then hit enter like i just did lol
08:10:05 <Akronymus> Or when the pc boots up with numpad disabled so you type in your password that includes numbers but because the numpad is disabled it doesn't put them in so you misstype the PW too often then you need to get a PW reset and its annoying.
08:11:06 <Cajun> it sometimes takes me 1/2 times to realize the numlock is off and my cursor is going crazy lol
08:11:19 <Cajun> well text cursor thingy, whatever its called
08:11:52 <MorrowM> Akronymus: At least with a PIN you don't need numlock, on Windows 10
08:12:11 <Akronymus> You don't
08:12:13 <Akronymus> ?
08:12:24 <Cajun> pin specifically, not password
08:12:29 <MorrowM> ^
08:12:32 <Akronymus> Huh.
08:12:38 <Akronymus> Gotta try that out at home.
08:13:08 <Cajun> pins are numbers only though, so unless you convert it perfectly into leet youre going to need a new pw :P
08:13:14 × oldsk00l quits (~oldsk00l@ec2-3-127-148-248.eu-central-1.compute.amazonaws.com) (Ping timeout: 258 seconds)
08:13:54 ByronJohnson joins (~bairyn@mail.digitalkingdom.org)
08:13:55 oldsk00l joins (~znc@ec2-3-127-148-248.eu-central-1.compute.amazonaws.com)
08:14:25 <Akronymus> I already use a pin at home.
08:14:34 <Akronymus> Just at work atm.
08:14:46 <Akronymus> Where I am most definitely doing work.
08:17:24 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
08:17:37 geekosaur joins (~geekosaur@xmonad/geekosaur)
08:20:04 × ecameron[m] quits (~ecameronm@2001:470:69fc:105::35df) (Quit: You have been idle for 30+ days)
08:23:41 Morrow_ joins (~Morrow@176.12.187.199)
08:24:34 × MorrowM quits (~Morrow@176.12.187.199) (Ping timeout: 268 seconds)
08:27:52 eight joins (~eight@user/eight)
08:38:37 mousey joins (~skymouse@gateway/tor-sasl/mousey)
08:42:18 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
08:43:02 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
08:49:39 enoq joins (~enoq@194-208-179-35.lampert.tv)
08:52:17 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds)
08:54:01 × mousey quits (~skymouse@gateway/tor-sasl/mousey) (Ping timeout: 244 seconds)
08:58:34 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 256 seconds)
09:08:08 × juhp quits (~juhp@128.106.188.220) (Quit: juhp)
09:08:23 juhp joins (~juhp@128.106.188.220)
09:12:14 jgeerds joins (~jgeerds@55d45555.access.ecotel.net)
09:12:33 × hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
09:15:38 trcc joins (~trcc@2-104-60-169-cable.dk.customer.tdc.net)
09:24:04 × adam1 quits (~adam@2001-b011-4007-2430-d4a7-02f1-3c93-e4d4.dynamic-ip6.hinet.net) (Ping timeout: 256 seconds)
09:24:41 yoctocell joins (~user@h87-96-130-155.cust.a3fiber.se)
09:33:00 hexagoxe- joins (~hexagoxel@hexagoxel.de)
09:33:04 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:38bf:81bf:24b:2c61) (Quit: WeeChat 2.8)
09:33:43 hexagoxe- is now known as hexagoxel
09:36:01 × Morrow_ quits (~Morrow@176.12.187.199) (Ping timeout: 248 seconds)
09:36:32 × Erutuon quits (~Erutuon@user/erutuon) (Quit: WeeChat 2.8)
09:36:45 Erutuon joins (~Erutuon@user/erutuon)
09:41:12 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
09:41:40 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 268 seconds)
09:42:04 × Guest45 quits (~Guest45@2001:8004:2728:3231:22e8:8df9:c65:5ea) (Ping timeout: 246 seconds)
10:00:24 × fm quits (~fm@user/fm) (Quit: fm)
10:00:41 viluon joins (uid453725@id-453725.brockwell.irccloud.com)
10:02:01 <viluon> hi, is it possible to change the path which ghcup uses from `~/.ghcup` to something else?
10:02:16 <maerwald[m]> yes
10:02:30 <maerwald[m]> GHCUP_INSTALL_BASE_PREFIX env var... default is $HOME
10:02:37 eight parts (~eight@user/eight) ()
10:02:48 <maerwald[m]> there's also GHCUP_USE_XDG_DIRS but I don't recommend it
10:03:32 <viluon> I see, thanks
10:07:00 <maerwald[m]> viluon: what's the use case?
10:07:23 <viluon> 20 GB drive mounted as /, 1 TB drive mounted elsewhere
10:07:50 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
10:07:54 <maerwald[m]> ah... you also might want to set TMPDIR to something else then, at least for ghcup
10:08:03 <viluon> what does that default to?
10:08:06 <maerwald[m]> it unpacks stuff there for installation
10:08:08 <maerwald[m]> /tmp
10:08:41 <viluon> thanks
10:08:49 <maerwald[m]> TMPDIR is specified by posix, so other apps should use it too
10:09:21 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:09:25 <viluon> aw, ghcup doesn't clean up after itself in TMPDIR
10:09:58 <maerwald[m]> it does usually
10:10:03 <maerwald[m]> unless there is failure
10:10:35 <maerwald[m]> otherwise it's a bug
10:11:00 <viluon> ah, there may have been a failure, now that I think of it
10:11:30 <maerwald[m]> `ghcup --keep=never ...` will always delete
10:11:40 <maerwald[m]> you can create a bash alias
10:11:43 burnsidesLlama joins (~burnsides@dhcp168-020.wadham.ox.ac.uk)
10:12:10 × Akronymus quits (~Akronymus@85.31.8.181) (Ping timeout: 246 seconds)
10:13:56 Morrow_ joins (~Morrow@176.12.187.199)
10:14:48 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
10:15:23 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:16:10 chomwitt joins (~chomwitt@2a02:587:dc02:6400:12c3:7bff:fe6d:d374)
10:21:08 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
10:21:16 × chomwitt quits (~chomwitt@2a02:587:dc02:6400:12c3:7bff:fe6d:d374) (Ping timeout: 258 seconds)
10:21:19 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:22:13 cfricke joins (~cfricke@user/cfricke)
10:22:25 × acidjnk_new3 quits (~acidjnk@p200300d0c72b9517f04572592712ff76.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
10:22:37 MorrowM joins (~Morrow@147.161.13.225)
10:24:09 tungki joins (~tngk@subs20-114-142-172-49.three.co.id)
10:24:22 spirit_ joins (~spirit@182.65.107.252)
10:24:43 × Morrow_ quits (~Morrow@176.12.187.199) (Read error: Connection reset by peer)
10:26:50 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
10:26:55 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
10:27:28 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:27:34 Akronymus joins (~Akronymus@85.31.8.181)
10:31:02 Morrow_ joins (~Morrow@147.161.13.225)
10:31:31 shriekingnoise joins (~shrieking@186.137.144.80)
10:31:37 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
10:33:11 <viluon> maerwald[m]: would you happen to know how to change the Cabal path as well (it defaults to `~/.cabal`)?
10:33:55 <maerwald[m]> viluon: CABAL_DIR
10:34:03 <viluon> thank you!
10:34:04 jesser[m] joins (~jessermat@2001:470:69fc:105::d5ae)
10:34:26 × MorrowM quits (~Morrow@147.161.13.225) (Ping timeout: 272 seconds)
10:34:26 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 272 seconds)
10:35:12 × jgeerds quits (~jgeerds@55d45555.access.ecotel.net) (Remote host closed the connection)
10:36:22 anononon joins (~anononon@user-5-173-148-81.play-internet.pl)
10:37:12 × shailangsa quits (~shailangs@host86-185-58-139.range86-185.btcentralplus.com) (Ping timeout: 245 seconds)
10:38:14 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
10:38:36 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
10:39:11 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:41:20 geekosaur joins (~geekosaur@xmonad/geekosaur)
10:47:38 × tungki quits (~tngk@subs20-114-142-172-49.three.co.id) (Ping timeout: 268 seconds)
10:49:31 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
10:52:23 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
10:52:44 × Morrow_ quits (~Morrow@147.161.13.225) (Ping timeout: 272 seconds)
10:58:25 notzmv joins (~zmv@user/notzmv)
11:00:28 lavaman joins (~lavaman@98.38.249.169)
11:01:04 × burnsidesLlama quits (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Remote host closed the connection)
11:04:28 nshepper1 is now known as nshepperd
11:04:50 × Obo quits (~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 272 seconds)
11:04:58 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 258 seconds)
11:06:11 <merijn> Anyone know if there's a way (with ansi-wl-pprint) to detect if a Doc is empty?
11:07:46 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
11:10:33 lortabac joins (~lortabac@2a01:e0a:541:b8f0:295c:2a1b:92fa:2044)
11:18:25 × anononon quits (~anononon@user-5-173-148-81.play-internet.pl) (Ping timeout: 248 seconds)
11:19:14 × spirit_ quits (~spirit@182.65.107.252) (Quit: Konversation terminated!)
11:22:53 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
11:25:14 tungki joins (~tngk@subs20-114-142-172-49.three.co.id)
11:27:06 × bontaq quits (~user@ool-18e47f8d.dyn.optonline.net) (Remote host closed the connection)
11:27:23 × tungki quits (~tngk@subs20-114-142-172-49.three.co.id) (Read error: Connection reset by peer)
11:27:26 bontaq joins (~user@ool-18e47f8d.dyn.optonline.net)
11:27:38 shailangsa joins (~shailangs@host86-185-58-139.range86-185.btcentralplus.com)
11:27:43 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
11:29:34 tungki joins (~tngk@subs31-116-206-15-25.three.co.id)
11:33:11 burnsidesLlama joins (~burnsides@dhcp168-020.wadham.ox.ac.uk)
11:35:45 × burnsidesLlama quits (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Read error: Connection reset by peer)
11:36:09 burnsidesLlama joins (~burnsides@dhcp168-020.wadham.ox.ac.uk)
11:37:52 Adam1 joins (~Adam1@27-53-105-227.adsl.fetnet.net)
11:40:24 × timCF quits (~timCF@200-149-20-81.sta.estpak.ee) (Quit: leaving)
11:41:08 amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
11:42:48 tcard_ joins (~tcard@p2307053-ipngn17101hodogaya.kanagawa.ocn.ne.jp)
11:44:39 spoonm joins (spoonm@inaba.spoonm.org)
11:44:49 ridcully_ joins (~ridcully@p508ac428.dip0.t-ipconnect.de)
11:45:25 forell_ joins (~forell@host-178-216-90-220.sta.tvknaszapraca.pl)
11:45:32 terrorjack4 joins (~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com)
11:46:43 mjrosenb_ joins (~mrosenbe@nyc.schrodinger.com)
11:46:54 PinealGl1ndOptic joins (~PinealGla@37.115.210.35)
11:46:55 hrdl_ joins (~hrdl@mail.hrdl.eu)
11:47:00 EvanR_ joins (~evan@mail.evanr.info)
11:47:05 mikolaj__ joins (~mikon@duch.mimuw.edu.pl)
11:47:12 jackhill_ joins (~jackhill@kalessin.dragonsnail.net)
11:47:23 tchakka_ joins (~tchakkazu@static-47-180-28-65.lsan.ca.frontiernet.net)
11:47:25 Rembane_ joins (~Rembane@li346-36.members.linode.com)
11:47:26 micro joins (~micro@user/micro)
11:47:29 justsome1 joins (~justsomeg@user/justsomeguy)
11:47:51 Patternm1ster joins (~georg@li1192-118.members.linode.com)
11:48:18 falsifia1 joins (~falsifian@exoco.falsifian.org)
11:48:22 lep- joins (~lep@94.31.86.183)
11:48:23 srk_ joins (~sorki@user/srk)
11:49:12 adium_ joins (adium@user/adium)
11:50:20 cwraith joins (~c_wraith@adjoint.us)
11:50:31 <maerwald[m]> is there a yaml parser that's able to preserve comments, alignment etc?
11:50:37 × terrorjack4 quits (~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com) (Quit: The Lounge - https://thelounge.chat)
11:51:03 <merijn> ahahaha
11:51:15 <maerwald[m]> :)
11:51:18 <merijn> I don't think there's even a parser who can correctly parse all of that in yaml
11:51:22 <merijn> Let alone preserve it
11:51:47 terrorjack7 joins (~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com)
11:51:49 <merijn> maerwald[m]: Despair: https://matrix.yaml.io/
11:51:52 × burnsidesLlama quits (~burnsides@dhcp168-020.wadham.ox.ac.uk) (*.net *.split)
11:51:52 × tungki quits (~tngk@subs31-116-206-15-25.three.co.id) (*.net *.split)
11:51:53 × phma quits (~phma@host-67-44-208-154.hnremote.net) (*.net *.split)
11:51:53 × AlexNoo quits (~AlexNoo@178.34.162.152) (*.net *.split)
11:51:53 × jophish quits (~jophish@2001:470:69fc:105::670) (*.net *.split)
11:51:53 × smichel17[m] quits (~smichel17@2001:470:69fc:105::2d32) (*.net *.split)
11:51:53 × Teohehim[m] quits (~teocmatri@2001:470:69fc:105::d327) (*.net *.split)
11:51:54 × ru0mad[m] quits (~ru0madmat@2001:470:69fc:105::9b2) (*.net *.split)
11:51:54 × dualinverter[m] quits (~dualinver@2001:470:69fc:105::16a7) (*.net *.split)
11:51:54 × Magnus[m] quits (~magthetch@2001:470:69fc:105::d1a7) (*.net *.split)
11:51:54 × cdsmith quits (~cdsmithma@2001:470:69fc:105::284) (*.net *.split)
11:51:54 × Deewiant quits (~deewiant@2001:470:69fc:105::2fd3) (*.net *.split)
11:51:54 × fabfianda[m] quits (~fabfianda@2001:470:69fc:105::6db) (*.net *.split)
11:51:54 × sa quits (sid1055@id-1055.tinside.irccloud.com) (*.net *.split)
11:51:54 × blades quits (~blades@204.48.29.163) (*.net *.split)
11:51:54 × fr33domlover quits (~fr33domlo@angeley.es) (*.net *.split)
11:51:54 × thaumavorio quits (~thaumavor@thaumavor.io) (*.net *.split)
11:51:54 × adamCS quits (~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com) (*.net *.split)
11:51:54 × noctux quits (~noctux@user/noctux) (*.net *.split)
11:51:54 × xsarnik quits (xsarnik@lounge.fi.muni.cz) (*.net *.split)
11:51:55 × asm quits (~alexander@user/asm) (*.net *.split)
11:51:55 × danso quits (~danso@23-233-111-52.cpe.pppoe.ca) (*.net *.split)
11:51:55 × slep quits (~slep@cpc150002-brnt4-2-0-cust437.4-2.cable.virginm.net) (*.net *.split)
11:51:55 × mht quits (~mht@2a03:b0c0:3:e0::1e2:c001) (*.net *.split)
11:51:55 × cohn_ quits (~noone@23.239.18.252) (*.net *.split)
11:51:55 × int-e quits (~noone@int-e.eu) (*.net *.split)
11:51:55 × skewerr quits (spoonm@inaba.spoonm.org) (*.net *.split)
11:51:55 × jackhill quits (~jackhill@kalessin.dragonsnail.net) (*.net *.split)
11:51:55 × MidAutumnHotaru quits (~MidAutumn@user/midautumnmoon) (*.net *.split)
11:51:55 × jess quits (~jess@libera/staff/jess) (*.net *.split)
11:51:55 × jakalx quits (~jakalx@base.jakalx.net) (*.net *.split)
11:51:55 × Nahra quits (~user@static.161.95.99.88.clients.your-server.de) (*.net *.split)
11:51:55 × amir quits (sid22336@user/amir) (*.net *.split)
11:51:55 × dmj` quits (sid72307@id-72307.stonehaven.irccloud.com) (*.net *.split)
11:51:55 × joel135 quits (sid136450@id-136450.stonehaven.irccloud.com) (*.net *.split)
11:51:55 × SanchayanMaity quits (sid478177@id-478177.stonehaven.irccloud.com) (*.net *.split)
11:51:55 × Patternmaster quits (~georg@li1192-118.members.linode.com) (*.net *.split)
11:51:55 × euandreh quits (~euandreh@2804:14c:33:9fe5:9814:dfa2:8237:3c5c) (*.net *.split)
11:51:55 × hugo quits (znc@verdigris.lysator.liu.se) (*.net *.split)
11:51:55 × dsal quits (sid13060@id-13060.tooting.irccloud.com) (*.net *.split)
11:51:55 × johnw quits (~johnw@2607:f6f0:3004:1:c8b4:50ff:fef8:6bf0) (*.net *.split)
11:51:55 × ephemient quits (uid407513@id-407513.tooting.irccloud.com) (*.net *.split)
11:51:55 × gmc quits (sid58314@id-58314.charlton.irccloud.com) (*.net *.split)
11:51:55 × gonz__ quits (sid304396@id-304396.tooting.irccloud.com) (*.net *.split)
11:51:55 × S11001001 quits (sid42510@id-42510.charlton.irccloud.com) (*.net *.split)
11:51:55 × iphy quits (sid67735@id-67735.tooting.irccloud.com) (*.net *.split)
11:51:55 × hrnz quits (~ulli@irc.plumbing) (*.net *.split)
11:51:55 × dfg quits (dfg@user/dfg) (*.net *.split)
11:51:55 × xnbya quits (~xnbya@2a01:4f8:c17:cbdd::1) (*.net *.split)
11:51:55 × nurupo quits (~nurupo.ga@user/nurupo) (*.net *.split)
11:51:55 × _-- quits (~ding@2001:19f0:5:14c2:5400:2ff:fee0:a42c) (*.net *.split)
11:51:55 × Adran quits (adran@botters/adran) (*.net *.split)
11:51:55 × xacktm quits (xacktm@user/xacktm) (*.net *.split)
11:51:55 × even4void quits (even4void@came.here.for-some.fun) (*.net *.split)
11:51:56 × haykam quits (~haykam@static.100.2.21.65.clients.your-server.de) (*.net *.split)
11:51:56 × typedfern__ quits (~Typedfern@28.red-83-57-142.dynamicip.rima-tde.net) (*.net *.split)
11:51:56 × justsomeguy quits (~justsomeg@user/justsomeguy) (*.net *.split)
11:51:56 × lechner quits (~lechner@debian/lechner) (*.net *.split)
11:51:56 × berberman_ quits (~berberman@user/berberman) (*.net *.split)
11:51:56 × Katarushisu quits (~Katarushi@cpc147334-finc20-2-0-cust27.4-2.cable.virginm.net) (*.net *.split)
11:51:56 × leah2 quits (~leah@vuxu.org) (*.net *.split)
11:51:56 × unclechu quits (~unclechu@2001:470:69fc:105::354) (*.net *.split)
11:51:56 × ac quits (~aloiscoch@2001:470:69fc:105::65) (*.net *.split)
11:51:56 × aveltras[m] quits (~aveltrasm@2001:470:69fc:105::3ef9) (*.net *.split)
11:51:56 × infinisil quits (~infinisil@2001:470:69fc:105::ff8) (*.net *.split)
11:51:57 × wallymathieu[m] quits (~wallymath@2001:470:69fc:105::16ae) (*.net *.split)
11:51:57 × vbeatrice[m] quits (~vbeatrice@2001:470:69fc:105::3ebf) (*.net *.split)
11:51:57 × adziahel[m] quits (~adziahelm@2001:470:69fc:105::b4d) (*.net *.split)
11:51:57 × bitonic quits (~bitonic@2001:470:69fc:105::1812) (*.net *.split)
11:51:57 × ringo_ quits (~ringo@157.230.117.128) (*.net *.split)
11:51:57 × tcard quits (~tcard@p2307053-ipngn17101hodogaya.kanagawa.ocn.ne.jp) (*.net *.split)
11:51:57 × PinealGlandOptic quits (~PinealGla@37.115.210.35) (*.net *.split)
11:51:57 × stefan-_ quits (~cri@42dots.de) (*.net *.split)
11:51:57 × Igfoo quits (~ian@matrix.chaos.earth.li) (*.net *.split)
11:51:57 × hook54321 quits (sid149355@user/hook54321) (*.net *.split)
11:51:57 × mrianbloom quits (sid350277@id-350277.charlton.irccloud.com) (*.net *.split)
11:51:57 × emergence quits (~emergence@vm0.max-p.me) (*.net *.split)
11:51:57 × opqdonut quits (opqdonut@pseudo.fixme.fi) (*.net *.split)
11:51:57 × integral quits (sid296274@user/integral) (*.net *.split)
11:51:57 × feepo quits (sid28508@id-28508.brockwell.irccloud.com) (*.net *.split)
11:51:57 × edwardk quits (sid47016@haskell/developer/edwardk) (*.net *.split)
11:51:57 × idnar quits (sid12240@debian/mithrandi) (*.net *.split)
11:51:57 × enemeth79 quits (sid309041@id-309041.tooting.irccloud.com) (*.net *.split)
11:51:57 × tnks quits (sid412124@id-412124.brockwell.irccloud.com) (*.net *.split)
11:51:57 × obviyus quits (sid415299@user/obviyus) (*.net *.split)
11:51:57 × m1dnight quits (~christoph@188.ip-51-91-158.eu) (*.net *.split)
11:51:58 × grfn quits (sid449115@id-449115.brockwell.irccloud.com) (*.net *.split)
11:51:58 × lightandlight quits (sid135476@id-135476.brockwell.irccloud.com) (*.net *.split)
11:51:58 × img quits (~img@user/img) (*.net *.split)
11:51:58 × dagit quits (~dagit@2001:558:6025:38:6476:a063:d05a:44da) (*.net *.split)
11:51:58 × dyniec quits (~dyniec@mail.dybiec.info) (*.net *.split)
11:51:58 × Ananta-shesha quits (~pjetcetal@2.95.210.188) (*.net *.split)
11:51:58 × dispater quits (~dispater@user/brprice) (*.net *.split)
11:51:58 × vemek quits (~vemek@2a03:b0c0:2:d0::d98:1) (*.net *.split)
11:51:58 × cocreature quits (~moritz@2a03:b0c0:3:d0::c8:f001) (*.net *.split)
11:51:58 × Xnuk quits (~xnuk@vultr.xnu.kr) (*.net *.split)
11:51:58 × thonkpod quits (~thonkpod@user/thonkpod) (*.net *.split)
11:51:58 × amk quits (~amk@176.61.106.150) (*.net *.split)
11:51:58 × martin02 quits (silas@hund.fs.lmu.de) (*.net *.split)
11:51:58 × bsima quits (~bsima@simatime.com) (*.net *.split)
11:51:58 × loonycyborg quits (~loonycybo@wesnoth/developer/loonycyborg) (*.net *.split)
11:51:58 × geekosaur quits (~geekosaur@xmonad/geekosaur) (*.net *.split)
11:51:58 × markpythonicbitc quits (~markpytho@2601:647:5a00:35:9c61:394:eb0f:e1ed) (*.net *.split)
11:51:58 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (*.net *.split)
11:51:58 × jkachmar quits (~jkachmar@2001:470:69fc:105::c72d) (*.net *.split)
11:51:59 × afotgkmnzj7asv3r quits (~afotgkmnz@2001:470:69fc:105::c24b) (*.net *.split)
11:51:59 × Deide quits (~deide@user/deide) (*.net *.split)
11:51:59 × ixlun quits (~ixlun@2001:470:69fc:105::41b3) (*.net *.split)
11:51:59 × SimonWeiss[m] quits (~weiss-dma@2001:470:69fc:105::bebd) (*.net *.split)
11:51:59 × RohitGoswami[m] quits (~rgoswamim@2001:470:69fc:105::16cc) (*.net *.split)
11:52:00 × energizer quits (~energizer@user/energizer) (*.net *.split)
11:52:00 × tapas quits (sid467876@charlton.irccloud.com) (*.net *.split)
11:52:00 × piele quits (~piele@tbonesteak.creativeserver.net) (*.net *.split)
11:52:00 × cfebs quits (~cfebs@user/cfebs) (*.net *.split)
11:52:00 × anderson quits (~ande@134.209.221.71) (*.net *.split)
11:52:00 × ft quits (~ft@shell.chaostreff-dortmund.de) (*.net *.split)
11:52:00 × forell quits (~forell@user/forell) (*.net *.split)
11:52:00 × lambdabot quits (~lambdabot@haskell/bot/lambdabot) (*.net *.split)
11:52:00 × pierrot quits (~pi@user/pierrot) (*.net *.split)
11:52:00 × amirouche quits (~amirouche@user/amirouche) (*.net *.split)
11:52:00 × oxytocat quits (~alloca@user/suppi) (*.net *.split)
11:52:00 × mrmonday quits (~robert@what.i.hope.is.not.a.tabernaevagant.es) (*.net *.split)
11:52:00 × dexterfoo quits (dexter@2a01:7e00::f03c:91ff:fe86:59ec) (*.net *.split)
11:52:00 × catern quits (~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407) (*.net *.split)
11:52:00 × tristanC quits (~tristanC@user/tristanc) (*.net *.split)
11:52:00 × bwe quits (~bwe@2a01:4f8:1c1c:4878::2) (*.net *.split)
11:52:00 × Ferdirand quits (~somebody@2001:4c78:2012:5000::2) (*.net *.split)
11:52:00 × OscarH quits (~OscarH@97e48a81.skybroadband.com) (*.net *.split)
11:52:00 × vk3wtf quits (~doc@220-245-2-190.tpgi.com.au) (*.net *.split)
11:52:00 × feetwind quits (~mike@user/feetwind) (*.net *.split)
11:52:00 × tdammers quits (~tdammers@77.109.72.213.res.static.edpnet.net) (*.net *.split)
11:52:00 × AWizzArd quits (~code@user/awizzard) (*.net *.split)
11:52:00 × winny quits (~winny@user/winny) (*.net *.split)
11:52:00 × tchakka quits (~tchakkazu@static-47-180-28-65.lsan.ca.frontiernet.net) (*.net *.split)
11:52:00 × drakonis quits (drakonis@user/drakonis) (*.net *.split)
11:52:00 × relrod quits (~relrod@redhat/ansible.staff.relrod) (*.net *.split)
11:52:01 × mikolaj_ quits (~mikolaj@purple.well-typed.com) (*.net *.split)
11:52:01 × toms quits (~foobar@pogostick.net) (*.net *.split)
11:52:01 × ggvgc quits (~ggVGc@a.lowtech.earth) (*.net *.split)
11:52:01 × ormaaj quits (~ormaaj@user/ormaaj) (*.net *.split)
11:52:01 × sm quits (~sm@plaintextaccounting/sm) (*.net *.split)
11:52:01 × ServerStatsDisco quits (~serversta@2001:470:69fc:105::1a) (*.net *.split)
11:52:01 × jaror[m] quits (~jaror@2001:470:69fc:105::265) (*.net *.split)
11:52:01 × zfnmxt quits (~zfnmxtzfn@2001:470:69fc:105::2b32) (*.net *.split)
11:52:01 × Ollie[m] quits (~ollieocha@2001:470:69fc:105::41a5) (*.net *.split)
11:52:01 × hsiktas[m] quits (~hsiktasma@2001:470:69fc:105::30d4) (*.net *.split)
11:52:02 × marinelli[m] quits (~marinelli@2001:470:69fc:105::2d8) (*.net *.split)
11:52:02 × reza[m] quits (~rezaphone@2001:470:69fc:105::3eda) (*.net *.split)
11:52:02 × Ekho quits (~Ekho@user/ekho) (*.net *.split)
11:52:02 × c_wraith quits (~c_wraith@adjoint.us) (*.net *.split)
11:52:02 × srk quits (~sorki@user/srk) (*.net *.split)
11:52:02 × rookie101 quits (~rookie@207.154.204.166) (*.net *.split)
11:52:02 × adium quits (adium@user/adium) (*.net *.split)
11:52:02 × liskin quits (~liskin@xmonad/liskin) (*.net *.split)
11:52:02 × andreas3- quits (andreas303@ip227.orange.bnc4free.com) (*.net *.split)
11:52:02 × marienz_ quits (~marienz@libera/staff/marienz) (*.net *.split)
11:52:02 × jassob1 quits (~jassob@korrob.vth.sgsnet.se) (*.net *.split)
11:52:02 × ridcully quits (~ridcully@p508ac428.dip0.t-ipconnect.de) (*.net *.split)
11:52:02 × Guest6153 quits (~deni@mail.denibertovic.com) (*.net *.split)
11:52:02 × sshine_ quits (~simon@hubris.eta.solutions) (*.net *.split)
11:52:02 × kaol_ quits (~kaol@178.62.241.234) (*.net *.split)
11:52:02 × lep quits (~lep@94.31.86.183) (*.net *.split)
11:52:02 × anoe quits (~anoe@delanoe.org) (*.net *.split)
11:52:02 × micro_ quits (~micro@user/micro) (*.net *.split)
11:52:02 × Rembane quits (~Rembane@li346-36.members.linode.com) (*.net *.split)
11:52:02 × ProofTechnique quits (sid79547@id-79547.charlton.irccloud.com) (*.net *.split)
11:52:02 × taktoa[c] quits (sid282096@id-282096.tinside.irccloud.com) (*.net *.split)
11:52:02 × supersven quits (uid501114@id-501114.charlton.irccloud.com) (*.net *.split)
11:52:02 × teddyc quits (theodorc@cassarossa.samfundet.no) (*.net *.split)
11:52:02 × mjrosenb quits (~mrosenbe@nyc.schrodinger.com) (*.net *.split)
11:52:02 × elcaro quits (~anonymous@45.32.191.75) (*.net *.split)
11:52:02 × EvanR quits (~evan@user/evanr) (*.net *.split)
11:52:03 × cbarrett quits (sid192934@id-192934.brockwell.irccloud.com) (*.net *.split)
11:52:03 × hrdl quits (~hrdl@mail.hrdl.eu) (*.net *.split)
11:52:03 × ziman quits (~ziman@user/ziman) (*.net *.split)
11:52:03 × ski quits (~ski@remote12.chalmers.se) (*.net *.split)
11:52:03 × mikolaj quits (~mikon@duch.mimuw.edu.pl) (*.net *.split)
11:52:03 × beaky quits (~beaky@2a03:b0c0:0:1010::1e:a001) (*.net *.split)
11:52:03 × DigitalKiwi quits (~kiwi@2604:a880:400:d0::12fc:5001) (*.net *.split)
11:52:03 × Philonous quits (~Philonous@user/philonous) (*.net *.split)
11:52:03 × yorick quits (~yorick@user/yorick) (*.net *.split)
11:52:03 × Unhammer quits (~Unhammer@user/unhammer) (*.net *.split)
11:52:03 × kosmikus quits (~kosmikus@nullzig.kosmikus.org) (*.net *.split)
11:52:03 × Jon quits (jon@dow.land) (*.net *.split)
11:52:03 × aravk quits (~aravk@user/aravk) (*.net *.split)
11:52:03 × nonzen quits (~nonzen@user/nonzen) (*.net *.split)
11:52:03 × lieven quits (~mal@ns2.wyrd.be) (*.net *.split)
11:52:03 × NinjaTrappeur quits (~ninja@user/ninjatrappeur) (*.net *.split)
11:52:03 × rawles quits (~o@user/rawles) (*.net *.split)
11:52:03 × eldritch_ quits (~eldritch@134.209.221.71) (*.net *.split)
11:52:03 × Morrow quits (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (*.net *.split)
11:52:03 × troydm quits (~troydm@host-176-37-124-197.b025.la.net.ua) (*.net *.split)
11:52:03 × falsifian quits (~falsifian@exoco.falsifian.org) (*.net *.split)
11:52:03 × L29Ah quits (~L29Ah@user/l29ah) (*.net *.split)
11:52:03 × PotatoGim quits (sid99505@id-99505.tooting.irccloud.com) (*.net *.split)
11:52:03 × ptrcmd quits (~ptrcmd@user/ptrcmd) (*.net *.split)
11:52:03 × bens quits (~bens@www.typius.com) (*.net *.split)
11:52:03 × sa1 quits (sid7690@id-7690.charlton.irccloud.com) (*.net *.split)
11:52:03 × ozzymcduff quits (~mathieu@81-234-151-21-no94.tbcn.telia.com) (*.net *.split)
11:52:03 × jonrh quits (sid5185@id-5185.charlton.irccloud.com) (*.net *.split)
11:52:03 × caubert quits (~caubert@136.244.111.235) (*.net *.split)
11:52:03 × tomku quits (~tomku@user/tomku) (*.net *.split)
11:52:03 × cods quits (~fred@82-65-232-44.subs.proxad.net) (*.net *.split)
11:52:03 × Arsen quits (~arsen@managarm/dev/Arsen) (*.net *.split)
11:52:03 × connrs quits (~connrs@user/connrs) (*.net *.split)
11:52:03 × terrorjack quits (~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com) (*.net *.split)
11:52:03 × tomboy64 quits (~tomboy64@user/tomboy64) (*.net *.split)
11:52:03 × cjay quits (cjay@nerdbox.nerd2nerd.org) (*.net *.split)
11:52:03 × heath quits (~heath@user/heath) (*.net *.split)
11:52:03 × zyklotomic quits (~ethan@2604:a880:800:10::79f:8001) (*.net *.split)
11:52:04 × oats quits (~thomas@user/oats) (*.net *.split)
11:52:04 × krjst quits (~krjst@2604:a880:800:c1::16b:8001) (*.net *.split)
11:52:04 × sajith quits (~sajith@user/sajith) (*.net *.split)
11:52:04 × ellie quits (~ellie@user/ellie) (*.net *.split)
11:52:04 × bollu quits (~bollu@139.59.46.74) (*.net *.split)
11:52:04 × joeyh_ quits (joeyh@kitenet.net) (*.net *.split)
11:52:04 × gabiruh quits (~gabiruh@vps19177.publiccloud.com.br) (*.net *.split)
11:52:04 × spicyrice quits (~ubuntu@2600:1f11:52a:4400:ccbc:2b96:cabe:414b) (*.net *.split)
11:52:04 × remexre quits (~nathan@user/remexre) (*.net *.split)
11:52:04 × alp quits (~alp@user/alp) (*.net *.split)
11:52:04 srk_ is now known as srk
11:52:04 terrorjack7 is now known as terrorjack
11:52:23 <merijn> And this is actually rather good, compared to a year ago
11:53:07 Obo joins (~roberto@70.pool90-171-81.dynamic.orange.es)
11:53:12 phma joins (phma@2001:5b0:211f:8128:db0d:fde3:6e3b:4745)
11:53:12 tapas joins (sid467876@id-467876.charlton.irccloud.com)
11:53:12 burnsidesLlama joins (~burnsides@dhcp168-020.wadham.ox.ac.uk)
11:53:12 tungki joins (~tngk@subs31-116-206-15-25.three.co.id)
11:53:12 jakalx joins (~jakalx@base.jakalx.net)
11:53:12 AlexNoo joins (~AlexNoo@178.34.162.152)
11:53:12 jophish joins (~jophish@2001:470:69fc:105::670)
11:53:12 smichel17[m] joins (~smichel17@2001:470:69fc:105::2d32)
11:53:12 Teohehim[m] joins (~teocmatri@2001:470:69fc:105::d327)
11:53:12 ru0mad[m] joins (~ru0madmat@2001:470:69fc:105::9b2)
11:53:12 dualinverter[m] joins (~dualinver@2001:470:69fc:105::16a7)
11:53:12 Magnus[m] joins (~magthetch@2001:470:69fc:105::d1a7)
11:53:12 cdsmith joins (~cdsmithma@2001:470:69fc:105::284)
11:53:12 Deewiant joins (~deewiant@2001:470:69fc:105::2fd3)
11:53:12 fabfianda[m] joins (~fabfianda@2001:470:69fc:105::6db)
11:53:12 sa joins (sid1055@id-1055.tinside.irccloud.com)
11:53:12 blades joins (~blades@204.48.29.163)
11:53:12 fr33domlover joins (~fr33domlo@angeley.es)
11:53:12 thaumavorio joins (~thaumavor@thaumavor.io)
11:53:12 adamCS joins (~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com)
11:53:12 noctux joins (~noctux@user/noctux)
11:53:12 xsarnik joins (xsarnik@lounge.fi.muni.cz)
11:53:12 asm joins (~alexander@user/asm)
11:53:12 danso joins (~danso@23-233-111-52.cpe.pppoe.ca)
11:53:12 slep joins (~slep@cpc150002-brnt4-2-0-cust437.4-2.cable.virginm.net)
11:53:12 mht joins (~mht@2a03:b0c0:3:e0::1e2:c001)
11:53:12 int-e joins (~noone@int-e.eu)
11:53:12 MidAutumnHotaru joins (~MidAutumn@user/midautumnmoon)
11:53:12 jess joins (~jess@libera/staff/jess)
11:53:12 Nahra joins (~user@static.161.95.99.88.clients.your-server.de)
11:53:12 amir joins (sid22336@user/amir)
11:53:12 dmj` joins (sid72307@id-72307.stonehaven.irccloud.com)
11:53:12 joel135 joins (sid136450@id-136450.stonehaven.irccloud.com)
11:53:12 SanchayanMaity joins (sid478177@id-478177.stonehaven.irccloud.com)
11:53:12 euandreh joins (~euandreh@2804:14c:33:9fe5:9814:dfa2:8237:3c5c)
11:53:12 hugo joins (znc@verdigris.lysator.liu.se)
11:53:12 dsal joins (sid13060@id-13060.tooting.irccloud.com)
11:53:12 johnw joins (~johnw@2607:f6f0:3004:1:c8b4:50ff:fef8:6bf0)
11:53:12 ephemient joins (uid407513@id-407513.tooting.irccloud.com)
11:53:12 gmc joins (sid58314@id-58314.charlton.irccloud.com)
11:53:12 gonz__ joins (sid304396@id-304396.tooting.irccloud.com)
11:53:12 S11001001 joins (sid42510@id-42510.charlton.irccloud.com)
11:53:12 iphy joins (sid67735@id-67735.tooting.irccloud.com)
11:53:12 hrnz joins (~ulli@irc.plumbing)
11:53:12 dfg joins (dfg@user/dfg)
11:53:12 xnbya joins (~xnbya@2a01:4f8:c17:cbdd::1)
11:53:12 nurupo joins (~nurupo.ga@user/nurupo)
11:53:12 _-- joins (~ding@2001:19f0:5:14c2:5400:2ff:fee0:a42c)
11:53:12 Adran joins (adran@botters/adran)
11:53:12 xacktm joins (xacktm@user/xacktm)
11:53:12 even4void joins (even4void@came.here.for-some.fun)
11:53:26 × dfg quits (dfg@user/dfg) (Max SendQ exceeded)
11:53:40 dfg joins (dfg@2600:3c00::f03c:92ff:feb4:be75)
11:53:40 × dfg quits (dfg@2600:3c00::f03c:92ff:feb4:be75) (Changing host)
11:53:40 dfg joins (dfg@user/dfg)
11:54:10 fendor joins (~fendor@212095005227.public.telering.at)
11:54:23 img joins (~img@user/img)
11:54:29 Vq_ is now known as Vq
11:54:55 cohn joins (~noone@user/cohn)
11:55:21 × octeep[m] quits (~octeepmoc@2001:470:69fc:105::695e) (Ping timeout: 252 seconds)
11:55:22 × psydroid quits (~psydroid@user/psydroid) (Ping timeout: 240 seconds)
11:55:22 × boxscape quits (~boxscape@user/boxscape) (Ping timeout: 240 seconds)
11:55:23 × maerwald[m] quits (~maerwaldm@2001:470:69fc:105::1ee) (Ping timeout: 240 seconds)
11:55:25 × Adam1 quits (~Adam1@27-53-105-227.adsl.fetnet.net) (Ping timeout: 246 seconds)
11:55:32 × ru0mad[m] quits (~ru0madmat@2001:470:69fc:105::9b2) (Ping timeout: 245 seconds)
11:55:32 × dualinverter[m] quits (~dualinver@2001:470:69fc:105::16a7) (Ping timeout: 245 seconds)
11:55:32 × Deewiant quits (~deewiant@2001:470:69fc:105::2fd3) (Ping timeout: 245 seconds)
11:55:41 × Tisoxin quits (~ikosit@user/ikosit) (Ping timeout: 266 seconds)
11:55:42 × maralorn quits (~maralorn@2001:470:69fc:105::251) (Ping timeout: 266 seconds)
11:55:42 × dminuoso[m] quits (~dminuosom@2001:470:69fc:105::33bb) (Ping timeout: 266 seconds)
11:55:42 × andreabedini[m] quits (~andreabed@2001:470:69fc:105::c821) (Ping timeout: 266 seconds)
11:56:08 × Drew[m]1 quits (~drewefenw@2001:470:69fc:105::c8c4) (Ping timeout: 272 seconds)
11:56:08 × kadoban quits (~kadoban@user/kadoban) (Ping timeout: 272 seconds)
11:56:10 × vaibhavsagar[m] quits (~vaibhavsa@2001:470:69fc:105::ffe) (Ping timeout: 240 seconds)
11:56:10 × lwe[m] quits (~dendrumat@2001:470:69fc:105::2f9b) (Ping timeout: 240 seconds)
11:56:10 × unrooted quits (~unrooted@2001:470:69fc:105::a4a) (Ping timeout: 240 seconds)
11:56:10 × oak- quits (~oakuniver@2001:470:69fc:105::fcd) (Ping timeout: 240 seconds)
11:56:10 × PotatoHatsue quits (~berberman@2001:470:69fc:105::b488) (Ping timeout: 240 seconds)
11:56:19 × polykernel quits (~polykerne@user/polykernel) (Ping timeout: 268 seconds)
11:56:19 × fgaz quits (~fgaz@2001:470:69fc:105::842) (Ping timeout: 268 seconds)
11:56:22 × jophish quits (~jophish@2001:470:69fc:105::670) (Ping timeout: 245 seconds)
11:56:22 × smichel17[m] quits (~smichel17@2001:470:69fc:105::2d32) (Ping timeout: 245 seconds)
11:56:22 × Teohehim[m] quits (~teocmatri@2001:470:69fc:105::d327) (Ping timeout: 245 seconds)
11:56:22 × Magnus[m] quits (~magthetch@2001:470:69fc:105::d1a7) (Ping timeout: 245 seconds)
11:56:22 × cdsmith quits (~cdsmithma@2001:470:69fc:105::284) (Ping timeout: 245 seconds)
11:56:22 × fabfianda[m] quits (~fabfianda@2001:470:69fc:105::6db) (Ping timeout: 245 seconds)
11:56:27 × MatrixTravelerbo quits (~voyagert2@2001:470:69fc:105::22) (Ping timeout: 252 seconds)
11:56:27 × amesgen[m] quits (~amesgenm]@2001:470:69fc:105::82b) (Ping timeout: 252 seconds)
11:56:27 × jchia[m] quits (~jchiamatr@2001:470:69fc:105::c50b) (Ping timeout: 252 seconds)
11:56:27 × the-coot[m] quits (~the-cootm@2001:470:69fc:105::95f) (Ping timeout: 252 seconds)
11:56:27 × carmysilna quits (~brightly-@2001:470:69fc:105::2190) (Ping timeout: 252 seconds)
11:57:09 zyklotomic joins (~ethan@2604:a880:800:10::79f:8001)
11:57:09 Morrow joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net)
11:57:09 troydm joins (~troydm@host-176-37-124-197.b025.la.net.ua)
11:57:09 L29Ah joins (~L29Ah@user/l29ah)
11:57:09 PotatoGim joins (sid99505@id-99505.tooting.irccloud.com)
11:57:09 ptrcmd joins (~ptrcmd@user/ptrcmd)
11:57:09 bens joins (~bens@www.typius.com)
11:57:09 sa1 joins (sid7690@id-7690.charlton.irccloud.com)
11:57:09 ozzymcduff joins (~mathieu@81-234-151-21-no94.tbcn.telia.com)
11:57:09 jonrh joins (sid5185@id-5185.charlton.irccloud.com)
11:57:09 caubert joins (~caubert@136.244.111.235)
11:57:09 tomku joins (~tomku@user/tomku)
11:57:09 cods joins (~fred@82-65-232-44.subs.proxad.net)
11:57:09 Arsen joins (~arsen@managarm/dev/Arsen)
11:57:09 connrs joins (~connrs@user/connrs)
11:57:09 tomboy64 joins (~tomboy64@user/tomboy64)
11:57:09 cjay joins (cjay@nerdbox.nerd2nerd.org)
11:57:09 heath joins (~heath@user/heath)
11:57:09 oats joins (~thomas@user/oats)
11:57:09 krjst joins (~krjst@2604:a880:800:c1::16b:8001)
11:57:09 sajith joins (~sajith@user/sajith)
11:57:09 ellie joins (~ellie@user/ellie)
11:57:09 bollu joins (~bollu@139.59.46.74)
11:57:09 joeyh_ joins (joeyh@kitenet.net)
11:57:09 gabiruh joins (~gabiruh@vps19177.publiccloud.com.br)
11:57:09 spicyrice joins (~ubuntu@2600:1f11:52a:4400:ccbc:2b96:cabe:414b)
11:57:09 remexre joins (~nathan@user/remexre)
11:57:09 alp joins (~alp@user/alp)
11:57:48 haykam joins (~haykam@static.100.2.21.65.clients.your-server.de)
11:57:48 lechner joins (~lechner@debian/lechner)
11:57:48 berberman_ joins (~berberman@user/berberman)
11:57:48 Katarushisu joins (~Katarushi@cpc147334-finc20-2-0-cust27.4-2.cable.virginm.net)
11:57:48 leah2 joins (~leah@vuxu.org)
11:57:48 ac joins (~aloiscoch@2001:470:69fc:105::65)
11:57:48 aveltras[m] joins (~aveltrasm@2001:470:69fc:105::3ef9)
11:57:48 infinisil joins (~infinisil@2001:470:69fc:105::ff8)
11:57:48 vbeatrice[m] joins (~vbeatrice@2001:470:69fc:105::3ebf)
11:57:48 adziahel[m] joins (~adziahelm@2001:470:69fc:105::b4d)
11:57:48 bitonic joins (~bitonic@2001:470:69fc:105::1812)
11:57:48 ringo_ joins (~ringo@157.230.117.128)
11:57:48 stefan-_ joins (~cri@42dots.de)
11:57:48 Igfoo joins (~ian@matrix.chaos.earth.li)
11:57:48 hook54321 joins (sid149355@user/hook54321)
11:57:48 mrianbloom joins (sid350277@id-350277.charlton.irccloud.com)
11:57:48 emergence joins (~emergence@vm0.max-p.me)
11:57:48 opqdonut joins (opqdonut@pseudo.fixme.fi)
11:57:48 integral joins (sid296274@user/integral)
11:57:48 feepo joins (sid28508@id-28508.brockwell.irccloud.com)
11:57:48 edwardk joins (sid47016@haskell/developer/edwardk)
11:57:48 idnar joins (sid12240@debian/mithrandi)
11:57:48 enemeth79 joins (sid309041@id-309041.tooting.irccloud.com)
11:57:48 tnks joins (sid412124@id-412124.brockwell.irccloud.com)
11:57:48 obviyus joins (sid415299@user/obviyus)
11:57:48 m1dnight joins (~christoph@188.ip-51-91-158.eu)
11:57:48 grfn joins (sid449115@id-449115.brockwell.irccloud.com)
11:57:48 lightandlight joins (sid135476@id-135476.brockwell.irccloud.com)
11:57:48 dagit joins (~dagit@2001:558:6025:38:6476:a063:d05a:44da)
11:57:48 dyniec joins (~dyniec@mail.dybiec.info)
11:57:48 Ananta-shesha joins (~pjetcetal@2.95.210.188)
11:57:48 dispater joins (~dispater@user/brprice)
11:57:48 vemek joins (~vemek@2a03:b0c0:2:d0::d98:1)
11:57:48 cocreature joins (~moritz@2a03:b0c0:3:d0::c8:f001)
11:57:48 Xnuk joins (~xnuk@vultr.xnu.kr)
11:57:48 loonycyborg joins (~loonycybo@wesnoth/developer/loonycyborg)
11:57:48 thonkpod joins (~thonkpod@user/thonkpod)
11:57:48 amk joins (~amk@176.61.106.150)
11:57:48 martin02 joins (silas@hund.fs.lmu.de)
11:57:48 bsima joins (~bsima@simatime.com)
11:57:52 ormaaj joins (~ormaaj@user/ormaaj)
11:57:52 jaror[m] joins (~jaror@2001:470:69fc:105::265)
11:57:52 zfnmxt joins (~zfnmxtzfn@2001:470:69fc:105::2b32)
11:57:52 Ollie[m] joins (~ollieocha@2001:470:69fc:105::41a5)
11:57:52 hsiktas[m] joins (~hsiktasma@2001:470:69fc:105::30d4)
11:57:52 marinelli[m] joins (~marinelli@2001:470:69fc:105::2d8)
11:57:52 reza[m] joins (~rezaphone@2001:470:69fc:105::3eda)
11:57:52 Ekho joins (~Ekho@user/ekho)
11:57:52 rookie101 joins (~rookie@207.154.204.166)
11:57:52 liskin joins (~liskin@xmonad/liskin)
11:57:52 andreas3- joins (andreas303@ip227.orange.bnc4free.com)
11:57:52 jassob1 joins (~jassob@korrob.vth.sgsnet.se)
11:57:52 Guest6153 joins (~deni@mail.denibertovic.com)
11:57:52 kaol_ joins (~kaol@178.62.241.234)
11:57:52 sshine_ joins (~simon@hubris.eta.solutions)
11:57:52 anoe joins (~anoe@delanoe.org)
11:57:52 ProofTechnique joins (sid79547@id-79547.charlton.irccloud.com)
11:57:52 taktoa[c] joins (sid282096@id-282096.tinside.irccloud.com)
11:57:52 supersven joins (uid501114@id-501114.charlton.irccloud.com)
11:57:52 teddyc joins (theodorc@cassarossa.samfundet.no)
11:57:52 elcaro joins (~anonymous@45.32.191.75)
11:57:52 cbarrett joins (sid192934@id-192934.brockwell.irccloud.com)
11:57:52 ziman joins (~ziman@user/ziman)
11:57:52 ski joins (~ski@remote12.chalmers.se)
11:57:52 beaky joins (~beaky@2a03:b0c0:0:1010::1e:a001)
11:57:52 DigitalKiwi joins (~kiwi@2604:a880:400:d0::12fc:5001)
11:57:52 Philonous joins (~Philonous@user/philonous)
11:57:52 yorick joins (~yorick@user/yorick)
11:57:52 Jon joins (jon@dow.land)
11:57:52 Unhammer joins (~Unhammer@user/unhammer)
11:57:52 kosmikus joins (~kosmikus@nullzig.kosmikus.org)
11:57:52 aravk joins (~aravk@user/aravk)
11:57:52 nonzen joins (~nonzen@user/nonzen)
11:57:52 lieven joins (~mal@ns2.wyrd.be)
11:57:52 NinjaTrappeur joins (~ninja@user/ninjatrappeur)
11:57:52 rawles joins (~o@user/rawles)
11:57:52 eldritch_ joins (~eldritch@134.209.221.71)
11:57:54 × ormaaj quits (~ormaaj@user/ormaaj) (Max SendQ exceeded)
11:57:57 × waleee quits (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 268 seconds)
11:57:59 geekosaur joins (~geekosaur@xmonad/geekosaur)
11:57:59 markpythonicbitc joins (~markpytho@2601:647:5a00:35:9c61:394:eb0f:e1ed)
11:57:59 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
11:57:59 jkachmar joins (~jkachmar@2001:470:69fc:105::c72d)
11:57:59 Deide joins (~deide@user/deide)
11:57:59 ixlun joins (~ixlun@2001:470:69fc:105::41b3)
11:57:59 SimonWeiss[m] joins (~weiss-dma@2001:470:69fc:105::bebd)
11:57:59 energizer joins (~energizer@user/energizer)
11:57:59 piele joins (~piele@tbonesteak.creativeserver.net)
11:57:59 cfebs joins (~cfebs@user/cfebs)
11:57:59 anderson joins (~ande@134.209.221.71)
11:57:59 ft joins (~ft@shell.chaostreff-dortmund.de)
11:57:59 lambdabot joins (~lambdabot@haskell/bot/lambdabot)
11:57:59 pierrot joins (~pi@user/pierrot)
11:57:59 catern joins (~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407)
11:57:59 amirouche joins (~amirouche@user/amirouche)
11:57:59 oxytocat joins (~alloca@user/suppi)
11:57:59 mrmonday joins (~robert@what.i.hope.is.not.a.tabernaevagant.es)
11:57:59 dexterfoo joins (dexter@2a01:7e00::f03c:91ff:fe86:59ec)
11:57:59 tristanC joins (~tristanC@user/tristanc)
11:57:59 Ferdirand joins (~somebody@2001:4c78:2012:5000::2)
11:57:59 bwe joins (~bwe@2a01:4f8:1c1c:4878::2)
11:57:59 OscarH joins (~OscarH@97e48a81.skybroadband.com)
11:57:59 feetwind joins (~mike@user/feetwind)
11:57:59 tdammers joins (~tdammers@77.109.72.213.res.static.edpnet.net)
11:57:59 drakonis joins (drakonis@user/drakonis)
11:57:59 AWizzArd joins (~code@user/awizzard)
11:57:59 winny joins (~winny@user/winny)
11:57:59 relrod joins (~relrod@redhat/ansible.staff.relrod)
11:57:59 mikolaj_ joins (~mikolaj@purple.well-typed.com)
11:57:59 toms joins (~foobar@pogostick.net)
11:57:59 ggvgc joins (~ggVGc@a.lowtech.earth)
11:58:33 × maerwald_ quits (~maerwald@mail.hasufell.de) (Ping timeout: 268 seconds)
11:58:40 typedfern__ joins (~Typedfern@28.red-83-57-142.dynamicip.rima-tde.net)
11:59:51 marienz joins (~marienz@libera/staff/marienz)
12:00:07 vk3wtf joins (~doc@220-245-2-190.tpgi.com.au)
12:00:17 × Orbstheorem quits (~orbstheor@2001:470:69fc:105::a56) (Ping timeout: 252 seconds)
12:00:34 × hsek[m] quits (~hsekmatri@2001:470:69fc:105::d18f) (Ping timeout: 272 seconds)
12:00:37 × thomasjm[m] quits (~thomasjmm@2001:470:69fc:105::c6d9) (Ping timeout: 268 seconds)
12:00:44 × jaror[m] quits (~jaror@2001:470:69fc:105::265) (Ping timeout: 252 seconds)
12:00:44 × zfnmxt quits (~zfnmxtzfn@2001:470:69fc:105::2b32) (Ping timeout: 252 seconds)
12:00:44 × Ollie[m] quits (~ollieocha@2001:470:69fc:105::41a5) (Ping timeout: 252 seconds)
12:00:44 × hsiktas[m] quits (~hsiktasma@2001:470:69fc:105::30d4) (Ping timeout: 252 seconds)
12:00:44 × marinelli[m] quits (~marinelli@2001:470:69fc:105::2d8) (Ping timeout: 252 seconds)
12:00:45 × reza[m] quits (~rezaphone@2001:470:69fc:105::3eda) (Ping timeout: 252 seconds)
12:00:45 × peddie quits (~peddie@2001:470:69fc:105::25d) (Ping timeout: 276 seconds)
12:00:45 × hughjfchen[m] quits (~hughjfche@2001:470:69fc:105::c29d) (Ping timeout: 276 seconds)
12:00:56 maerwald joins (~maerwald@mail.hasufell.de)
12:01:02 × ac quits (~aloiscoch@2001:470:69fc:105::65) (Ping timeout: 256 seconds)
12:01:02 × aveltras[m] quits (~aveltrasm@2001:470:69fc:105::3ef9) (Ping timeout: 256 seconds)
12:01:02 × infinisil quits (~infinisil@2001:470:69fc:105::ff8) (Ping timeout: 256 seconds)
12:01:02 × vbeatrice[m] quits (~vbeatrice@2001:470:69fc:105::3ebf) (Ping timeout: 256 seconds)
12:01:02 × adziahel[m] quits (~adziahelm@2001:470:69fc:105::b4d) (Ping timeout: 256 seconds)
12:01:02 × bitonic quits (~bitonic@2001:470:69fc:105::1812) (Ping timeout: 256 seconds)
12:01:07 chomwitt joins (~chomwitt@2a02:587:dc02:6400:12c3:7bff:fe6d:d374)
12:01:08 × jkachmar quits (~jkachmar@2001:470:69fc:105::c72d) (Ping timeout: 272 seconds)
12:01:08 × Deide quits (~deide@user/deide) (Ping timeout: 272 seconds)
12:01:08 × ixlun quits (~ixlun@2001:470:69fc:105::41b3) (Ping timeout: 272 seconds)
12:01:08 × SimonWeiss[m] quits (~weiss-dma@2001:470:69fc:105::bebd) (Ping timeout: 272 seconds)
12:01:12 × schuelermine[m] quits (~schuelerm@user/schuelermine) (Ping timeout: 272 seconds)
12:01:12 × kar1 quits (~kar1@2001:470:69fc:105::c308) (Ping timeout: 272 seconds)
12:01:13 × siraben quits (~siraben@user/siraben) (Ping timeout: 272 seconds)
12:01:13 × ericson2314 quits (~ericson23@2001:470:69fc:105::70c) (Ping timeout: 272 seconds)
12:01:13 × CyrusT[m] quits (~cyrustcru@2001:470:69fc:105::306e) (Ping timeout: 272 seconds)
12:01:15 × alexfmpe[m] quits (~alexfmpem@2001:470:69fc:105::38ba) (Ping timeout: 268 seconds)
12:01:15 × Las[m] quits (~lasmatrix@2001:470:69fc:105::74e) (Ping timeout: 268 seconds)
12:01:24 × srid[m] quits (~sridmatri@2001:470:69fc:105::1c2) (Ping timeout: 276 seconds)
12:01:24 × bb010g quits (~bb010g@2001:470:69fc:105::9a5) (Ping timeout: 276 seconds)
12:03:51 pe200012_ joins (~pe200012@113.105.10.62)
12:04:43 × pe200012 quits (~pe200012@218.107.49.28) (Ping timeout: 268 seconds)
12:05:52 maerwald[m] joins (~maerwaldm@2001:470:69fc:105::1ee)
12:05:56 andreabedini[m] joins (~andreabed@2001:470:69fc:105::c821)
12:05:56 octeep[m] joins (~octeepmoc@2001:470:69fc:105::695e)
12:05:56 dminuoso[m] joins (~dminuosom@2001:470:69fc:105::33bb)
12:08:28 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
12:09:25 Vajb joins (~Vajb@2001:999:252:4e3c:27f9:d93:655e:583)
12:09:47 acidjnk_new3 joins (~acidjnk@p200300d0c72b9574c9e1464ccccbbf78.dip0.t-ipconnect.de)
12:10:00 jumper149 joins (~jumper149@80.240.31.34)
12:10:17 × pe200012_ quits (~pe200012@113.105.10.62) (Ping timeout: 268 seconds)
12:14:42 vaibhavsagar[m] joins (~vaibhavsa@2001:470:69fc:105::ffe)
12:15:13 PotatoHatsue joins (~berberman@2001:470:69fc:105::b488)
12:15:31 maralorn joins (~maralorn@2001:470:69fc:105::251)
12:15:34 carmysilna joins (~brightly-@2001:470:69fc:105::2190)
12:15:34 jchia[m] joins (~jchiamatr@2001:470:69fc:105::c50b)
12:15:36 oak- joins (~oakuniver@2001:470:69fc:105::fcd)
12:15:37 amesgen[m] joins (~amesgenm]@2001:470:69fc:105::82b)
12:15:37 unrooted joins (~unrooted@2001:470:69fc:105::a4a)
12:15:38 the-coot[m] joins (~the-cootm@2001:470:69fc:105::95f)
12:15:40 Drew[m]1 joins (~drewefenw@2001:470:69fc:105::c8c4)
12:16:39 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
12:19:04 wallymathieu[m] joins (~wallymath@2001:470:69fc:105::16ae)
12:19:50 Magnus[m] joins (~magthetch@2001:470:69fc:105::d1a7)
12:19:50 Teohehim[m] joins (~teocmatri@2001:470:69fc:105::d327)
12:19:55 smichel17[m] joins (~smichel17@2001:470:69fc:105::2d32)
12:21:30 burnside_ joins (~burnsides@dhcp168-020.wadham.ox.ac.uk)
12:21:30 × burnsidesLlama quits (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Read error: Connection reset by peer)
12:21:55 Tisoxin joins (~ikosit@user/ikosit)
12:22:03 dualinverter[m] joins (~dualinver@2001:470:69fc:105::16a7)
12:23:23 <jumper149> Hi, I want to use `Data.Lazy.ByteString.readFile` at compile time. Is that possible? Are there any tricks with cabal?
12:23:59 <Taneb> jumper149: you'll probably need Template Haskell. It's definitely possible with TH
12:24:02 <merijn> jumper149: With Template Haskell
12:25:13 hsek[m] joins (~hsekmatri@2001:470:69fc:105::d18f)
12:25:16 Orbstheorem joins (~orbstheor@2001:470:69fc:105::a56)
12:25:17 hughjfchen[m] joins (~hughjfche@2001:470:69fc:105::c29d)
12:25:18 thomasjm[m] joins (~thomasjmm@2001:470:69fc:105::c6d9)
12:25:21 peddie joins (~peddie@2001:470:69fc:105::25d)
12:25:35 <jumper149> Ty, I think I might try https://hackage.haskell.org/package/file-embed
12:27:13 Morrow_ joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net)
12:28:21 <Hecate> jumper149: yes it's better than lazy IO
12:28:59 pe200012_ joins (~pe200012@113.105.10.33)
12:29:15 <viluon> is it possible to instruct ghcup to decompress `.xz` archives in multithreaded mode (`-T 0` or similar)?
12:29:57 dyeplexer joins (~dyeplexer@user/dyeplexer)
12:37:05 × fendor quits (~fendor@212095005227.public.telering.at) (Read error: Connection reset by peer)
12:37:25 × torei quits (~torei@c-73-108-191-67.hsd1.ga.comcast.net) (Ping timeout: 268 seconds)
12:40:02 SimonWeiss[m] joins (~weiss-dma@2001:470:69fc:105::bebd)
12:40:04 ixlun joins (~ixlun@2001:470:69fc:105::41b3)
12:40:19 × pe200012_ quits (~pe200012@113.105.10.33) (Read error: Connection reset by peer)
12:40:27 pe200012 joins (~pe200012@113.105.10.33)
12:42:44 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
12:43:45 alexfmpe[m] joins (~alexfmpem@2001:470:69fc:105::38ba)
12:46:21 srid[m] joins (~sridmatri@2001:470:69fc:105::1c2)
12:47:17 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
12:52:30 jolly joins (~jolly@208.180.97.158)
12:55:16 Las[m] joins (~lasmatrix@2001:470:69fc:105::74e)
12:56:49 CyrusT[m] joins (~cyrustcru@2001:470:69fc:105::306e)
12:57:08 acidjnk_new joins (~acidjnk@p200300d0c72b9574c56a490b8c03a837.dip0.t-ipconnect.de)
12:58:12 × jneira quits (~jneira@212.8.115.226) (Quit: Client closed)
13:00:32 × acidjnk_new3 quits (~acidjnk@p200300d0c72b9574c9e1464ccccbbf78.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
13:00:53 alx741 joins (~alx741@181.196.68.21)
13:01:25 × markpythonicbitc quits (~markpytho@2601:647:5a00:35:9c61:394:eb0f:e1ed) (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:01:27 afotgkmnzj7asv3r joins (~afotgkmnz@2001:470:69fc:105::c24b)
13:01:39 unclechu joins (~unclechu@2001:470:69fc:105::354)
13:01:52 markpythonicbitc joins (~markpytho@2601:647:5a00:35:9c61:394:eb0f:e1ed)
13:02:59 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
13:03:05 Guest4576 joins (~Guest45@2001:8004:2728:3231:22e8:8df9:c65:5ea)
13:04:08 psydroid joins (~psydroid@user/psydroid)
13:04:21 <janus> viluon: hmm i thought there was an environment variable for that, but maybe i am mistaken?
13:05:09 <viluon> janus: if there is one, it isn't listed in ghcup's help command
13:05:42 <viluon> hmm, it looks like `xz` itself supports `XZ_OPT` though
13:05:44 <janus> viluon: aah no i meant a generic one. if there were, xz would probably inherit it from ghcup if present
13:06:07 <Hecate> viluon: try XZ_OPT, otherwise you can open a ticket :)
13:06:33 <viluon> janus & Hecate: thanks!
13:07:12 hgolden joins (~hgolden2@cpe-172-114-84-61.socal.res.rr.com)
13:07:37 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
13:07:38 Deewiant joins (~deewiant@2001:470:69fc:105::2fd3)
13:07:56 boxscape joins (~boxscape@user/boxscape)
13:08:28 polykernel joins (~polykerne@user/polykernel)
13:08:29 × juhp quits (~juhp@128.106.188.220) (Quit: juhp)
13:08:45 juhp joins (~juhp@128.106.188.220)
13:09:23 ru0mad[m] joins (~ru0madmat@2001:470:69fc:105::9b2)
13:09:45 RohitGoswami[m] joins (~rgoswamim@2001:470:69fc:105::16cc)
13:09:52 lbseale joins (~lbseale@user/ep1ctetus)
13:12:12 cdsmith joins (~cdsmithma@2001:470:69fc:105::284)
13:12:13 fabfianda[m] joins (~fabfianda@2001:470:69fc:105::6db)
13:12:41 kar1 joins (~kar1@2001:470:69fc:105::c308)
13:12:43 × Guest4576 quits (~Guest45@2001:8004:2728:3231:22e8:8df9:c65:5ea) (Quit: Client closed)
13:12:48 fgaz joins (~fgaz@2001:470:69fc:105::842)
13:13:07 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
13:13:36 ServerStatsDisco joins (~serversta@2001:470:69fc:105::1a)
13:17:34 doyougnu joins (~user@c-73-25-202-122.hsd1.or.comcast.net)
13:17:55 × Morrow_ quits (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Quit: Leaving)
13:18:06 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
13:19:29 × curiousgay quits (~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 248 seconds)
13:19:48 adziahel[m] joins (~adziahelm@2001:470:69fc:105::b4d)
13:19:49 bb010g joins (~bb010g@2001:470:69fc:105::9a5)
13:20:10 × chomwitt quits (~chomwitt@2a02:587:dc02:6400:12c3:7bff:fe6d:d374) (Ping timeout: 268 seconds)
13:20:28 infinisil joins (~infinisil@2001:470:69fc:105::ff8)
13:21:27 kadoban joins (~kadoban@user/kadoban)
13:22:32 epolanski joins (uid312403@id-312403.brockwell.irccloud.com)
13:24:17 × Obo quits (~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 248 seconds)
13:24:41 lwe[m] joins (~dendrumat@2001:470:69fc:105::2f9b)
13:26:02 aveltras[m] joins (~aveltrasm@2001:470:69fc:105::3ef9)
13:26:14 MatrixTravelerbo joins (~voyagert2@2001:470:69fc:105::22)
13:27:01 vbeatrice[m] joins (~vbeatrice@2001:470:69fc:105::3ebf)
13:27:09 × burnside_ quits (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Remote host closed the connection)
13:27:22 × tungki quits (~tngk@subs31-116-206-15-25.three.co.id) (Read error: Connection reset by peer)
13:27:41 burnsidesLlama joins (~burnsides@dhcp168-020.wadham.ox.ac.uk)
13:28:40 sm joins (~sm@plaintextaccounting/sm)
13:29:20 jophish joins (~jophish@2001:470:69fc:105::670)
13:30:51 _73 joins (~user@pool-96-252-123-136.bstnma.fios.verizon.net)
13:31:03 Ollie[m] joins (~ollieocha@2001:470:69fc:105::41a5)
13:32:17 × burnsidesLlama quits (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
13:32:51 zfnmxt joins (~zfnmxtzfn@2001:470:69fc:105::2b32)
13:32:52 marinelli[m] joins (~marinelli@2001:470:69fc:105::2d8)
13:33:24 bitonic joins (~bitonic@2001:470:69fc:105::1812)
13:33:29 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
13:33:46 schuelermine[m] joins (~schuelerm@user/schuelermine)
13:34:40 ac joins (~aloiscoch@2001:470:69fc:105::65)
13:35:06 ericson2314 joins (~ericson23@2001:470:69fc:105::70c)
13:35:17 jaror[m] joins (~jaror@2001:470:69fc:105::265)
13:35:19 Deide joins (~deide@user/deide)
13:35:23 <_73> I have a lot of functions that simply associate strings to `Either Error Int`. For example I have `foo "hello" = Right 7; foo "hey" Right 2; foo _ = Left someError`. `foo` though may have up to 60 different strings to pattern match against. If this were you would you just have a bunch of pattern match statements or would you use `Data.Map.fromList` and on a list of pairs like `[("hello", 7) ... ]`. Or would you do something else?
13:35:28 jkachmar joins (~jkachmar@2001:470:69fc:105::c72d)
13:35:37 reza[m] joins (~rezaphone@2001:470:69fc:105::3eda)
13:36:46 ormaaj joins (~ormaaj@user/ormaaj)
13:36:50 siraben joins (~siraben@user/siraben)
13:36:51 <merijn> _73: I would use Data.Map
13:36:52 hsiktas[m] joins (~hsiktasma@2001:470:69fc:105::30d4)
13:37:31 <_73> ok that is what I have been doing.
13:37:45 × enoq quits (~enoq@194-208-179-35.lampert.tv) (Quit: enoq)
13:37:55 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
13:39:29 × hendursa1 quits (~weechat@user/hendursaga) (Quit: hendursa1)
13:40:01 hendursaga joins (~weechat@user/hendursaga)
13:40:38 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
13:40:56 geekosaur joins (~geekosaur@xmonad/geekosaur)
13:43:54 <acowley_> Does lsp-haskell have a capability to insert a missing type signature? I can't find it.
13:44:13 acowley_ is now known as acowle
13:44:16 acowle is now known as acowley
13:44:52 curiousgay joins (~curiousga@77-120-186-48.kha.volia.net)
13:46:51 <Drew[m]1> Hrm. I've been doing evil Haskell and run into a roadblock that just sort of seems... wrong...
13:47:52 <Drew[m]1> The idea was: take the basic ideas seen here https://www.reddit.com/r/haskell/comments/p0pclw/haskell_methods/h8c5huc/ and rewrite them with type families to avoid using fundeps and see what happens
13:48:32 <Drew[m]1> I wrote this: https://paste.tomsmeding.com/nLEWqt3D
13:48:59 <Drew[m]1> But the compiler rejects the last instance
13:49:42 × trcc quits (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection)
13:49:51 <merijn> With what error?
13:50:14 trcc joins (~trcc@2-104-60-169-cable.dk.customer.tdc.net)
13:50:33 <Drew[m]1> Here's the code and error together: https://paste.tomsmeding.com/WEpixOc7
13:51:38 <Drew[m]1> So the roadblock is the associated type family can't refer to a type variable from instance context
13:51:40 <merijn> Drew[m]1: Where's the 'a' supposed to come from?
13:52:02 Sgeo joins (~Sgeo@user/sgeo)
13:53:46 <Drew[m]1> So my thinking is that if the `Magic obj` meets the constraint then the type of `a` is implied thanks to the functional dependency in `HasField`
13:54:16 <Drew[m]1> I want to use that information to define the associated type family, but apparently I can't.
13:55:09 × trcc quits (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Ping timeout: 276 seconds)
13:55:12 <merijn> Drew[m]1: Instance constraints are only considered for type-checking, not for resolution
13:55:21 xsperry joins (~as@user/xsperry)
13:55:42 <merijn> So pretty sure you can't "see" the fundeps until its too late
13:57:08 <Athas> I am using gitrev to embed Git commit information in my Haskell program. Unfortunately since the module with that TH stuff rarely changes, the commit information is often stale, unless I do a clean rebuild. How do I best resolve this?
13:57:42 <Athas> I can think of two ways: one is to somehow make cabal recompile that (small) module every time. Another is to put the TH stuff in the module that contains the 'main' function, and hope that will always be recompiled. Any others?
13:57:47 <Athas> I'd rather avoid a custom Setup.hs.
13:58:16 <merijn> Athas: Think outside the box: Invoke cabal via Makefile which generates a GitRev.hs :p
13:58:58 <Athas> brilant
13:59:47 <merijn> Athas: Can even hide GitRev.hs beyond a cabal flag so that it only applies/imports when invoked via make so that a regular cabal build only includes the Paths_pkg version stuff instead
14:00:03 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
14:00:21 × jespada quits (~jespada@90.254.247.46) (Quit: My MacBook has gone to sleep. ZZZzzz…)
14:00:35 <merijn> Athas: And since cabal's recompilation stuff checks content hashes you probably won't even get recompiles if the regenerated GitRev.hs has the exact same contents
14:00:52 <maerwald[m]> Athas: you can read a file at compile time via TH and invalidate the cache when it changes. That works with TH
14:01:00 <maerwald[m]> that can just be a text file
14:01:02 jespada joins (~jespada@90.254.247.46)
14:01:17 <Athas> maerwald: how do I invalidate the cache?
14:01:47 <Athas> I'm looking at the gitrev code and it does look like it's adding some dependencies to Git files via TH... but it clearly doesn't work well for me.
14:02:08 <maerwald[m]> it does work, I used it a lot
14:02:12 <merijn> Athas: It's probably because cabal isn't rebuilding the component unless files have changed
14:02:27 <maerwald[m]> you also have to add the file to extra-source-files I think
14:02:27 <merijn> And cabal's recompilation logic isn't aware of GHC's TH dependencies, afaik
14:02:51 <maerwald[m]> that's why you add it do extra-source-files
14:04:11 Pickchea joins (~private@user/pickchea)
14:04:17 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds)
14:04:17 <Athas> merijn: ah, it's a separate thing? That might explain why.
14:04:26 <Athas> maerwald[m]: what is "it" here?
14:04:49 <Athas> I have this module, which contains the Git stuff, and is rarely recompiled: https://github.com/diku-dk/futhark/blob/master/src/Futhark/Version.hs
14:04:49 __monty__ joins (~toonn@user/toonn)
14:05:07 <maerwald[m]> Athas: the file you read via TH
14:05:40 burnsidesLlama joins (~burnsides@dhcp168-020.wadham.ox.ac.uk)
14:07:41 <Athas> I don't know which file I read via TH. That's hidden inside the guts of gitrev, and seems to be various files in .git.\
14:07:59 <Athas> Adding those to extra-source-files would also make compilation fail when .git is not present, right?
14:08:06 <merijn> Yes
14:08:22 × Guest9072 quits (~chris@81.96.113.213) (Remote host closed the connection)
14:09:18 <_73> is there an extension that lets you use conditional expressions in the body of case statements? Something like `case length xs of VALUE > 0 -> True; _ -> False`
14:09:25 <maerwald[m]> Athas: that's why I said: generate your own file. Add it to extra-source-files, read it via TH
14:09:52 <merijn> _73: Don't need an extension
14:09:56 <maerwald[m]> don't depend on broken libraries
14:10:01 <Athas> That requires me to either use a custom Setup.hs or put some layer on top of cabal/stack, right?
14:10:07 × burnsidesLlama quits (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Ping timeout: 258 seconds)
14:10:16 <merijn> > case length "foo" of x | x > 2 -> True; _ -> False
14:10:17 <lambdabot> True
14:10:40 <_73> oh nice. Thanks
14:10:42 <merijn> _73: You're allowed to put guards on patterns in case-of
14:10:50 × ystael quits (~ystael@user/ystael) (Quit: Lost terminal)
14:11:16 <maerwald[m]> if you write a custom Setup.hs, note that the operation may fail (e.g. when used as sdist)
14:11:41 <merijn> This is why I suggested hiding it behind a flag and getting make to auto-invoke it :p
14:12:00 chomwitt joins (~chomwitt@ppp-2-85-147-24.home.otenet.gr)
14:12:19 <maerwald[m]> Or you just catch the failure
14:12:42 <merijn> maerwald[m]: The flag approach can be done without a custom Setup.hs
14:12:53 ystael joins (~ystael@user/ystael)
14:13:02 <maerwald[m]> sure, then you have to use make
14:13:08 <merijn> Well, no
14:13:15 <merijn> Could enable the flag in cabal.project.local too
14:13:16 chris joins (~chris@81.96.113.213)
14:13:19 chris is now known as Guest1100
14:13:20 enoq joins (~enoq@194-208-179-35.lampert.tv)
14:13:27 <merijn> Oh, for the external generation you mean
14:13:29 <merijn> Yeah
14:13:33 jackhill_ is now known as jackhill
14:13:54 <merijn> Easy choice for me, I already use make for all the surrounding C/C++ :p
14:14:10 <merijn> And I don't care about the haskell being standalone compilable anyway
14:15:40 <maerwald[m]> There are some projects that don't use cabal, but ghc directly via makefiles
14:16:14 × Guest1100 quits (~chris@81.96.113.213) (Remote host closed the connection)
14:16:18 <Athas> I care a lot about my projects being easy for users to compile, so I don't want to add abstraction layers.
14:16:25 chris joins (~chris@81.96.113.213)
14:16:29 chris is now known as Guest7700
14:19:37 res0nat0r8 joins (~Fletch@dia.whatbox.ca)
14:20:20 × sander quits (~sander@user/sander) (Remote host closed the connection)
14:22:25 × res0nat0r quits (~Fletch@dia.whatbox.ca) (Ping timeout: 248 seconds)
14:25:09 sander joins (~sander@user/sander)
14:25:31 <merijn> Athas: Sure, but in my case I only care about users being able to compile project easily "from a git checkout, using make" since half the code is dependent on the external C++ bits, so compiling just the Haskell isn't particularly sensible :p
14:26:48 × Vajb quits (~Vajb@2001:999:252:4e3c:27f9:d93:655e:583) (Read error: Connection reset by peer)
14:27:22 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
14:29:09 fendor joins (~fendor@212095005227.public.telering.at)
14:31:08 zebrag joins (~chris@user/zebrag)
14:33:34 slack1256 joins (~slack1256@181.203.126.41)
14:35:02 mastarija joins (~mastarija@78-3-210-70.adsl.net.t-com.hr)
14:36:45 × mastarija quits (~mastarija@78-3-210-70.adsl.net.t-com.hr) (Client Quit)
14:37:02 mastarija joins (~mastarija@78-3-210-70.adsl.net.t-com.hr)
14:37:19 mastarija parts (~mastarija@78-3-210-70.adsl.net.t-com.hr) ()
14:38:55 mastarija joins (~mastarija@78-3-210-70.adsl.net.t-com.hr)
14:39:42 derelict joins (~derelict@user/derelict)
14:41:19 <srid[m]> What library release automation tool do you all use? (Better if integrates with nix)
14:41:53 <Clint> what's a library release automation tool?
14:42:43 <srid[m]> sdist, build docs, upload to hackage, git tag, etc.
14:42:55 <maerwald[m]> cabal
14:43:05 <srid[m]> pretty much automate this https://www.srid.ca/haskell-release-process
14:43:10 <Clint> cabal sdist; cabal upload
14:43:50 <maerwald[m]> I skip everything that contains the word "nix" and save so much time that there's nothing to automate
14:43:56 <merijn> srid[m]: You can upload package candidates via "cabal upload" too
14:47:18 × xff0x quits (~xff0x@2001:1a81:53d2:1c00:3b45:e81a:a20c:e310) (Ping timeout: 258 seconds)
14:48:03 xff0x joins (~xff0x@2001:1a81:53d2:1c00:f58c:78ee:80de:d293)
14:50:22 mattil joins (~mattilinn@87-92-9-185.bb.dnainternet.fi)
14:51:19 × mattil quits (~mattilinn@87-92-9-185.bb.dnainternet.fi) (Remote host closed the connection)
14:51:45 mattil joins (~mattilinn@87-92-9-185.bb.dnainternet.fi)
14:52:17 × fendor quits (~fendor@212095005227.public.telering.at) (Ping timeout: 258 seconds)
14:52:50 shapr joins (~user@pool-108-28-144-11.washdc.fios.verizon.net)
14:53:32 × acidjnk_new quits (~acidjnk@p200300d0c72b9574c56a490b8c03a837.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
14:54:17 <Drew[m]1> <merijn> "So pretty sure you can't "see..." <- OK so now I'm appalled ... I wrote my own `HasField`-like class defined using type families instead of functional dependencies...
14:54:17 <Drew[m]1> And that made writing the last instance trivial.
14:54:21 <Drew[m]1> So both type families and functional dependencies can solve a problem. Things are easy if you always use functional dependencies to solve the problem, and easy if you always use type families to solve the problem, but if you mix them you get pain and gnashing of teeth?
14:54:47 <Drew[m]1> The code: https://paste.tomsmeding.com/szkCB4Dj
14:55:21 <shapr> @quote
14:55:21 <lambdabot> coedwardk says: <contrapumpkin> like yoda, I speak now <coedwardk> is that word ordering contra-diction?
14:58:02 slowButPresent joins (~slowButPr@user/slowbutpresent)
14:58:56 × doyougnu quits (~user@c-73-25-202-122.hsd1.or.comcast.net) (Remote host closed the connection)
15:00:18 × yaroot quits (~yaroot@6.3.30.125.dy.iij4u.or.jp) (Quit: The Lounge - https://thelounge.chat)
15:01:08 yaroot joins (~yaroot@6.3.30.125.dy.iij4u.or.jp)
15:01:44 lavaman joins (~lavaman@98.38.249.169)
15:03:28 <mastarija> Has anyone used native vim lsp with HLS?
15:03:33 <mastarija> *nvim
15:04:24 <mastarija> I've managed to set it up by following the readme, but when ever I push "K" for hower functionality, I get the message "Invalid value for argument cmd: 'man' is not executable"
15:05:12 <maerwald[m]> yes, but not me
15:05:30 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 244 seconds)
15:05:31 doyougnu joins (~user@c-73-25-202-122.hsd1.or.comcast.net)
15:05:33 jpds1 joins (~jpds@gateway/tor-sasl/jpds)
15:06:05 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 258 seconds)
15:06:14 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
15:09:39 × mastarija quits (~mastarija@78-3-210-70.adsl.net.t-com.hr) (Quit: Leaving)
15:10:31 <merijn> Sounds like: 1) your system is borked 2) you didn't setup keybinds from whatever docs you're following?
15:11:14 <maerwald[m]> no man on your system?
15:11:26 × Akronymus quits (~Akronymus@85.31.8.181) (Quit: Client closed)
15:15:22 × rmoe quits (~rmoe@c-71-236-207-44.hsd1.wa.comcast.net) (Ping timeout: 240 seconds)
15:17:03 × yoctocell quits (~user@h87-96-130-155.cust.a3fiber.se) (Read error: Connection reset by peer)
15:19:37 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:295c:2a1b:92fa:2044) (Quit: WeeChat 2.8)
15:22:53 rmoe joins (~rmoe@c-71-236-207-44.hsd1.wa.comcast.net)
15:23:14 × justsome1 quits (~justsomeg@user/justsomeguy) (Ping timeout: 272 seconds)
15:23:39 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
15:24:30 × favonia quits (~favonia@user/favonia) (Ping timeout: 272 seconds)
15:27:24 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
15:28:21 rostero joins (uid236576@id-236576.tooting.irccloud.com)
15:29:24 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
15:29:40 favonia joins (~favonia@user/favonia)
15:29:44 pgib joins (~textual@173.38.117.66)
15:29:59 son0p joins (~ff@181.136.122.143)
15:30:27 × dajoer quits (~david@user/gvx) (Quit: leaving)
15:31:23 rostero parts (uid236576@id-236576.tooting.irccloud.com) ()
15:32:51 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Remote host closed the connection)
15:32:58 ham2 is now known as ham
15:32:59 × ham quits (~ham4@d8d8627d5.access.telenet.be) (Changing host)
15:32:59 ham joins (~ham4@user/ham)
15:33:09 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
15:33:53 × chomwitt quits (~chomwitt@ppp-2-85-147-24.home.otenet.gr) (Ping timeout: 248 seconds)
15:36:57 hexology- is now known as hexology
15:37:02 zmt00 joins (~zmt00@user/zmt00)
15:37:04 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.2)
15:37:12 ec joins (~ec@gateway/tor-sasl/ec)
15:39:09 × juri_ quits (~juri@178.63.35.222) (Ping timeout: 276 seconds)
15:44:46 burnsidesLlama joins (~burnsides@dhcp168-020.wadham.ox.ac.uk)
15:44:52 justsome1 joins (~justsomeg@user/justsomeguy)
15:50:11 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
15:50:11 <gehmehgeh> hmm, can someone help me clear up the following misunderstanding: why isn't Unboxed.Vector a functor? Or rather: have I misunderstood what "unboxed" means? (could be)
15:50:22 <schuelermine[m]> some Debian versions have no man afaik, if that's you, try sudo apt install man-db
15:51:50 <glguy> gehmehgeh: unboxed vectors use a different representation for every element type, that representation has to be known to construct and index those vectors. Functor need to work for *all* element types
15:52:08 <merijn> gehmehgeh: Functor can't hold *any* possible result value
15:52:12 <glguy> gehmehgeh: 'map :: (Unbox a, Unbox b) => (a -> b) -> Vector a -> Vector b'
15:52:21 <merijn> gehmehgeh: unboxed vectors can only hold Unboxable values
15:52:25 <glguy> but to implement 'fmap' you don't get to rely on those Unbox constraints
15:52:26 <merijn> So you can't implement fmap
15:53:04 <merijn> Same reason why you can't make Set a Functor, really
15:53:55 berberman joins (~berberman@user/berberman)
15:55:04 × berberman_ quits (~berberman@user/berberman) (Ping timeout: 256 seconds)
15:57:49 <gehmehgeh> hmmmm
15:58:13 × Pickchea quits (~private@user/pickchea) (Ping timeout: 258 seconds)
16:00:12 × burnsidesLlama quits (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Remote host closed the connection)
16:00:40 burnsidesLlama joins (~burnsides@dhcp168-020.wadham.ox.ac.uk)
16:00:58 <gehmehgeh> hmm, so, forgive me if this is obvious, but for the regular ("boxed") Vector type, we've got basically an arrays of pointers to elements of type of the Vector, but an UNboxed.Vector is more like an array in C?
16:01:07 hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com)
16:03:22 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
16:04:49 × burnsidesLlama quits (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Ping timeout: 248 seconds)
16:05:06 <gehmehgeh> ah
16:07:29 × rmoe quits (~rmoe@c-71-236-207-44.hsd1.wa.comcast.net) (Ping timeout: 248 seconds)
16:07:34 ec joins (~ec@gateway/tor-sasl/ec)
16:07:40 × jumper149 quits (~jumper149@80.240.31.34) (Quit: WeeChat 3.2)
16:07:43 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
16:09:10 rmoe joins (~rmoe@c-71-236-207-44.hsd1.wa.comcast.net)
16:11:44 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
16:15:22 drd joins (~drd@93-39-151-19.ip76.fastwebnet.it)
16:23:37 × Patternm1ster quits (~georg@li1192-118.members.linode.com) (Quit: leaving)
16:26:25 hrdl_ is now known as hrdl
16:29:11 Patternmaster joins (~georg@li1192-118.members.linode.com)
16:32:18 zebrag joins (~chris@user/zebrag)
16:35:08 burnsidesLlama joins (~burnsides@dhcp168-020.wadham.ox.ac.uk)
16:35:29 juri_ joins (~juri@178.63.35.222)
16:36:01 econo joins (uid147250@user/econo)
16:39:29 × burnsidesLlama quits (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Ping timeout: 248 seconds)
16:44:42 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
16:45:21 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 248 seconds)
16:45:30 chomwitt joins (~chomwitt@ppp-2-85-147-24.home.otenet.gr)
16:47:18 Pickchea joins (~private@user/pickchea)
16:49:00 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
16:49:44 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
16:49:52 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
16:50:36 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
16:54:09 simendsjo joins (~user@84.211.91.241)
16:56:23 <Cale> gehmehgeh: Yeah, that's correct. The boxes are pointers to code actually, when the code is entered, it returns the corresponding value on the stack. There's some pointer tagging which uses the low-order bits of the pointer to store the constructor if there are few enough constructors in the type so you don't always have to jump if the element's been evaluated before, but that's basically the deal.
16:56:30 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
16:56:54 <lechner> Hi, is this also true for mapM_ with an underscore? "mapM is pretty much obsolete; use traverse instead" (seen on slack) Thanks!
16:56:59 <Cale> gehmehgeh: The first time an element gets evaluated, you jump into the code and it computes the result, and rewrites the pointer to point at a much shorter piece of code that just returns the value.
16:57:12 ec joins (~ec@gateway/tor-sasl/ec)
16:57:16 <Cale> lechner: I don't even agree with that advice
16:57:26 <lechner> thank you!
16:57:31 <siraben> mapM is more intuitive at first
16:57:40 <siraben> it's like saying map is deprecated use fmap
16:57:59 <maerwald[m]> I never use map
16:59:08 <Cale> If I see someone using traverse, it's a signal that Monad isn't a broad enough generalisation and perhaps Applicative is required. If that's not true, it's kind of obnoxious.
16:59:33 × xff0x quits (~xff0x@2001:1a81:53d2:1c00:f58c:78ee:80de:d293) (Ping timeout: 258 seconds)
16:59:45 <Cale> It's fine in the case of something like Lens/Traversals where you really want the Applicative abstraction exactly.
17:00:49 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
17:01:54 y04nn joins (~y04nn@91.193.4.154)
17:02:22 <gehmehgeh> Cale: thanks!
17:02:32 <Athas> How do I use callCabal2Nix without getting "dumping very large path" errors? That is, how do I prune its understanding of what the source is?
17:02:39 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:02:43 <Athas> It's a bit ridiculous I need more than 32GiB RAM to build my program.
17:03:02 lavaman joins (~lavaman@98.38.249.169)
17:03:06 <dminuoso> Athas: Uh? Can you elaborate a bit on what errors you're getting?
17:03:17 <Cale> I'm afraid to ask what you're callCabal2Nixing :)
17:04:13 <dminuoso> Im thinking you have a faulty derivation, something with an incredibly large src
17:04:32 <dminuoso> So I'd try overriding the derivation
17:04:37 <Cale> One thing that you can always do is just to run cabal2nix proper, and then you have nix code which you can manipulate by hand.
17:04:38 <Athas> dminuoso: I have a default.nix with a mostly boring setup that uses 'callCabal2Nix', and when I run 'nix-build', I get the warning (and it takes an enormous amount of memory).
17:04:51 <Athas> Cale: that is what I used to do, but I don't want to maintain a separate .nix file.
17:04:52 <dminuoso> What Cale just said. :)
17:04:53 <Cale> That's still at least a few steps away from being helpful though
17:05:14 <dminuoso> If you figure out what's wrong, you can then switch back to callCabal2nix and override the generated derivation with override/overrideAttrs
17:05:20 <Cale> It might be that cabal2nix is generating something pathological in this case somehow?
17:05:28 <Athas> I am relatively sure my default.nix is not particularly awful: https://github.com/diku-dk/futhark/blob/master/default.nix
17:05:50 × justsome1 quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
17:05:56 <Athas> It is almost certainly because I am passing ./. as the source, which contains lots of big stuff (like various cabal and stack directories) and cabal2nix does not prune them.
17:06:34 xff0x joins (~xff0x@2001:1a81:53d2:1c00:f58c:78ee:80de:d293)
17:06:38 <dminuoso> Then you need to cleanSource.
17:06:48 <Athas> The callCabal2nix derivation looks basically completely undocumented (as is tradition), so I have a hard time figuring out how to do anything with it.
17:07:01 <dminuoso> Athas: override the src attribute of the derivation and use lib.cleanSource
17:07:12 <dminuoso> If there's cabal/stack directories, that's the problem
17:07:13 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 248 seconds)
17:07:36 <Athas> How do I use lib.cleanSource? My reading of this is that it might be trying to do something in that regard: https://github.com/NixOS/nixpkgs/blob/34f475f5eae13d18b4e4b8a17aa7a772d8619b0b/pkgs/development/haskell-modules/make-package-set.nix#L201-L216
17:08:07 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
17:08:13 <Cale> I was about to link the very same thing :D
17:08:27 <dminuoso> Sorry, I meant cleanSourceWith
17:08:40 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:09:41 <dminuoso> You override the src attribute with something like: `{ src = lib.cleanSourceWith { filter = p; src = ./.; }; }` where `p` is a suitable predicate that will ignore cabal/stack directories.
17:10:19 <dminuoso> I wonder whether callCabal2nix wouldn't already do this.
17:10:56 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
17:11:12 <Cale> It's already filtering to only .cabal and package.yaml files.
17:11:57 <dminuoso> But really, start by looking at what `src` is in the resulting derivation, and then proceed.
17:12:04 <Athas> dminuoso: I know how to do that when writing derivations by hand (I think), but I have no idea how to slot it into the magic that the callCabal2Nix is doing.
17:12:05 <dminuoso> That'd be my first suspect
17:12:20 <dminuoso> Athas: callCabal2nix produces a derivation, that you can override like any other derivation
17:12:31 <dminuoso> Using override or overrideAttrs
17:13:03 <Athas> I see. I'll try.
17:14:07 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
17:14:55 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:15:24 <Athas> It looks like it's working. Thanks! I guess I will have to maintain the list of source directories in default.nix manually. It would have been nicer if it was just extracted from the cabal file.
17:15:58 <dminuoso> Athas: you can also invert the match and just exclude the pathological directories. That could reduce maintenance
17:16:05 <dminuoso> While not as clean, perhaps
17:16:18 × acertain quits (sid470584@stonehaven.irccloud.com) (Ping timeout: 240 seconds)
17:16:25 <Athas> dminuoso: unfortunately, I also have a habit of storing various large development files in the root directory.
17:16:49 <dminuoso> Im curious why I havent had this type of issue before
17:17:10 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
17:17:30 <Athas> The reason might also be that I have a 'tests' folder that may contain various quite large autogenerated test files.
17:18:20 <dminuoso> 19:11:13 Cale | It's already filtering to only .cabal and package.yaml files.
17:18:22 <dminuoso> Mmm
17:18:49 <dminuoso> Maybe canCleanSource fails?
17:18:50 <Cale> (and in fact, it's not just any .cabal files, it's only the .cabal file that has the right package name)
17:19:08 oxide joins (~lambda@user/oxide)
17:19:10 <dminuoso> If it fails, no cleanSourceWith is called
17:19:11 <Athas> Wait, I also spoke too soon. I thought src could be a list, but I guess not.
17:19:24 <dminuoso> But this is poking at the problem. Look at the generated derivation first.
17:20:01 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
17:20:50 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:21:58 <Athas> The generated derivation contains 'src = ./.', as I would expect.
17:22:35 <dminuoso> Athas: How does `lib.canCleanSource ./.` evaluate with your used nixpkgs?
17:22:37 × SanchayanMaity quits (sid478177@id-478177.stonehaven.irccloud.com) (Ping timeout: 245 seconds)
17:23:33 <Athas> I have no idea how to evaluate that.
17:24:12 <dminuoso> You can use `nix eval`
17:24:14 acertain joins (sid470584@stonehaven.irccloud.com)
17:24:18 × astra` quits (sid289983@user/amish) (Ping timeout: 240 seconds)
17:25:08 <Athas> But there is no 'lib' in that environment. I think this has crossed my threshold of Nix experience.
17:25:19 SanchayanMaity joins (sid478177@stonehaven.irccloud.com)
17:25:28 × xff0x quits (~xff0x@2001:1a81:53d2:1c00:f58c:78ee:80de:d293) (Ping timeout: 272 seconds)
17:25:30 × jakesyl quits (sid56879@id-56879.stonehaven.irccloud.com) (Ping timeout: 240 seconds)
17:25:46 xff0x joins (~xff0x@2001:1a81:53d2:1c00:df20:e0ed:5860:3ed0)
17:26:25 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
17:27:54 × pjlsergeant quits (sid143467@id-143467.stonehaven.irccloud.com) (Ping timeout: 240 seconds)
17:28:18 × rubin55__ quits (sid175221@id-175221.stonehaven.irccloud.com) (Ping timeout: 258 seconds)
17:28:27 × dmj` quits (sid72307@id-72307.stonehaven.irccloud.com) (Ping timeout: 245 seconds)
17:30:32 × joel135 quits (sid136450@id-136450.stonehaven.irccloud.com) (Ping timeout: 245 seconds)
17:31:09 dmj` joins (sid72307@stonehaven.irccloud.com)
17:31:17 rubin55__ joins (sid175221@stonehaven.irccloud.com)
17:32:14 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
17:32:23 mr-red joins (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
17:33:34 joel135 joins (sid136450@stonehaven.irccloud.com)
17:34:37 Tuplanolla joins (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi)
17:34:38 × drd quits (~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 268 seconds)
17:35:33 pjlsergeant joins (sid143467@id-143467.stonehaven.irccloud.com)
17:35:53 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
17:36:39 fendor joins (~fendor@046125250092.public.t-mobile.at)
17:37:44 jakesyl joins (sid56879@stonehaven.irccloud.com)
17:39:51 ec joins (~ec@gateway/tor-sasl/ec)
17:41:53 astra` joins (sid289983@user/amish)
17:43:12 × Boomerang quits (~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 272 seconds)
17:47:38 × mr-red quits (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 272 seconds)
17:48:22 × lechner quits (~lechner@debian/lechner) (Quit: WeeChat 3.0)
17:50:02 × fendor quits (~fendor@046125250092.public.t-mobile.at) (Read error: Connection reset by peer)
17:50:38 × euandreh quits (~euandreh@2804:14c:33:9fe5:9814:dfa2:8237:3c5c) (Quit: WeeChat 3.2)
17:51:39 lechner joins (~lechner@debian/lechner)
17:52:40 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
17:54:32 takuan joins (~takuan@178-116-218-225.access.telenet.be)
17:56:51 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
17:57:26 norias joins (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net)
18:02:11 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
18:03:25 notzmv joins (~zmv@user/notzmv)
18:07:29 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
18:09:13 abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
18:10:44 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
18:12:19 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
18:12:24 × abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Read error: Connection reset by peer)
18:15:20 × dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.2)
18:17:11 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
18:17:48 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
18:18:05 burnsidesLlama joins (~burnsides@client-8-91.eduroam.oxuni.org.uk)
18:20:20 × viluon quits (uid453725@id-453725.brockwell.irccloud.com) (Quit: Connection closed for inactivity)
18:21:58 × y04nn quits (~y04nn@91.193.4.154) (Ping timeout: 258 seconds)
18:22:26 <slack1256> Has someone already written a katip message parser for cli?
18:24:42 ec joins (~ec@gateway/tor-sasl/ec)
18:28:03 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
18:33:07 × Guest7700 quits (~chris@81.96.113.213) (Remote host closed the connection)
18:35:08 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
18:35:55 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
18:36:47 chris joins (~chris@81.96.113.213)
18:36:52 chris is now known as Guest9955
18:37:39 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
18:39:15 × dyeplexer quits (~dyeplexer@user/dyeplexer) (Remote host closed the connection)
18:41:15 × simendsjo quits (~user@84.211.91.241) (Ping timeout: 268 seconds)
18:43:37 mikoto-chan joins (~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be)
18:44:41 abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
18:46:27 lavaman joins (~lavaman@98.38.249.169)
18:49:15 × qbt quits (~edun@user/edun) (Quit: Leaving)
18:54:52 × norias quits (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Quit: Leaving)
18:55:49 y04nn joins (~y04nn@91.193.4.154)
18:56:33 × mattil quits (~mattilinn@87-92-9-185.bb.dnainternet.fi) (Quit: Leaving)
18:57:53 × mikoto-chan quits (~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be) (Quit: mikoto-chan)
18:57:56 × jakesyl quits (sid56879@stonehaven.irccloud.com) (Ping timeout: 272 seconds)
18:58:03 acertain_ joins (sid470584@id-470584.stonehaven.irccloud.com)
18:58:05 dmj`_ joins (sid72307@id-72307.stonehaven.irccloud.com)
18:58:05 SanchayanMaity_ joins (sid478177@id-478177.stonehaven.irccloud.com)
18:58:09 × dmj` quits (sid72307@stonehaven.irccloud.com) (Ping timeout: 248 seconds)
18:58:09 dmj`_ is now known as dmj`
18:58:12 rubin55___ joins (sid175221@id-175221.stonehaven.irccloud.com)
18:58:21 jakalx joins (~jakalx@base.jakalx.net)
18:58:22 joel135_ joins (sid136450@id-136450.stonehaven.irccloud.com)
18:58:24 jakesyl joins (sid56879@id-56879.stonehaven.irccloud.com)
18:58:30 × joel135 quits (sid136450@stonehaven.irccloud.com) (Ping timeout: 268 seconds)
18:58:31 × acertain quits (sid470584@stonehaven.irccloud.com) (Ping timeout: 268 seconds)
18:58:31 joel135_ is now known as joel135
18:58:31 acertain_ is now known as acertain
18:58:41 × SanchayanMaity quits (sid478177@stonehaven.irccloud.com) (Ping timeout: 248 seconds)
18:58:41 SanchayanMaity_ is now known as SanchayanMaity
18:59:45 × rubin55__ quits (sid175221@stonehaven.irccloud.com) (Ping timeout: 268 seconds)
19:02:08 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
19:04:05 torei joins (~torei@134.6.182.130)
19:07:55 falsifia1 is now known as falsifian
19:09:10 Neuromancer is now known as Meowmancer
19:09:22 ec joins (~ec@gateway/tor-sasl/ec)
19:09:35 × y04nn quits (~y04nn@91.193.4.154) (Remote host closed the connection)
19:09:42 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
19:09:47 y04nn joins (~y04nn@91.193.4.154)
19:10:16 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
19:10:16 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
19:10:36 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
19:12:14 nvmd joins (~nvmd@user/nvmd)
19:15:48 MoC joins (~moc@user/moc)
19:16:30 × phma quits (phma@2001:5b0:211f:8128:db0d:fde3:6e3b:4745) (Read error: Connection reset by peer)
19:16:41 polyphem joins (~polyphem@2a02:810d:640:776c:5d1:5727:1484:7756)
19:17:40 × Guest9955 quits (~chris@81.96.113.213) (Remote host closed the connection)
19:17:52 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
19:19:16 pavonia joins (~user@user/siracusa)
19:21:02 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 258 seconds)
19:21:15 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
19:23:06 chris joins (~chris@81.96.113.213)
19:23:08 chris is now known as Guest612
19:25:27 Guest717 joins (~Guest71@46.97.169.79)
19:27:33 × Guest612 quits (~chris@81.96.113.213) (Ping timeout: 258 seconds)
19:28:34 phma joins (~phma@host-67-44-208-170.hnremote.net)
19:29:30 jneira_ joins (~jneira_@28.red-80-28-169.staticip.rima-tde.net)
19:30:49 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
19:33:53 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
19:35:06 × phma quits (~phma@host-67-44-208-170.hnremote.net) (Read error: Connection reset by peer)
19:36:51 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
19:39:30 × wrengr quits (~wrengr@56.4.82.34.bc.googleusercontent.com) (Quit: leaving)
19:39:55 wrengr joins (~wrengr@56.4.82.34.bc.googleusercontent.com)
19:40:06 Guest85 joins (~Guest85@37.120.213.214)
19:40:39 × Guest85 quits (~Guest85@37.120.213.214) (Client Quit)
19:41:06 n00b joins (~n00b@37.120.213.214)
19:41:33 × n00b quits (~n00b@37.120.213.214) (Client Quit)
19:42:18 t0mmytucker joins (~t0mmytuck@37.120.213.214)
19:42:28 <t0mmytucker> hi
19:43:22 <geekosaur> hello
19:44:30 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
19:44:33 × alx741 quits (~alx741@181.196.68.21) (Ping timeout: 248 seconds)
19:46:00 × curiousgay quits (~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 268 seconds)
19:47:18 <t0mmytucker> Can anyone recommend a tutorial or a book for a beginner with no programming experience? I know html, css, js, little bit python (no functions). Ive tried some days with ghc interpreter to build some basic functions. i know the first terminologies and can imagine a little bit how a functional program is working. Im missing some ressources. Thanks
19:47:19 <t0mmytucker> in advance!
19:47:20 cladur joins (~cladur@user-5-173-148-81.play-internet.pl)
19:48:06 phma joins (phma@2001:5b0:212a:a0b8:2aef:905b:9871:3b3f)
19:52:01 × cladur quits (~cladur@user-5-173-148-81.play-internet.pl) (Ping timeout: 248 seconds)
19:52:01 ec joins (~ec@gateway/tor-sasl/ec)
19:53:45 <PinealGl1ndOptic> t0mmytucker: just take a book about ANY PL and do exercises...
19:54:07 <PinealGl1ndOptic> t0mmytucker: if a PL is too hard to you, switch to another book/PL
19:56:52 × phma quits (phma@2001:5b0:212a:a0b8:2aef:905b:9871:3b3f) (Read error: Connection reset by peer)
19:58:09 alx741 joins (~alx741@181.196.68.193)
20:00:23 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
20:00:52 × _73 quits (~user@pool-96-252-123-136.bstnma.fios.verizon.net) (Ping timeout: 258 seconds)
20:01:02 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
20:02:17 × t0mmytucker quits (~t0mmytuck@37.120.213.214) (Quit: Client closed)
20:05:21 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds)
20:05:28 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
20:05:44 × juhp quits (~juhp@128.106.188.220) (Ping timeout: 268 seconds)
20:06:51 juhp joins (~juhp@128.106.188.220)
20:08:28 × burnsidesLlama quits (~burnsides@client-8-91.eduroam.oxuni.org.uk) (Remote host closed the connection)
20:09:00 burnsidesLlama joins (~burnsides@dhcp168-020.wadham.ox.ac.uk)
20:09:25 × enoq quits (~enoq@194-208-179-35.lampert.tv) (Quit: enoq)
20:10:00 × emliunix quits (~emliunix@103.138.75.119) (Remote host closed the connection)
20:10:02 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 268 seconds)
20:10:18 MQ-17J joins (~MQ-17J@2607:fb90:88ea:7cc1:9d82:e229:44e6:1bb6)
20:10:20 × burnsidesLlama quits (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Remote host closed the connection)
20:10:22 emliunix joins (~emliunix@2a09:bac0:23::815:bca)
20:10:39 Erutuon joins (~Erutuon@user/erutuon)
20:10:56 burnsidesLlama joins (~burnsides@dhcp168-020.wadham.ox.ac.uk)
20:12:50 drd joins (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
20:13:25 <Athas> Is there a way to pass an arbitrary string to 'cabal configure' that I can then access from within my Haskell code?
20:13:47 <Athas> I'm looking for basically a parameterised flag, I suppose.
20:15:10 phma joins (~phma@2001:0:c38c:c38c:28bb:48fc:bcd3:2f7c)
20:15:36 × burnsidesLlama quits (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
20:16:41 <Cajun> you can push something to stdin with a pipe like `echo "this will be in stdin" | cabal run`
20:17:04 <Athas> I need this at compile-time.
20:17:49 <Cajun> does this help at all? https://stackoverflow.com/questions/31821952/flags-in-cabal-files
20:18:10 <sclv> Athas: i don't think so, but there may be some almost-as-good solution given a specific use case
20:18:16 <sclv> if you want to provide the use case
20:18:20 <Athas> Boolean flags are not enough.
20:18:32 mousey joins (~skymouse@gateway/tor-sasl/mousey)
20:18:51 <sclv> ok but what is the use case
20:19:17 <sclv> (one hacky workaround would be to pass specific command line args for cpp like so https://gcc.gnu.org/onlinedocs/cpp/Invocation.html and then use the defines in your code)
20:19:27 <Athas> My use case is that I want to embed Git revision information. I use TH to read .git if it's present, but the Nix Haskell infrastructure removes .git. I suppose I can wrangle it into preserving .git somehow, but I wanted to check if I could just pass an arbitrary string to 'cabal configure' from within my Nix file.
20:20:11 <sclv> if you're already in nix, the simplest thing is to have it generate a haskell module for you with the appropriate rev info
20:21:42 × drd quits (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Quit: ZNC 1.8.2 - https://znc.in)
20:22:18 Atum_ joins (~IRC@user/atum/x-2392232)
20:22:34 × Guest717 quits (~Guest71@46.97.169.79) (Ping timeout: 246 seconds)
20:22:43 <Athas> Maybe. I hope just adding .git to the list of source directories might also work, but who knows if some other layer in this babelesque tower of complexity will filter it out again...
20:25:13 <Athas> No! It'll work! Great.
20:26:47 × phma quits (~phma@2001:0:c38c:c38c:28bb:48fc:bcd3:2f7c) (Ping timeout: 245 seconds)
20:26:52 phma_ joins (phma@2001:5b0:211f:aa18:2160:1c27:b242:2759)
20:28:26 chris joins (~chris@81.96.113.213)
20:28:29 chris is now known as Guest3205
20:29:27 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
20:31:25 skykanin joins (~skykanin@115.81-166-221.customer.lyse.net)
20:31:25 <janus> what was the example of malicious Read usage parsing a simple type but never rejecting it even though the input is giant? (a DoS, i think?)
20:31:47 × oxide quits (~lambda@user/oxide) (Quit: oxide)
20:32:02 <janus> i think it was because Read does tokenization for all input?
20:32:08 tommd joins (~tommd@cpe-76-179-204-251.maine.res.rr.com)
20:34:04 × skykanin quits (~skykanin@115.81-166-221.customer.lyse.net) (Client Quit)
20:34:14 skykanin joins (~skykanin@115.81-166-221.customer.lyse.net)
20:35:19 × Guest3205 quits (~chris@81.96.113.213) (Remote host closed the connection)
20:36:38 ec joins (~ec@gateway/tor-sasl/ec)
20:36:45 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
20:38:44 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
20:39:18 chris joins (~chris@81.96.113.213)
20:39:23 chris is now known as Guest9632
20:39:23 wootehfoot joins (~wootehfoo@user/wootehfoot)
20:43:04 × vysn quits (~vysn@user/vysn) (Ping timeout: 272 seconds)
20:43:43 acidjnk_new joins (~acidjnk@p200300d0c72b9574c56a490b8c03a837.dip0.t-ipconnect.de)
20:44:10 × phma_ quits (phma@2001:5b0:211f:aa18:2160:1c27:b242:2759) (Read error: Connection reset by peer)
20:49:13 phma_ joins (phma@2001:5b0:211f:5fe8:78b1:ef72:430f:1b2b)
20:51:41 × fresheyeball quits (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9)
20:52:11 × mousey quits (~skymouse@gateway/tor-sasl/mousey) (Ping timeout: 244 seconds)
20:52:53 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
20:54:42 × MQ-17J quits (~MQ-17J@2607:fb90:88ea:7cc1:9d82:e229:44e6:1bb6) (Read error: Connection reset by peer)
20:55:09 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
20:55:21 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
20:56:55 mnrmnaugh is now known as KeziahMason
20:59:07 KeziahMason is now known as mnrmnaugh
20:59:13 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 248 seconds)
20:59:31 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
21:02:23 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
21:06:41 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds)
21:07:18 lavaman joins (~lavaman@98.38.249.169)
21:11:06 × tommd quits (~tommd@cpe-76-179-204-251.maine.res.rr.com) (Ping timeout: 268 seconds)
21:11:41 <tapas> https://discourse.haskell.org/t/state-of-the-core-libraries-committee/2868
21:12:39 ubert joins (~Thunderbi@91.141.46.44.wireless.dyn.drei.com)
21:13:20 × y04nn quits (~y04nn@91.193.4.154) (Remote host closed the connection)
21:15:48 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 256 seconds)
21:15:57 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
21:17:04 × biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer)
21:17:11 justsomeguy joins (~justsomeg@user/justsomeguy)
21:22:24 slac54596 joins (~slack1256@191.125.227.82)
21:22:54 × dmwit_ quits (~dmwit@pool-108-18-198-142.washdc.fios.verizon.net) (Ping timeout: 258 seconds)
21:23:18 ec joins (~ec@gateway/tor-sasl/ec)
21:24:39 × slack1256 quits (~slack1256@181.203.126.41) (Ping timeout: 268 seconds)
21:27:49 × torei quits (~torei@134.6.182.130) (Quit: Leaving)
21:31:22 deejaytee joins (~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net)
21:32:02 × doyougnu quits (~user@c-73-25-202-122.hsd1.or.comcast.net) (Remote host closed the connection)
21:32:02 slack1256 joins (~slack1256@181.203.126.41)
21:32:42 xcmw joins (~textual@2603-6011-2200-f103-402c-0cc9-e9a3-e4f0.res6.spectrum.com)
21:33:46 mastarija joins (~mastarija@78-3-210-70.adsl.net.t-com.hr)
21:34:31 × slac54596 quits (~slack1256@191.125.227.82) (Ping timeout: 268 seconds)
21:34:49 × mastarija quits (~mastarija@78-3-210-70.adsl.net.t-com.hr) (Read error: Connection reset by peer)
21:35:57 oso joins (~oso@2601:58c:c080:a950:f275:2530:b398:680b)
21:36:04 × bin_ quits (~bin@user/bin/x-1583188) (Quit: ZNC - https://znc.in)
21:36:23 _bin joins (~bin@user/bin/x-1583188)
21:37:02 biberu joins (~biberu@user/biberu)
21:38:51 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
21:39:34 × Cajun quits (~Cajun@user/cajun) (Quit: Client closed)
21:39:36 × polyphem quits (~polyphem@2a02:810d:640:776c:5d1:5727:1484:7756) (Remote host closed the connection)
21:43:49 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
21:47:30 <janus> davean: oh, did you see what tapas posted? it's related to the CLC
21:54:27 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
21:54:27 allbery_b joins (~geekosaur@xmonad/geekosaur)
21:54:30 allbery_b is now known as geekosaur
21:55:03 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
21:55:51 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
22:00:38 <dsal> > read (cycle "1") :: Integer
22:00:44 <lambdabot> mueval-core: Time limit exceeded
22:00:54 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
22:01:15 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
22:04:02 × mei quits (~mei@user/mei) (Read error: Connection reset by peer)
22:05:24 × ubert quits (~Thunderbi@91.141.46.44.wireless.dyn.drei.com) (Ping timeout: 272 seconds)
22:06:28 × chomwitt quits (~chomwitt@ppp-2-85-147-24.home.otenet.gr) (Remote host closed the connection)
22:08:47 ec joins (~ec@gateway/tor-sasl/ec)
22:08:56 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
22:13:53 × dextaa quits (~DV@user/dextaa) (Ping timeout: 248 seconds)
22:14:51 dextaa joins (~DV@user/dextaa)
22:15:30 × oso quits (~oso@2601:58c:c080:a950:f275:2530:b398:680b) (Quit: Client closed)
22:16:36 <janus> > read (cycle "1") :: Int
22:16:42 <lambdabot> mueval-core: Time limit exceeded
22:16:49 <glguy> Aww, I thought it might work that time
22:16:56 <janus> ah right, thanks dsal!
22:16:58 <glguy> >_>
22:17:38 <janus> glguy: sarcastic? i tried it because Integer allows for infinite size, i thought. so it would make more sense to show for Int
22:17:58 <glguy> janus: yeah, </s> ; of course it can't work for either
22:18:40 <janus> what is the "obvious" reason you're referring to here? because it isn't readMaybe? or because everybody is presumed to know how it works internally?
22:18:52 <glguy> the only thing it can do is fail
22:19:33 <glguy> It certainly can't produce an Int
22:19:36 <janus> but a granular exception would be better than time limit exceeded. there are many ways of failing even in haskell
22:22:36 <monochrom> "integer allows for infinite size" is a misconception. Subtle, yes, but it will bite you one day.
22:23:21 × Tuplanolla quits (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.)
22:23:35 <monochrom> There is a difference between "infinitely many possibilities" and "one such possibility is infinite in any sense at all"
22:24:12 <monochrom> Every integer has finite size. We just don't have one single upper bound that caps over all integers.
22:24:44 × michalz quits (~michalz@185.246.204.61) (Remote host closed the connection)
22:24:51 <glguy> even if Integer had a value called "Infinity", read couldn't know to return it given (cycle "1")
22:25:15 <dsal> > read (cycle "0") :: Integer
22:25:21 <lambdabot> mueval-core: Time limit exceeded
22:25:22 <dsal> Be smarter, Haskell!
22:25:26 <glguy> > read "100000000000000000000" :: Int
22:25:27 <lambdabot> 7766279631452241920
22:25:29 <monochrom> For the same reason I prefer to describe the Turing machine tape size as "as much as you actually use, on demand" rather than "infinite". You will never actually use infinitely many cells. Never.
22:25:53 <glguy> and as long as modular behavior is allowed there the behavior of read (cycle "1") :: Int could never sanely be anything other than a timeout
22:26:18 <janus> can i say "unbounded" instead of "as much as you can actually use, on demand" ?
22:26:23 <oak-> > read "1000000000000000000000000000000000000000000000000" :: Integer
22:26:25 <lambdabot> 1000000000000000000000000000000000000000000000000
22:26:44 <monochrom> Yes "unbounded" is right.
22:27:14 <dsal> Bounded only by your computer's imagination.
22:27:55 lavaman joins (~lavaman@98.38.249.169)
22:30:10 <monochrom> Statically determining semantic properties of "read (cycle "1")" is a very involved static analysis problem.
22:31:21 <monochrom> Or rather, the real question hiding behind the proxy question "I just need the computer to be just smart enough for that one single example" is.
22:31:35 <monochrom> No one really ever just means wanting just one example solved.
22:32:07 allbery_b joins (~geekosaur@xmonad/geekosaur)
22:32:07 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
22:32:10 allbery_b is now known as geekosaur
22:32:19 <monochrom> It is a long-running meme.
22:32:55 <monochrom> When programmer has just a specific, special-case problem in mind, they must ask the generalized question.
22:32:59 <janus> i am really more worried about DoS attacks if i use 'read' on something i got from the network
22:33:14 <monochrom> And when they have a general problem in mind, they must just ask one example.
22:33:33 <monochrom> It is like their brain actually knows the right question, then pass it through a not-gate.
22:33:56 <hpc> or like they can only consciously think in terms of examples?
22:34:01 <geekosaur> janus, that's only an issue if you got something infinite from the network
22:34:10 <geekosaur> which would be difficult
22:34:26 × xcmw quits (~textual@2603-6011-2200-f103-402c-0cc9-e9a3-e4f0.res6.spectrum.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:34:32 <geekosaur> how would you store it to feed it to read?
22:34:39 <monochrom> You are actively inviting DoS in the first place the moment you say you accept as many bytes as the other side sends you.
22:34:53 <deejaytee> monochrom: this is what blows me away with GHC, sometimes you turn on the right language extensions and it just solves a specific case, and I'm sitting there knowing that that must mean it solves it in the general case (for some loose definition of general), while I struggle to formulate & solve even a specific example
22:35:42 <deejaytee> I'm half-convinced that GHC might just end up being the first program to spontaneously gain sentience
22:35:42 × Atum_ quits (~IRC@user/atum/x-2392232) (Remote host closed the connection)
22:35:48 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
22:35:59 Atum_ joins (~IRC@user/atum/x-2392232)
22:36:01 <deejaytee> {-# LANGUAGE GeneralArtificialIntelligence #-}
22:36:05 <janus> geekosaur: ok, let's say i have a receive limit of 100 kibibytes. is it safe to use Read? i am not trying to determine anything about infinities. i am trying to determine whether Read is a problem for non-streaming applications with normal message sizes and parsing untrusted data
22:36:26 <monochrom> hpc, I refuse to believe that programmers only think in terms of examples. Last time I checked they spoke like "hi how do I debug type errors?" in its most generality when they already had one single example, "f x = x ++ [x]"
22:37:00 <deejaytee> ah, shoot, I forgot to include {-# LANGUAGE SelfAwareAndSentient #-}
22:37:40 <monochrom> If you paid me 1 cent every time an asker here doesn't put their actual code on a paste bin, I would be rich and could retire now.
22:37:53 <hpc> when that happens to me at work i link them to https://youtu.be/ZKxr0wyIic4?t=10 :D
22:37:55 <deejaytee> (admittedly I have limited experience with proof systems, I'm sure there are stronger candidates for "smart programs that infer things I cannot")
22:38:14 <monochrom> Heh
22:38:23 <monochrom> We need to say that more to askers.
22:38:23 <deejaytee> hpc: hehe
22:38:25 × acidjnk_new quits (~acidjnk@p200300d0c72b9574c56a490b8c03a837.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
22:39:16 <monochrom> As it happens, I am giving a network socket assignment to my students in a unix-and-C course.
22:39:43 <monochrom> And I provide the exes of some good and bad the-other-side's for them to test against.
22:40:15 <monochrom> One of the bad ones guarantees to send you a message of "many, many bytes".
22:40:23 <hpc> hah, awesome
22:40:25 <geekosaur> janus, I think read is safe there. that said, I wouldn't use it because it's not very good at what it does
22:40:39 <monochrom> And by that I mean it simply doesn't end, it keeps sending more and more packets.
22:41:15 <monochrom> You know, just in case a student deludes themselves into thinking that "640GB ought to be enough for everyone".
22:41:57 <monochrom> Oh even the good ones are juicy.
22:43:05 <monochrom> To drive home the point that stream sockets lose packet boundaries, the good ones fragment one message into randomly many write()'s, and even merge two messages into one single write().
22:43:47 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
22:43:55 <glguy> monochrom: What's the actual assignment (roughly)?
22:44:49 <monochrom> I'll tell the tldr after this URL to the whole thing: http://www.cs.utoronto.ca/~trebla/CSCB09-2021-Summer/a4/
22:45:09 <geekosaur> janus, it's convenient but slow and wasteful, and you almost certainly don't need its full generality. and haskell makes it almost trivial to write parsers that work better
22:45:11 <monochrom> The student is to write one server and one client for the same protocol.
22:45:16 bitmapper joins (uid464869@id-464869.tooting.irccloud.com)
22:45:44 <monochrom> The protocol is newline-delimited messages, with known upper bounds on legal messages.
22:46:02 × forell_ quits (~forell@host-178-216-90-220.sta.tvknaszapraca.pl) (Changing host)
22:46:02 forell_ joins (~forell@user/forell)
22:46:07 forell_ is now known as forell
22:47:03 <monochrom> The server side is to receive a name, look up a phone number from a file it can access, then send the phone number.
22:48:05 <hpc> random thought: a good follow-up assignment would be to have them implement all the test case clients
22:48:08 <hpc> including the bad ones
22:48:46 <janus> geekosaur: all right , thanks!
22:51:38 ec joins (~ec@gateway/tor-sasl/ec)
22:54:25 × finsternis quits (~X@23.226.237.192) (Remote host closed the connection)
22:57:24 Meowmancer is now known as Neuromancer
23:00:11 <dsal> > product (cycle 0) -- I actually do think this one should work
23:00:13 <lambdabot> error:
23:00:13 <lambdabot> • No instance for (Num [Integer]) arising from a use of ‘e_10’
23:00:13 <lambdabot> • In the expression: e_10
23:00:25 <dsal> Well, something like that.
23:00:56 <monochrom> product (repeat 0)
23:01:02 <dsal> oh. I just woke up. heh
23:01:33 <dsal> But yeah. I don't quite understand why product doesn't short circuit. That one exact simple case I'm thinking of.
23:01:42 <monochrom> Our standard (*) is defined to be very strict. To be sure, it is just someone's decision, not the only good one.
23:02:48 <dsal> I don't know that it's ever affected me. I just feel smarter than my computer when I see that and I don't like speaking so poorly of computers.
23:02:52 × Atum_ quits (~IRC@user/atum/x-2392232) (Remote host closed the connection)
23:03:01 <monochrom> @quote monochrom 389238493
23:03:01 <lambdabot> monochrom says: some kind of lazy evaluation is already known to highschool kids. teachers tell you that in a*(b+c), "evaluate b+c first", right? well, I challenge you to take 0*(389238493+97283748)
23:03:01 <lambdabot> and find one single student who faithfully evaluate 389238493+97283748 first.
23:03:28 × Natch quits (~natch@c-e070e255.014-297-73746f25.bbcust.telenor.se) (Remote host closed the connection)
23:04:46 × MoC quits (~moc@user/moc) (Quit: Konversation terminated!)
23:09:28 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
23:09:30 × dermato quits (~dermatobr@154.21.23.75) (Ping timeout: 268 seconds)
23:09:37 Matthias1 joins (~Matthias1@2603-8001-b545-4900-9150-e432-def8-8add.res6.spectrum.com)
23:12:42 dermato joins (~dermatobr@154.21.23.75)
23:15:40 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
23:19:54 cladur joins (~cladur@user-5-173-146-83.play-internet.pl)
23:22:15 machinedgod joins (~machinedg@24.105.81.50)
23:27:23 × shapr quits (~user@pool-108-28-144-11.washdc.fios.verizon.net) (Ping timeout: 268 seconds)
23:28:13 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
23:29:13 × cladur quits (~cladur@user-5-173-146-83.play-internet.pl) (Ping timeout: 268 seconds)
23:31:02 Guest366 joins (~Guest3@221.124.9.182)
23:32:05 × dermato quits (~dermatobr@154.21.23.75) (Ping timeout: 258 seconds)
23:32:36 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
23:33:00 ec joins (~ec@gateway/tor-sasl/ec)
23:33:55 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
23:34:18 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2)
23:35:02 dermato joins (~dermatobr@154.21.23.75)
23:40:29 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
23:41:32 × PinealGl1ndOptic quits (~PinealGla@37.115.210.35) (Quit: leaving)
23:44:53 × deejaytee quits (~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) (Quit: Leaving)
23:44:53 × bontaq quits (~user@ool-18e47f8d.dyn.optonline.net) (Remote host closed the connection)
23:46:10 × wrengr quits (~wrengr@56.4.82.34.bc.googleusercontent.com) (Quit: leaving)
23:51:04 × derelict quits (~derelict@user/derelict) (Quit: WeeChat 3.2)
23:51:15 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 258 seconds)
23:51:41 wrengr joins (~wrengr@56.4.82.34.bc.googleusercontent.com)
23:55:45 × amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 268 seconds)
23:56:55 <lechner> Hi, what's a popular, simple but validating HTTPS request library please?

All times are in UTC on 2021-08-10.