2021/03/04

2021-03-04 00:00:27 +0100 <monochrom> I don't understand how 100MB is considered "O(1) size".
2021-03-04 00:01:07 +0100 <d34df00d> Hmm.
2021-03-04 00:01:08 +0100 <d34df00d> Hold on.
2021-03-04 00:01:31 +0100 <d34df00d> Nope, don't hold on. In my measurements, it was the size of the original string (that resided in memory anyway).
2021-03-04 00:01:47 +0100 <pjb> monochrom: the universe is finite, therefore 100 MB is O(1).
2021-03-04 00:01:57 +0100 <d34df00d> That is, replacing this function by `id` didn't change the memory consumption.
2021-03-04 00:02:00 +0100 <pjb> monochrom: anything that's inside this universe is O(1).
2021-03-04 00:02:47 +0100 <koz_> Suppose I have Foo of kind (Type -> Type) -> Type. If I write 'deriving stock (Generic)', what would the constraints on the generated instance look like?
2021-03-04 00:02:49 +0100conal_(~conal@64.71.133.70)
2021-03-04 00:02:52 +0100 <pjb> even worse: your computer is a very small part of this universe, and your life expectency is a very small part of this universe.
2021-03-04 00:02:53 +0100 <int-e> . o O ( you have reached the algorithm complexity hotline. the next representative will be available to talk to you in O(1) time. )
2021-03-04 00:03:07 +0100 <Axman6> koz_: can :info tell you?
2021-03-04 00:03:18 +0100 <koz_> Axman6: I dunno, can it?
2021-03-04 00:03:37 +0100 <Axman6> \_(ツ)_/¯
2021-03-04 00:03:49 +0100ukari(~ukari@unaffiliated/ukari) (Remote host closed the connection)
2021-03-04 00:04:14 +0100 <Axman6> oh no, my hand fell off again
2021-03-04 00:04:17 +0100ukari(~ukari@unaffiliated/ukari)
2021-03-04 00:04:28 +0100dunj3(~dunj3@p200300f61714a669de906847d1a6f7e3.dip0.t-ipconnect.de) (Quit: Leaving)
2021-03-04 00:04:31 +0100 <koz_> Nope.
2021-03-04 00:04:34 +0100 <Axman6> :info Generic might be more useful than :info Foo though
2021-03-04 00:05:11 +0100 <koz_> Tells me nothing either.
2021-03-04 00:05:26 +0100 <koz_> It just says (the equivalent of) 'instance Generic (Foo f)'.
2021-03-04 00:06:06 +0100 <Axman6> interesting. What's Rep (Foo f) look like? (I'm just curious now)
2021-03-04 00:06:16 +0100 <monochrom> I have looked at core, and both -O and -O2. Strict already does the implicit bang pattern I want.
2021-03-04 00:06:25 +0100 <Axman6> as in (I think) :kind! Rep (Foo Maybe)
2021-03-04 00:06:43 +0100Neuromancer(~Neuromanc@unaffiliated/neuromancer) (Read error: Connection reset by peer)
2021-03-04 00:07:43 +0100 <wmacmil> i'm just beginning to use Dante, if I hover over an error it gives the error message, but only for like 2 seconds
2021-03-04 00:07:55 +0100 <monochrom> In fact even better, the loop works on Int# directly, no Int.
2021-03-04 00:07:58 +0100 <wmacmil> is there any way to keep it longer? or display the error message somewhere else?
2021-03-04 00:08:13 +0100 <d34df00d> Why is it so slow then?
2021-03-04 00:09:10 +0100 <monochrom> Does the fast version ever produce any bytestring other than the empty one?
2021-03-04 00:09:30 +0100 <Axman6> that code feels like a perfect thing to use stream fusion or the foldl package, it's kind of a hybrid of both
2021-03-04 00:10:10 +0100stree(~stree@68.36.8.116)
2021-03-04 00:10:16 +0100 <Axman6> wmacmil: this is a speed reading feature intended to help you read faster, keep practicing!
2021-03-04 00:11:12 +0100Katarushisu(~Katarushi@cpc152083-finc20-2-0-cust170.4-2.cable.virginm.net) (Quit: Ping timeout (120 seconds))
2021-03-04 00:11:28 +0100 <monochrom> Whereas the slow version actually uses "first" to do: get the tuple (x, y) from the recursive call, now I want (c : x , y) instead. That's expensive on multiple fronts.
2021-03-04 00:11:30 +0100Raito_Bezarius(~Raito@unaffiliated/raito-bezarius/x-8764578)
2021-03-04 00:11:31 +0100Tesseraction(~Tesseract@unaffiliated/tesseraction) (Read error: Connection reset by peer)
2021-03-04 00:12:11 +0100seanparsons(~sean@cpc145088-gill21-2-0-cust281.20-1.cable.virginm.net) (Remote host closed the connection)
2021-03-04 00:12:12 +0100Anthaas(~Anthaas@unaffiliated/anthaas) (Quit: ZNC 1.7.1 - https://znc.in)
2021-03-04 00:12:34 +0100Anthaas(~Anthaas@unaffiliated/anthaas)
2021-03-04 00:12:40 +0100seanparsons(~sean@cpc145088-gill21-2-0-cust281.20-1.cable.virginm.net)
2021-03-04 00:12:47 +0100Katarushisu(~Katarushi@cpc152083-finc20-2-0-cust170.4-2.cable.virginm.net)
2021-03-04 00:13:20 +0100 <Axman6> would the irrefutable pattern thing help there? go skips (byte : rest) = case go skips rest of ~(xs,i) -> (byte : xs, i)?
2021-03-04 00:13:23 +0100Tesseraction(~Tesseract@unaffiliated/tesseraction)
2021-03-04 00:13:25 +0100 <monochrom> Ah OK the fast version produces non-empty, non-constant output.
2021-03-04 00:13:49 +0100zaquest(~notzaques@5.128.210.178) (Quit: Leaving)
2021-03-04 00:14:09 +0100 <Axman6> I also wonder if builders would help, particularly if you know what the final buffer size needs to be
2021-03-04 00:14:12 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
2021-03-04 00:14:32 +0100 <monochrom> Still, it is along the line of "filter p (x:xs) | p x = x : recursive call". That's very much cheaper than "case recursive call of (x,y) -> (c:x, y)"
2021-03-04 00:14:42 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-04 00:15:07 +0100zaquest(~notzaques@5.128.210.178)
2021-03-04 00:17:31 +0100 <d34df00d> Yea, that explains why it's faster and has better memory consumption, but is it possible to write the counting version in a similar fashion?
2021-03-04 00:17:39 +0100 <monochrom> I would use the Builder thingies. Then it is really a foldl' .
2021-03-04 00:19:34 +0100 <d34df00d> Hmm, I just realized I want an (unboxed or storable) vector of it anyway, so right now I'm unpacking that later again and repacking... fromList'ing, that is, into a vector.
2021-03-04 00:20:04 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-03-04 00:20:05 +0100 <d34df00d> And since my input is lazy, I can't construct a vector in O(1) even via the .Internal stuff.
2021-03-04 00:20:33 +0100 <d34df00d> I shall probably just become impure and do everything in an ST monad or something.
2021-03-04 00:22:54 +0100 <monochrom> Axman6: After some thoughts, I think it just delays the inevitable.
2021-03-04 00:24:06 +0100 <monochrom> I mean the ~(xs,i) -> (byte:xs, i) idea.
2021-03-04 00:24:23 +0100 <Axman6> If the output size is likely to be comparable to the size of the input then doing it in ST, allocating the buffer to write into seems like the best option. might waste a bit of ram, but only in a single object
2021-03-04 00:25:56 +0100cgadski(~textual@a95-95-106-208.cpe.netcabo.pt) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-04 00:27:36 +0100conal_(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-03-04 00:30:27 +0100poscat(~poscat@123.116.89.28) (Ping timeout: 256 seconds)
2021-03-04 00:31:09 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 264 seconds)
2021-03-04 00:31:09 +0100poscat(~poscat@2408:8207:482e:5730::1)
2021-03-04 00:31:14 +0100fissureman(~quassel@c-73-201-159-163.hsd1.dc.comcast.net)
2021-03-04 00:31:29 +0100 <d34df00d> I need it as a vector anyway (or so I think), and there are not that many bytes removed (less than 1% typically), so looks like the extra overhead is inevitable.
2021-03-04 00:31:57 +0100 <d34df00d> The problem at hand is that I'm writing a jpeg decoder just for lulz, and I need to do certain massaging on the compressed image bytes.
2021-03-04 00:32:26 +0100 <d34df00d> The other problem is that I'm using binary for deserialization, and doing all this byte fiddling at deserialization time seems even worse.
2021-03-04 00:34:31 +0100 <monochrom> Hrm, "first" already does ~(x,y).
2021-03-04 00:34:33 +0100__monty__(~toonn@unaffiliated/toonn) (Quit: leaving)
2021-03-04 00:34:47 +0100notzmv(~zmv@unaffiliated/zmv)
2021-03-04 00:35:17 +0100 <Axman6> Good to know
2021-03-04 00:36:03 +0100Varis(~Tadas@unaffiliated/varis) (Quit: Leaving)
2021-03-04 00:36:56 +0100 <monochrom> % case Data.Bifunctor.first undefined undefined of (_,_) -> "dab"
2021-03-04 00:36:56 +0100 <yahb> monochrom: "dab"
2021-03-04 00:37:01 +0100 <monochrom> very lazy
2021-03-04 00:37:25 +0100 <Axman6> needs to pull itself up by its bootstraps
2021-03-04 00:37:48 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2021-03-04 00:38:19 +0100 <d34df00d> Also, too bad binary doesn't have a monad transformer so that I could stack Get on top of ST.
2021-03-04 00:38:33 +0100 <d34df00d> Then I could do all this vectors nonsense without constant reallocations.
2021-03-04 00:39:02 +0100 <Axman6> I pushed for adding a parameter to the ceborg/serialise stuff for exactly this reason
2021-03-04 00:39:10 +0100 <Axman6> cborg*
2021-03-04 00:39:38 +0100 <mananamenos> Hi, im reading https://ocharles.org.uk/posts/2016-01-26-transformers-free-monads-mtl-laws.html and there is `env :: M Environment; env = M ask` in the beginning of the article. I can't figure out how/why this snippet typechecks. `ask` from Control.Monad.Trans.Reader returns a value of type `ReaderT r m r`, so that snippet's type would be `env :: M (ReaderT Environment (StateT State IO) a)`. How is it `M Environment`?`
2021-03-04 00:40:33 +0100zebrag(~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-03-04 00:40:55 +0100cole-h_(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-03-04 00:40:56 +0100zebrag(~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr)
2021-03-04 00:41:03 +0100 <monochrom> r = ReaderT hardcoded because of the definition of M.
2021-03-04 00:41:30 +0100conal(~conal@64.71.133.70)
2021-03-04 00:42:07 +0100 <monochrom> a = r by unification.
2021-03-04 00:42:34 +0100 <monochrom> ask :: ReaderT Environment (StateT State IO) Environment
2021-03-04 00:42:46 +0100heatsink(~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d)
2021-03-04 00:42:49 +0100 <monochrom> err, r = Environment
2021-03-04 00:42:55 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2021-03-04 00:43:30 +0100 <Axman6> what's the definition of M?
2021-03-04 00:43:42 +0100usr25(~usr25@unaffiliated/usr25) (Quit: Leaving)
2021-03-04 00:43:44 +0100 <monochrom> newtype M a = M (ReaderT Environment (StateT State IO) a)
2021-03-04 00:44:35 +0100 <monochrom> And assume Control.Monad.Trans.Reader for now, no mtl MonadReader generalness.
2021-03-04 00:44:55 +0100 <Axman6> yeah thought so - so the instance of ask which is used there has type ReaderT Environment (StateT State IO) Environment, and since M :: ReaderT Environment (StateT State IO) a -> M a then it all works out
2021-03-04 00:45:22 +0100cole-h_cole-h
2021-03-04 00:46:18 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-03-04 00:46:55 +0100heatsink(~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d) (Ping timeout: 240 seconds)
2021-03-04 00:49:21 +0100apache801(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 265 seconds)
2021-03-04 00:51:15 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 240 seconds)
2021-03-04 00:51:22 +0100 <mananamenos> monochrom, Axman6 thanks a lot, I see it now.
2021-03-04 00:51:25 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 256 seconds)
2021-03-04 00:54:45 +0100chele(~chele@ip5b40237d.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2021-03-04 01:05:38 +0100apache801(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-03-04 01:06:29 +0100vk3wtf(~doc@115-64-102-158.tpgi.com.au) (Ping timeout: 260 seconds)
2021-03-04 01:06:41 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser)
2021-03-04 01:07:04 +0100puffnfresh(~puffnfres@119-17-138-164.77118a.mel.static.aussiebb.net) (Ping timeout: 260 seconds)
2021-03-04 01:07:13 +0100xff0x(~xff0x@2001:1a81:53fc:b400:9e6f:7ec7:a06c:c48c) (Ping timeout: 258 seconds)
2021-03-04 01:07:26 +0100hendursa1(~weechat@gateway/tor-sasl/hendursaga) ()
2021-03-04 01:07:55 +0100xff0x(~xff0x@2001:1a81:53fc:b400:1709:f370:e50:9a12)
2021-03-04 01:08:27 +0100pair(~fruitsale@192-0-213-82.cpe.teksavvy.com)
2021-03-04 01:08:32 +0100Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck)
2021-03-04 01:09:16 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 276 seconds)
2021-03-04 01:10:14 +0100pair(~fruitsale@192-0-213-82.cpe.teksavvy.com) ()
2021-03-04 01:11:15 +0100wmacmil(~wmacmil@c83-252-138-144.bredband.comhem.se) (Ping timeout: 256 seconds)
2021-03-04 01:14:13 +0100wmacmil(~wmacmil@c83-252-138-144.bredband.comhem.se)
2021-03-04 01:14:31 +0100evanjs(~evanjs@075-129-098-007.res.spectrum.com) (Read error: Connection reset by peer)
2021-03-04 01:14:57 +0100mananamenos(~mananamen@193.red-88-11-66.dynamicip.rima-tde.net) (Ping timeout: 264 seconds)
2021-03-04 01:15:28 +0100Tario(~Tario@201.192.165.173) (Ping timeout: 245 seconds)
2021-03-04 01:16:59 +0100evanjs(~evanjs@075-129-098-007.res.spectrum.com)
2021-03-04 01:19:38 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:48a4:c618:6af2:de72)
2021-03-04 01:20:38 +0100puffnfresh(~puffnfres@119-17-138-164.77118a.mel.static.aussiebb.net)
2021-03-04 01:21:23 +0100vk3wtf(~doc@115-64-102-158.tpgi.com.au)
2021-03-04 01:21:32 +0100Tario(~Tario@200.119.187.14)
2021-03-04 01:22:11 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds)
2021-03-04 01:22:44 +0100JASTH(~Android@78-68-99-187-no2810.tbcn.telia.com)
2021-03-04 01:22:53 +0100goepsilongo(~goepsilon@2603-7000-ab00-62ed-0000-0000-0000-0c67.res6.spectrum.com) (Quit: WeeChat 3.0)
2021-03-04 01:26:46 +0100chenshen(~chenshen@2620:10d:c090:400::5:9f47) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
2021-03-04 01:27:40 +0100viluon(uid453725@gateway/web/irccloud.com/x-ztatnfztaowajlyf)
2021-03-04 01:28:55 +0100JASTH(~Android@78-68-99-187-no2810.tbcn.telia.com) (Read error: Connection reset by peer)
2021-03-04 01:32:38 +0100rajivr(uid269651@gateway/web/irccloud.com/x-ztiomawifornmkpr)
2021-03-04 01:35:57 +0100Tario(~Tario@200.119.187.14) (Ping timeout: 264 seconds)
2021-03-04 01:36:02 +0100gitgoood(~gitgood@82-132-217-228.dab.02.net)
2021-03-04 01:36:55 +0100heatsink(~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d)
2021-03-04 01:37:16 +0100chenshen(~chenshen@2620:10d:c090:400::5:9f47)
2021-03-04 01:39:04 +0100gitgood(~gitgood@82-132-216-44.dab.02.net) (Read error: Connection reset by peer)
2021-03-04 01:39:18 +0100romesrf(~romesrf@44.190.189.46.rev.vodafone.pt)
2021-03-04 01:39:20 +0100emmanuel_erc(~user@cpe-74-71-106-64.nyc.res.rr.com)
2021-03-04 01:40:14 +0100 <romesrf> hey, i'm trying to write a function sort of "satisfyPredicate"
2021-03-04 01:40:20 +0100 <romesrf> satisfyPredicate predicate x = if predicate x then x else satisfyPredicate predicate (x+1)
2021-03-04 01:40:50 +0100 <romesrf> this works, for example, if i call satisfyPredicate (>200) 1, i'll get 201
2021-03-04 01:41:41 +0100Tario(~Tario@201.192.165.173)
2021-03-04 01:41:51 +0100 <romesrf> however, i'm not sure passing an accumulator value to the function is a clean haskell practice... feels kind of off
2021-03-04 01:42:27 +0100 <romesrf> what would be a correct way to get this function "satisfyPredicate" to receive a predicate only, and to output the first natural number to satisfy it
2021-03-04 01:42:32 +0100 <romesrf> ?
2021-03-04 01:43:49 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-03-04 01:44:37 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-03-04 01:44:55 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-03-04 01:45:38 +0100conal(~conal@64.71.133.70)
2021-03-04 01:45:49 +0100 <monochrom> It is alright, I don't think there is anything bad about it.
2021-03-04 01:46:56 +0100conal(~conal@64.71.133.70) (Client Quit)
2021-03-04 01:47:14 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:48a4:c618:6af2:de72) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-04 01:47:59 +0100 <monochrom> Another style is: head (filter (>200) [0..]). But don't worry about it too much, either is fine. Learn both.
2021-03-04 01:48:26 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-03-04 01:48:55 +0100conal(~conal@64.71.133.70)
2021-03-04 01:49:47 +0100conal(~conal@64.71.133.70) (Client Quit)
2021-03-04 01:49:58 +0100 <xsperry> as a general recommendation, when you want to avoid passing initial value, one option is to make a helper function (usually within the function that calls it)
2021-03-04 01:52:34 +0100m0rphism1(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 245 seconds)
2021-03-04 01:54:46 +0100redmp(~redmp@172.58.35.249) (Ping timeout: 276 seconds)
2021-03-04 01:55:34 +0100Tario(~Tario@201.192.165.173)
2021-03-04 01:56:33 +0100 <xsperry> I like being able to pass initial value in this case though. and you can make the function more general by accepting Enum and not Num. ie:
2021-03-04 01:56:53 +0100 <xsperry> > let satisfyPredicate2 f init = head $ filter f [init..] in satisfyPredicate2 isAlpha '\0'
2021-03-04 01:56:56 +0100 <lambdabot> 'A'
2021-03-04 01:57:53 +0100JASTH(~Android@78-68-99-187-no2810.tbcn.telia.com)
2021-03-04 01:58:24 +0100yahb(xsbot@haskell/bot/yahb) (Ping timeout: 260 seconds)
2021-03-04 01:58:52 +0100JASTH(~Android@78-68-99-187-no2810.tbcn.telia.com) (Read error: Connection reset by peer)
2021-03-04 02:00:50 +0100Wuzzy(~Wuzzy@p5b0df7c2.dip0.t-ipconnect.de) (Remote host closed the connection)
2021-03-04 02:02:28 +0100conal(~conal@64.71.133.70)
2021-03-04 02:03:19 +0100conal(~conal@64.71.133.70) (Client Quit)
2021-03-04 02:04:23 +0100 <romesrf> monochrom: oh, thank you vmuch
2021-03-04 02:04:34 +0100jacks2(~bc8134e3@217.29.117.252)
2021-03-04 02:05:07 +0100 <romesrf> xsperry: interesting, i'm not sure i understand but i'll save this message for when i do :)
2021-03-04 02:05:14 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye)
2021-03-04 02:05:35 +0100mniip(mniip@freenode/staff/mniip) (Ping timeout: 600 seconds)
2021-03-04 02:06:30 +0100 <xsperry> rom1504, [..] is syntax sugar for enumFrom/enumFromTo. that's where the Enum constraint comes from
2021-03-04 02:06:34 +0100 <xsperry> romesrf*
2021-03-04 02:07:13 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-03-04 02:07:17 +0100 <xsperry> > enumFrom 1
2021-03-04 02:07:19 +0100 <lambdabot> [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,...
2021-03-04 02:07:22 +0100 <xsperry> > enumFrom 'a'
2021-03-04 02:07:24 +0100 <lambdabot> "abcdefghijklmnopqrstuvwxyz{|}~\DEL\128\129\130\131\132\133\134\135\136\137\...
2021-03-04 02:07:31 +0100heatsink(~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d) (Remote host closed the connection)
2021-03-04 02:08:45 +0100 <ephemient> > enumFromBy 'A' 'a'
2021-03-04 02:08:47 +0100 <lambdabot> error:
2021-03-04 02:08:48 +0100 <lambdabot> • Variable not in scope: enumFromBy :: Char -> Char -> t
2021-03-04 02:08:48 +0100 <lambdabot> • Perhaps you meant one of these:
2021-03-04 02:08:49 +0100elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 245 seconds)
2021-03-04 02:08:52 +0100 <ephemient> > enumFromThen 'A' 'a'
2021-03-04 02:08:54 +0100 <lambdabot> "Aa\129\161\193\225\257\289\321\353\385\417\449\481\513\545\577\609\641\673\...
2021-03-04 02:09:07 +0100 <ephemient> oh right Char is bigger than Byte
2021-03-04 02:09:59 +0100redmp(~redmp@172.58.35.249)
2021-03-04 02:11:17 +0100conal(~conal@64.71.133.70)
2021-03-04 02:11:28 +0100elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
2021-03-04 02:11:29 +0100elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2021-03-04 02:11:48 +0100elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
2021-03-04 02:12:50 +0100conal(~conal@64.71.133.70) (Client Quit)
2021-03-04 02:13:35 +0100ryanbooker(uid4340@gateway/web/irccloud.com/x-tduhrfkkobkcibnm)
2021-03-04 02:15:40 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-04 02:16:33 +0100ryanbooker(uid4340@gateway/web/irccloud.com/x-tduhrfkkobkcibnm) (Client Quit)
2021-03-04 02:17:39 +0100ryanbooker(uid4340@gateway/web/irccloud.com/x-rnkpnanajeurascu)
2021-03-04 02:18:33 +0100stree(~stree@68.36.8.116) (Ping timeout: 264 seconds)
2021-03-04 02:19:28 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye)
2021-03-04 02:20:14 +0100SupaYoshi(~supayoshi@213-10-140-13.fixed.kpn.net) (Quit: Goodbye!)
2021-03-04 02:20:38 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-03-04 02:22:35 +0100inkbottle(~inkbottle@aaubervilliers-654-1-112-176.w86-198.abo.wanadoo.fr)
2021-03-04 02:22:51 +0100SupaYoshi(~supayoshi@213.10.140.13)
2021-03-04 02:23:16 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Client Quit)
2021-03-04 02:23:49 +0100zebrag(~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr) (Ping timeout: 245 seconds)
2021-03-04 02:24:37 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-03-04 02:25:19 +0100puffnfresh(~puffnfres@119-17-138-164.77118a.mel.static.aussiebb.net) (Ping timeout: 276 seconds)
2021-03-04 02:25:59 +0100puffnfresh(~puffnfres@119-17-138-164.77118a.mel.static.aussiebb.net)
2021-03-04 02:26:07 +0100romesrf_(~romesrf@44.190.189.46.rev.vodafone.pt)
2021-03-04 02:28:24 +0100romesrf(~romesrf@44.190.189.46.rev.vodafone.pt) (Ping timeout: 245 seconds)
2021-03-04 02:28:40 +0100_Alleria(~AllahuAkb@2603-7000-3040-0000-6cee-2fa2-b3ba-fa1a.res6.spectrum.com) (Quit: Textual IRC Client: www.textualapp.com)
2021-03-04 02:30:12 +0100Zivert(~Zivert@90.200.185.163) (K-Lined)
2021-03-04 02:30:31 +0100apache801(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 276 seconds)
2021-03-04 02:30:51 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye)
2021-03-04 02:31:04 +0100redmp(~redmp@172.58.35.249) (Ping timeout: 260 seconds)
2021-03-04 02:31:28 +0100stree(~stree@68.36.8.116)
2021-03-04 02:36:26 +0100Stanley00(~stanley00@unaffiliated/stanley00)
2021-03-04 02:37:11 +0100conal(~conal@198.8.81.74)
2021-03-04 02:37:29 +0100gitgoood(~gitgood@82-132-217-228.dab.02.net) (Read error: Connection reset by peer)
2021-03-04 02:41:47 +0100conal(~conal@198.8.81.74) (Quit: Computer has gone to sleep.)
2021-03-04 02:43:56 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: Lost terminal)
2021-03-04 02:44:02 +0100heatsink(~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d)
2021-03-04 02:45:45 +0100__minoru__shirae(~shiraeesh@46.34.206.213) (Ping timeout: 246 seconds)
2021-03-04 02:47:34 +0100elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 245 seconds)
2021-03-04 02:48:15 +0100Kneiva(kneiva@raah.fi) (Ping timeout: 265 seconds)
2021-03-04 02:48:53 +0100Kneiva(kneiva@raah.fi)
2021-03-04 02:49:13 +0100 <romesrf_> xsperry: ty, got it
2021-03-04 02:49:23 +0100Stanley00(~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
2021-03-04 02:49:29 +0100 <jacks2> this looks interesting. anyone tried using it? "TabNine Haskell Autocompletion with deep learning" https://www.reddit.com/r/haskell/comments/dbvuq1/tabnine_haskell_autocompletion_with_deep_learning/
2021-03-04 02:49:36 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2021-03-04 02:50:40 +0100elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
2021-03-04 02:52:56 +0100Stanley00(~stanley00@unaffiliated/stanley00)
2021-03-04 02:56:26 +0100conal(~conal@198.8.81.74)
2021-03-04 02:57:51 +0100Alleria_(~AllahuAkb@2603-7000-3040-0000-e0ce-a923-ba93-469f.res6.spectrum.com)
2021-03-04 03:00:27 +0100DTZUZU(~DTZUZU@205.ip-149-56-132.net)
2021-03-04 03:01:37 +0100hiroaki_(~hiroaki@2a02:8108:8c40:2bb8:92d3:a4a2:1db6:e0dd) (Ping timeout: 272 seconds)
2021-03-04 03:01:39 +0100romesrf_(~romesrf@44.190.189.46.rev.vodafone.pt) (Quit: WeeChat 3.0.1)
2021-03-04 03:02:18 +0100vgtw_(~vgtw@gateway/tor-sasl/vgtw)
2021-03-04 03:03:10 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-04 03:04:01 +0100vgtw(~vgtw@gateway/tor-sasl/vgtw) (Ping timeout: 268 seconds)
2021-03-04 03:04:02 +0100vgtw_vgtw
2021-03-04 03:04:05 +0100ArsenArsen(~Arsen@fsf/member/ArsenArsen) (Ping timeout: 260 seconds)
2021-03-04 03:04:26 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Ping timeout: 240 seconds)
2021-03-04 03:04:45 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 264 seconds)
2021-03-04 03:05:51 +0100qih(~pi@210-54-120-166.adsl.xtra.co.nz)
2021-03-04 03:09:55 +0100Rudd0(~Rudd0@185.189.115.108) (Ping timeout: 240 seconds)
2021-03-04 03:10:15 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 256 seconds)
2021-03-04 03:14:41 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-03-04 03:15:35 +0100ArsenArsen(~Arsen@fsf/member/ArsenArsen)
2021-03-04 03:16:12 +0100forgottenone(~forgotten@176.88.30.190)
2021-03-04 03:16:40 +0100drbean_(~drbean@TC210-63-209-53.static.apol.com.tw)
2021-03-04 03:17:03 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-03-04 03:17:12 +0100DataComputist(~lumeng@50.43.26.251) (Quit: Leaving...)
2021-03-04 03:17:12 +0100conal(~conal@198.8.81.74) (Quit: Computer has gone to sleep.)
2021-03-04 03:17:12 +0100apache801(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-03-04 03:18:35 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:dc1b:a75f:4664:5af2)
2021-03-04 03:20:33 +0100DataComputist(~lumeng@50.43.26.251)
2021-03-04 03:21:27 +0100 <ezzieyguywuf> do you add your .ghcid to your git repo?
2021-03-04 03:22:05 +0100elliott__(~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
2021-03-04 03:24:08 +0100refusenick(~user@2601:644:8502:d700::9c98)
2021-03-04 03:24:42 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2021-03-04 03:25:35 +0100 <glguy> It's not a bad idea; the defaults for ghcid don't seem that good
2021-03-04 03:26:02 +0100Stanley00(~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
2021-03-04 03:26:14 +0100 <ezzieyguywuf> I was just wondering if there was any rule-of-thumb that considered it poor practice
2021-03-04 03:27:25 +0100Stanley00(~stanley00@unaffiliated/stanley00)
2021-03-04 03:28:35 +0100erisco(~erisco@d24-57-249-233.home.cgocable.net)
2021-03-04 03:29:59 +0100slack1256(~slack1256@45.4.2.52)
2021-03-04 03:30:24 +0100nineonine(~nineonine@50.216.62.2)
2021-03-04 03:33:01 +0100nineonin_(~nineonine@50.216.62.2) (Ping timeout: 260 seconds)
2021-03-04 03:33:10 +0100average(uid473595@gateway/web/irccloud.com/x-ooapnrdetvogzxir) (Quit: Connection closed for inactivity)
2021-03-04 03:33:18 +0100augnun(~augnun@2804:14c:658b:41bb:6e95:e9d6:334a:6db9)
2021-03-04 03:33:27 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-04 03:33:29 +0100pharaun(~pharaun@static.88-198-62-245.clients.your-server.de) (Ping timeout: 256 seconds)
2021-03-04 03:33:37 +0100Chai-T-Rex(~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 268 seconds)
2021-03-04 03:33:57 +0100xwvvvvwx(xwvvvvwx@gateway/vpn/mullvad/xwvvvvwx) (Ping timeout: 260 seconds)
2021-03-04 03:33:59 +0100int-e(~noone@int-e.eu) (Ping timeout: 256 seconds)
2021-03-04 03:34:45 +0100nek0(~nek0@mail.nek0.eu) (Ping timeout: 264 seconds)
2021-03-04 03:35:35 +0100Chai-T-Rex(~ChaiTRex@gateway/tor-sasl/chaitrex)
2021-03-04 03:36:49 +0100 <koz_> ezzieyguywuf: I dunno. For a personal project, it's primarily for your convenience.
2021-03-04 03:36:51 +0100 <koz_> So I wouldn't worry.
2021-03-04 03:38:46 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 276 seconds)
2021-03-04 03:40:40 +0100Sigyn(sigyn@freenode/utility-bot/sigyn) (*.net *.split)
2021-03-04 03:41:46 +0100 <ezzieyguywuf> fair point
2021-03-04 03:42:02 +0100Lord_of_Life_(~Lord@unaffiliated/lord-of-life/x-0885362)
2021-03-04 03:42:11 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:dc1b:a75f:4664:5af2) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-04 03:42:17 +0100 <ezzieyguywuf> is there a less confusing way to do `either (Left . doSomething) Right (getAnEitherFrom someData)`
2021-03-04 03:42:19 +0100DataComputist(~lumeng@50.43.26.251) (Remote host closed the connection)
2021-03-04 03:42:35 +0100 <ezzieyguywuf> in other words, if getAnEitherFrom returns a Left, then we want to propogate the Left but transform it
2021-03-04 03:42:45 +0100 <koz_> ezzieyguywuf: first from Data.Bifunctor?
2021-03-04 03:42:58 +0100 <ezzieyguywuf> specifically I'm using this with megaparsecs parse, which returns an ErrorBundlePretty but I want just a Text
2021-03-04 03:43:26 +0100son0p(~son0p@181.58.39.182) (Quit: Lost terminal)
2021-03-04 03:43:45 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 264 seconds)
2021-03-04 03:43:45 +0100Lord_of_Life_Lord_of_Life
2021-03-04 03:44:12 +0100pharaun(~pharaun@static.88-198-62-245.clients.your-server.de)
2021-03-04 03:44:14 +0100xwvvvvwx(xwvvvvwx@gateway/vpn/mullvad/xwvvvvwx)
2021-03-04 03:44:18 +0100nek0(~nek0@mail.nek0.eu)
2021-03-04 03:45:39 +0100int-e(~noone@int-e.eu)
2021-03-04 03:46:11 +0100__minoru__shirae(~shiraeesh@46.34.206.213)
2021-03-04 03:46:38 +0100 <koz_> % :t first
2021-03-04 03:46:57 +0100 <koz_> Is yahb dead again?
2021-03-04 03:48:07 +0100Sigyn(sigyn@freenode/utility-bot/sigyn)
2021-03-04 03:48:07 +0100rothfuss.freenode.net+o Sigyn
2021-03-04 03:48:08 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:2015:9fa2:bf0b:7f16)
2021-03-04 03:48:47 +0100nineonine(~nineonine@50.216.62.2) (Ping timeout: 256 seconds)
2021-03-04 03:49:27 +0100lkurusa_(~lkurusa@209.250.237.122) (Ping timeout: 246 seconds)
2021-03-04 03:56:30 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:2015:9fa2:bf0b:7f16) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-04 03:56:48 +0100DataComputist(~lumeng@50.43.26.251)
2021-03-04 03:56:49 +0100__minoru__shirae(~shiraeesh@46.34.206.213) (Ping timeout: 260 seconds)
2021-03-04 03:56:56 +0100xff0x(~xff0x@2001:1a81:53fc:b400:1709:f370:e50:9a12) (Ping timeout: 240 seconds)
2021-03-04 03:57:49 +0100justan0theruser(~justanoth@unaffiliated/justanotheruser)
2021-03-04 03:58:23 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:2015:9fa2:bf0b:7f16)
2021-03-04 03:59:08 +0100xff0x(~xff0x@2001:1a81:5237:bb00:afc3:f953:e68b:99a6)
2021-03-04 03:59:15 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 240 seconds)
2021-03-04 03:59:44 +0100average(uid473595@gateway/web/irccloud.com/x-eenzrwxaxysearfe)
2021-03-04 04:00:13 +0100urodna_(~urodna@unaffiliated/urodna) (Quit: urodna_)
2021-03-04 04:03:24 +0100alx741(~alx741@186.178.108.117) (Quit: alx741)
2021-03-04 04:03:53 +0100lkurusa(~lkurusa@fedora/Levex)
2021-03-04 04:04:28 +0100Unhammer(~Unhammer@gateway/tor-sasl/unhammer) (Ping timeout: 268 seconds)
2021-03-04 04:06:54 +0100Unhammer(~Unhammer@gateway/tor-sasl/unhammer)
2021-03-04 04:07:34 +0100erisco(~erisco@d24-57-249-233.home.cgocable.net) (Quit: Leaving)
2021-03-04 04:08:35 +0100 <MarcelineVQ> was it ever really alive
2021-03-04 04:15:07 +0100FinnElija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
2021-03-04 04:15:08 +0100finn_elijaGuest69399
2021-03-04 04:15:08 +0100FinnElijafinn_elija
2021-03-04 04:16:05 +0100berberman_(~berberman@unaffiliated/berberman)
2021-03-04 04:16:33 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-04 04:17:37 +0100berberman(~berberman@unaffiliated/berberman) (Ping timeout: 272 seconds)
2021-03-04 04:19:09 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 264 seconds)
2021-03-04 04:19:16 +0100Guest69399(~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 268 seconds)
2021-03-04 04:19:25 +0100Stanley00(~stanley00@unaffiliated/stanley00) ()
2021-03-04 04:19:35 +0100oafsoats
2021-03-04 04:20:38 +0100DataComputist(~lumeng@50.43.26.251) (Remote host closed the connection)
2021-03-04 04:21:15 +0100DataComputist(~lumeng@50.43.26.251)
2021-03-04 04:22:15 +0100 <ephemient> @hoogle (a -> b) -> Either a c -> Either b c
2021-03-04 04:22:16 +0100 <lambdabot> Data.Either.Combinators mapLeft :: (a -> c) -> Either a b -> Either c b
2021-03-04 04:22:16 +0100 <lambdabot> Data.Either.Extra mapLeft :: (a -> c) -> Either a b -> Either c b
2021-03-04 04:22:16 +0100 <lambdabot> Extra mapLeft :: (a -> c) -> Either a b -> Either c b
2021-03-04 04:23:12 +0100 <jackdk> % first @Either
2021-03-04 04:23:24 +0100 <jackdk> % :t first @Either
2021-03-04 04:23:37 +0100 <jackdk> > :t first @Either
2021-03-04 04:23:38 +0100 <lambdabot> <hint>:1:1: error: <hint>:1:1: error: parse error on input ‘:’
2021-03-04 04:23:39 +0100 <ephemient> yahb isn't here :(
2021-03-04 04:24:16 +0100 <jackdk> `first @Either :: (a -> b) -> Either a c -> Either b c`
2021-03-04 04:24:42 +0100 <jackdk> that's Data.Bifunctor.first
2021-03-04 04:25:05 +0100 <ephemient> and not Control.Arrow.first
2021-03-04 04:25:59 +0100DataComputist(~lumeng@50.43.26.251) (Ping timeout: 260 seconds)
2021-03-04 04:26:07 +0100 <ephemient> I wonder if lambdabot has either of those in scope
2021-03-04 04:26:09 +0100 <ephemient> :t first
2021-03-04 04:26:11 +0100 <lambdabot> Arrow a => a b c -> a (b, d) (c, d)
2021-03-04 04:26:59 +0100 <ephemient> :t Data.Bifunctor.first
2021-03-04 04:27:01 +0100 <lambdabot> Bifunctor p => (a -> b) -> p a c -> p b c
2021-03-04 04:28:18 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-04 04:28:26 +0100chenshen(~chenshen@2620:10d:c090:400::5:9f47) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
2021-03-04 04:32:57 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 264 seconds)
2021-03-04 04:34:09 +0100obiwahn(~obiwahn@pdpc/supporter/student/obiwahn) (Ping timeout: 264 seconds)
2021-03-04 04:34:15 +0100blissful(~blissful@unaffiliated/azuline) (Ping timeout: 246 seconds)
2021-03-04 04:34:36 +0100augnun(~augnun@2804:14c:658b:41bb:6e95:e9d6:334a:6db9) (Quit: WeeChat 3.0.1)
2021-03-04 04:34:43 +0100jakalx(~jakalx@base.jakalx.net) (Ping timeout: 260 seconds)
2021-03-04 04:34:44 +0100 <heck-to-the-gnom> Is hoogle down for anyone else?
2021-03-04 04:35:00 +0100deviantfero(~deviantfe@190.150.27.58)
2021-03-04 04:35:48 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-03-04 04:35:52 +0100 <jackdk> works for me, heck-to-the-gnom
2021-03-04 04:36:48 +0100 <heck-to-the-gnom> Weird, it seems somewhere along the supply chain hoogle.haskell.org & haskell.org/hoogle was blocked
2021-03-04 04:36:51 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2021-03-04 04:36:59 +0100 <heck-to-the-gnom> (for me, anyway)
2021-03-04 04:37:36 +0100 <heck-to-the-gnom> I have sent a large number of requests to them lately, not as spam, but during an actual programming session
2021-03-04 04:38:40 +0100koz(~koz@2404:4408:4342:2a00:1958:92dc:60f3:680b)
2021-03-04 04:39:38 +0100koz_(~koz@2404:4408:4342:2a00:1958:92dc:60f3:680b) (Ping timeout: 264 seconds)
2021-03-04 04:39:52 +0100stree(~stree@68.36.8.116) (Ping timeout: 276 seconds)
2021-03-04 04:42:16 +0100 <heck-to-the-gnom> Aand, just like that the issue disappeared. Weird
2021-03-04 04:42:34 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2021-03-04 04:43:21 +0100theDon(~td@muedsl-82-207-238-151.citykom.de) (Ping timeout: 246 seconds)
2021-03-04 04:44:10 +0100blissful(~blissful@unaffiliated/azuline)
2021-03-04 04:44:24 +0100obiwahn(~obiwahn@pdpc/supporter/student/obiwahn)
2021-03-04 04:45:17 +0100theDon(~td@94.134.91.49)
2021-03-04 04:45:25 +0100DataComputist(~lumeng@50.43.26.251)
2021-03-04 04:46:12 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311) (Quit: WeeChat 3.0.1)
2021-03-04 04:46:17 +0100kozkoz_
2021-03-04 04:50:37 +0100raym(~ray@45.64.220.3)
2021-03-04 04:52:19 +0100Sheilong(uid293653@gateway/web/irccloud.com/x-ywkwdxdlophboxsa) ()
2021-03-04 04:52:27 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-03-04 04:52:41 +0100Tario(~Tario@201.192.165.173)
2021-03-04 04:52:46 +0100stree(~stree@68.36.8.116)
2021-03-04 04:54:11 +0100 <koz_> Hoogle does this periodically.
2021-03-04 04:54:28 +0100polyrain(~polyrain@2001:8003:e4d8:4101:6ceb:5781:5054:5a4)
2021-03-04 04:54:56 +0100conal(~conal@64.71.133.70)
2021-03-04 04:55:10 +0100conal(~conal@64.71.133.70) (Client Quit)
2021-03-04 04:55:35 +0100Gunni1(~Gunni@139.28.218.148) (Remote host closed the connection)
2021-03-04 04:58:22 +0100polyrain(~polyrain@2001:8003:e4d8:4101:6ceb:5781:5054:5a4) (Client Quit)
2021-03-04 04:58:32 +0100conal_(~conal@64.71.133.70)
2021-03-04 04:58:42 +0100conal_(~conal@64.71.133.70) (Client Quit)
2021-03-04 05:02:25 +0100barnowl(~barnowl@gateway/tor-sasl/barnowl) (Remote host closed the connection)
2021-03-04 05:02:34 +0100jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2021-03-04 05:02:52 +0100conal(~conal@64.71.133.70)
2021-03-04 05:02:52 +0100conal(~conal@64.71.133.70) (Client Quit)
2021-03-04 05:03:05 +0100barnowl(~barnowl@gateway/tor-sasl/barnowl)
2021-03-04 05:03:14 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2021-03-04 05:04:04 +0100dxld(~dxld@rush.pub.dxld.at) (Ping timeout: 240 seconds)
2021-03-04 05:04:53 +0100finn_elija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 268 seconds)
2021-03-04 05:06:23 +0100finn_elija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
2021-03-04 05:06:24 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-04 05:07:50 +0100dxld(~dxld@80-109-136-248.cable.dynamic.surfer.at)
2021-03-04 05:08:36 +0100andreas303(~andreas@gateway/tor-sasl/andreas303) (Ping timeout: 268 seconds)
2021-03-04 05:08:57 +0100andreas303(~andreas@gateway/tor-sasl/andreas303)
2021-03-04 05:09:38 +0100pjb(~t@2a01cb04063ec5009154a4e157e0cbac.ipv6.abo.wanadoo.fr) (Ping timeout: 264 seconds)
2021-03-04 05:10:58 +0100lunaphyte_(~lunaphyte@217.146.82.202)
2021-03-04 05:11:28 +0100howdoi(uid224@gateway/web/irccloud.com/x-kijbwunaxvivrehm) (Quit: Connection closed for inactivity)
2021-03-04 05:11:43 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 276 seconds)
2021-03-04 05:11:54 +0100chenshen(~chenshen@2620:10d:c090:400::5:9f47)
2021-03-04 05:12:00 +0100Rudd0(~Rudd0@185.189.115.103)
2021-03-04 05:12:00 +0100 <Axman6> Sometimes is just needs a nap.
2021-03-04 05:12:52 +0100 <Axman6> I wonder if it's like B&H in the US, which shuts down their website during the sabbath because it's run by authodox Jews
2021-03-04 05:14:06 +0100 <koz_> B&H?
2021-03-04 05:14:22 +0100 <Axman6> big photography store in the US
2021-03-04 05:14:44 +0100 <Axman6> uh, and Orthodox - I thought it looked weird!
2021-03-04 05:15:05 +0100 <koz_> Authodox sounds like a DDOS prevention service.
2021-03-04 05:15:24 +0100 <qih> Hi all, what is a good book for a Haskell n00b to purchase? I notice there are quite a few around with pages at 600 +. Am after a concise but practical intro to the lang and FP.
2021-03-04 05:15:26 +0100 <Axman6> Apparently it's an NZ company for document management, haha
2021-03-04 05:16:07 +0100 <qih> koz_: Authodox <= great name for a new library 8-)
2021-03-04 05:16:18 +0100 <koz_> Axman6: Roflll.
2021-03-04 05:16:42 +0100 <Axman6> yeah I was thinking it would be a good name for a library for authentication
2021-03-04 05:16:42 +0100 <koz_> qih: Well, until said NZ company for document management decides to break out lawyers over a name disagreement.
2021-03-04 05:16:50 +0100koz_looks at the left-pad author.
2021-03-04 05:16:52 +0100plutoniix(~q@184.82.201.211)
2021-03-04 05:17:16 +0100 <qih> Haha, I have never heard of it, not that that means much.
2021-03-04 05:17:32 +0100qihgoogles "authodox + nz"
2021-03-04 05:18:03 +0100 <Axman6> turned out that half the NPM ecosystem relied on the left-pad package, which literally just had a single function for left padding strings, and the author deleted it and tyhe whole universe imploded
2021-03-04 05:18:23 +0100softwarm(44695313@ip68-105-83-19.sd.sd.cox.net) (Ping timeout: 240 seconds)
2021-03-04 05:18:32 +0100 <qih> Oh haha whoops.
2021-03-04 05:18:32 +0100 <Axman6> it was a pretty fun time - it'd be like Ed deleting lens and someone deleting bytestring and text
2021-03-04 05:18:33 +0100apache801(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 264 seconds)
2021-03-04 05:18:49 +0100machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 245 seconds)
2021-03-04 05:19:00 +0100 <koz_> qih: The slightly longer answer is this. Said person made an NPM package called 'kik'.
2021-03-04 05:19:12 +0100 <koz_> Then the company with the same name went 'either hand over the name or we lawyer up'.
2021-03-04 05:19:23 +0100 <qih> Well authodox.co.nz should get their website digital cert re-issued. Amateurs.
2021-03-04 05:19:29 +0100 <koz_> (no really, they went from 'asking' to 'lawyers' in about 10 seconds)
2021-03-04 05:19:29 +0100 <heck-to-the-gnom> I'd like to think other infrastructures are more solid than NPM
2021-03-04 05:19:33 +0100 <koz_> qih: I'm not even surprised.
2021-03-04 05:19:35 +0100 <heck-to-the-gnom> That might be wishful thinking
2021-03-04 05:19:42 +0100 <qih> Oh.
2021-03-04 05:19:45 +0100 <koz_> NZ, for all its many qualities, is the land of 'ehh, it'll do'.
2021-03-04 05:20:00 +0100 <qih> koz_: Clearly you are in NZ also?
2021-03-04 05:20:04 +0100 <koz_> qih: Yep!
2021-03-04 05:20:10 +0100 <koz_> I am not originally from here though.
2021-03-04 05:20:24 +0100 <qih> koz_: Great.
2021-03-04 05:21:19 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds)
2021-03-04 05:21:22 +0100 <qih> Sigh, I'll email them about their lame CA lapse.
2021-03-04 05:21:54 +0100 <Axman6> ANZACs represent
2021-03-04 05:22:02 +0100 <Axman6> -AC I guess
2021-03-04 05:22:03 +0100 <koz_> qih: You are a better person than me. :P
2021-03-04 05:22:04 +0100 <qih> Right on digger
2021-03-04 05:22:15 +0100 <qih> Axman6: Hahaha
2021-03-04 05:22:48 +0100 <Axman6> ANZLC - Australian and New Zealand Lambda Corps
2021-03-04 05:22:52 +0100 <qih> koz_: Ah it takes a few minutes, can educate them too.
2021-03-04 05:22:59 +0100 <Axman6> not too different from ANZLIC I guess
2021-03-04 05:23:12 +0100 <qih> Axman6: Haha yeah not a lot of the ANZAC spirit lately, right?
2021-03-04 05:23:18 +0100 <koz_> Lol.
2021-03-04 05:23:21 +0100 <qih> ANZLIC <= sounds tacky
2021-03-04 05:23:27 +0100 <koz_> Australia and NZ are fairly different as places IMHO.
2021-03-04 05:23:31 +0100 <qih> 8-)
2021-03-04 05:23:40 +0100 <qih> koz_: Yes & No.
2021-03-04 05:23:45 +0100 <koz_> We get lumped together a lot, but it's a bit odd to me.
2021-03-04 05:24:01 +0100 <Axman6> Y'all keep making us look good by having a competent, trustworthy government
2021-03-04 05:24:04 +0100 <Axman6> )uh, bad*
2021-03-04 05:24:12 +0100 <koz_> Axman6: Lol.
2021-03-04 05:24:24 +0100 <qih> Well we are both ex-GB colonies at the bottom of the world on the edge of Asia, kinda link cousins.
2021-03-04 05:24:25 +0100 <koz_> Yeah, we're in lockdown for the second time in a 4-week period.
2021-03-04 05:24:35 +0100 <koz_> (we're _hopefully_ due to exit in a day or two)
2021-03-04 05:24:54 +0100 <qih> koz_: One can hope.
2021-03-04 05:25:08 +0100carlomagno1(~cararell@148.87.23.6) (Quit: Leaving.)
2021-03-04 05:25:20 +0100 <qih> So recommendations for a Haskell book? Or should I just stick with LYAH for the time being?
2021-03-04 05:25:44 +0100 <koz_> qih: I found the Haskell Wikibook useful personally.
2021-03-04 05:25:47 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-04 05:26:18 +0100 <qih> K, ta, will check that out.
2021-03-04 05:26:31 +0100 <shapr> qih: Graham Hutton's Programming in Haskell is shorter than most, and I like the 2nd edition
2021-03-04 05:27:01 +0100 <slack1256> 1+ for Graham Hutton
2021-03-04 05:27:27 +0100 <slack1256> Well you can read on the side what ever introduction you like. I read LYAH until the monads part as it didn't make sense.
2021-03-04 05:27:43 +0100 <slack1256> you can do multi book drifting etc
2021-03-04 05:27:49 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 260 seconds)
2021-03-04 05:27:56 +0100 <heck-to-the-gnom> I'm just winging it, lol, perhaps not the best Idea seeing as I'm struggling with simple things, but I'll learn.
2021-03-04 05:28:11 +0100slack1256sends a gambare!
2021-03-04 05:28:27 +0100 <koz_> Good things take time, so I hear.
2021-03-04 05:29:53 +0100slack1256would have sent a "tatakae!" but that has gotten bad rep lately...
2021-03-04 05:30:09 +0100 <qih> shapr: Thanks, looking.
2021-03-04 05:30:18 +0100 <MarcelineVQ> slack1256: yamero!
2021-03-04 05:31:20 +0100 <Axman6> I learned Haskell at university, and Hutton's book was what we used, though I didn't use the book much. Having read it after that I would definitely recommend it though - I would also strongly recommend sticking around in this channel and asking for help, because finding answers and understanding them can be hard without someone to prod you in the right direction
2021-03-04 05:31:44 +0100 <Axman6> And if you're in NZ, there's plenty of us collonials around to help in your timezone
2021-03-04 05:32:07 +0100apache801(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-03-04 05:34:08 +0100 <slack1256> MarcelineVQ: hai hai ;_;.
2021-03-04 05:34:20 +0100 <MarcelineVQ> come back in ten years
2021-03-04 05:34:33 +0100 <koz_> Yep, you'll find me around here for sure if you overlap with my awake times.
2021-03-04 05:35:19 +0100 <qih> Axman6: Thanks noted, will do.
2021-03-04 05:35:20 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-03-04 05:35:21 +0100Axman6guesses that koz_basically lives in AEST anyway
2021-03-04 05:35:24 +0100inkbottle(~inkbottle@aaubervilliers-654-1-112-176.w86-198.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-03-04 05:35:54 +0100 <MarcelineVQ> koz_ time is amorphous, protozoic possibly
2021-03-04 05:36:00 +0100Tario(~Tario@201.192.165.173)
2021-03-04 05:36:00 +0100 <qih> koz_: I rang Authodox and told them about their expired CA ... gawd what a pleb 8-)
2021-03-04 05:36:08 +0100 <Axman6> haha
2021-03-04 05:38:58 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-04 05:43:24 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 245 seconds)
2021-03-04 05:43:55 +0100polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 240 seconds)
2021-03-04 05:46:17 +0100redmp(~redmp@172.58.38.160)
2021-03-04 05:48:43 +0100 <Axman6> BTW, if anyone is looking for a job in .au, Bellroy are hiring an Elm front end dev and a Haskell/Ruby/other things dev at the moment: https://bellroy.com/careers
2021-03-04 05:48:52 +0100 <qih> Is Haskell capable in the way of System Programming or maintenance? I've used Python to do a *lot* of things on my OSes over the years. I'd like to pretend I am grown up and move away from Bash.
2021-03-04 05:49:05 +0100 <Axman6> There's some pretty cool people who work there (at least one is a regular here but I won't dob him in)
2021-03-04 05:50:00 +0100 <qih> Axman6: Nice post. I read about Elm today on the DAML forum. Seems capable and sane, unlike ES6 et al.
2021-03-04 05:50:55 +0100 <Axman6> qih: The answer is definitely "yes", but it's a bit of a difficult question to answer too. I feel like Xmonad is a good example of how to interract with other parts of the system. There's also turtle for shell scripting like things
2021-03-04 05:51:13 +0100 <Axman6> DAML eh? There's _definitely_ people in here writing DAML every day :)
2021-03-04 05:51:50 +0100 <koz_> qih: It can be done, but in terms of available libraries, it's probably not to Python's level.
2021-03-04 05:52:13 +0100 <koz_> Ecosystem deficiencies are what limits it the most in that kind of task I think.
2021-03-04 05:52:34 +0100 <Axman6> yeah the answer mostly depends on the specifics
2021-03-04 05:52:42 +0100 <qih> Axman6: Oh that is great news. I know most of you younger peoples *love* Slack etc, so was not sure ifI'd find any DAMLers on #IRC.
2021-03-04 05:53:01 +0100 <qih> koz_: Thanks for the tip.
2021-03-04 05:54:05 +0100 <koz_> #haskell is pretty active as IRC channels go.
2021-03-04 05:54:16 +0100 <Axman6> yeah I don't know many other DAMLers on here, we seems to push people towards the forum so answers to questions are searchable
2021-03-04 05:54:42 +0100 <qih> K, good to see. Plenty of peeps in channel is a good sign, like #Debian and #Python +1
2021-03-04 05:54:44 +0100 <Axman6> For a loing time #haskell was one of the biggest channels on freenode, bigger than #python. not sure these days
2021-03-04 05:55:13 +0100 <koz_> Axman6: Probably still true?
2021-03-04 05:55:29 +0100apache801(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 245 seconds)
2021-03-04 05:55:52 +0100 <qih> Axman6: Good point re forum and searchable content, although most #IRC is logged *somewhere*, the forum format is easier to search and read.
2021-03-04 05:56:00 +0100 <Axman6> ¯\_(ツ)_/¯
2021-03-04 05:56:24 +0100 <Axman6> yeah the forum make sit easier to categorise things and identify questions
2021-03-04 05:56:47 +0100 <qih> koz_: I'd run a list check, search and word count but it'd probably kill this RPi
2021-03-04 05:57:16 +0100qihis using a RPiv3 as a Desktop while waiting for a new motherboard 8-(
2021-03-04 05:58:02 +0100 <Axman6> looks like we're about 1k, #python is 1.6k
2021-03-04 05:58:11 +0100 <qih> https://hackage.haskell.org/package/turtle <= excellent.
2021-03-04 05:58:42 +0100 <Axman6> How's that going? I always found an RPi just always felt slow, doesn't really matter what it was doing. I une my Unifi controller on mine and that's about it
2021-03-04 05:58:45 +0100 <qih> Now just have to work out how to load it ... 8-)
2021-03-04 05:59:32 +0100 <qih> As a Desktop it is like using a 686 running Win98SE, works but too much load, it runs out of SWAP and MEM, then jams.
2021-03-04 05:59:35 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-03-04 05:59:49 +0100yahb(xsbot@178.219.36.155)
2021-03-04 05:59:49 +0100yahb(xsbot@178.219.36.155) (Changing host)
2021-03-04 05:59:49 +0100yahb(xsbot@haskell/bot/yahb)
2021-03-04 06:00:05 +0100 <koz_> I used some RPi2ish level boards as microservers for a while.
2021-03-04 06:00:09 +0100 <koz_> I even ported Gentoo to one!
2021-03-04 06:00:10 +0100 <qih> So a Terminal, some server connections through that, a Chromium browser with 4 tabs, works OK.
2021-03-04 06:00:21 +0100 <koz_> It _works_, but it's definitely restrictive and annoying.
2021-03-04 06:00:44 +0100 <qih> koz_: Haha cool. I'd hate to see an 'emerge world' on an RPi o_0
2021-03-04 06:00:48 +0100mniip(mniip@freenode/staff/mniip)
2021-03-04 06:00:55 +0100 <qih> Agree. It works.
2021-03-04 06:01:00 +0100 <koz_> It was definitely a time-consuming endeavour.
2021-03-04 06:01:04 +0100 <koz_> Kinda fun in its own way though.
2021-03-04 06:01:18 +0100 <koz_> I've since decomissioned them and instead use an old Eee-PC.
2021-03-04 06:01:32 +0100 <Axman6> Always felt like IO was the limiting factor to me
2021-03-04 06:01:33 +0100 <qih> I compliled OpenCV 4 at Xmas as I was running some cameras and that took about 10 hours.
2021-03-04 06:02:24 +0100 <heck-to-the-gnom> My python brain, when you did `_works_` thought a private method/variable (or as close as you can get with that in python anyway) and I interpreted that as "it works, but if I touch it AT ALL, it won't". Which, given that you probably meant italics, that's basically the same thing
2021-03-04 06:02:40 +0100 <qih> Anyway, the RPi is great for running *lang microservices, servers, testing clients, networks, etc.
2021-03-04 06:02:53 +0100 <koz_> Yeah, I'd say it's good for this.
2021-03-04 06:02:59 +0100 <Axman6> heck-to-the-gnom: ha, sounds pretty accurate
2021-03-04 06:03:05 +0100 <koz_> ARM boards are great as microservers, because they have quite low power use.
2021-03-04 06:03:16 +0100 <koz_> So you can actually ride out power outages entirely on a UPS.
2021-03-04 06:03:20 +0100 <koz_> (I've done this before)
2021-03-04 06:03:27 +0100 <koz_> (power is a tad spotty where I am)
2021-03-04 06:03:54 +0100 <Axman6> The machine I have this IRC client running on is a Zen2 machine with 24TB storage, so wanted a little more drunt for things like video transcoding via Plex
2021-03-04 06:04:36 +0100 <heck-to-the-gnom> 24TB... Dang. Thou art lucky &/or rich.
2021-03-04 06:05:24 +0100 <qih> Axman6: Nice!
2021-03-04 06:05:47 +0100 <qih> Or he's SSH'd into some Enterprise beast ...
2021-03-04 06:06:36 +0100 <koz_> Yeah... I have a NAS, but it packs considerably less than that.
2021-03-04 06:07:08 +0100 <qih> "These features make Haskell ideal for scripting, particularly for replacing large and unwieldy Bash scripts." <= finally, someone said it 8-/
2021-03-04 06:07:33 +0100 <Axman6> It's something the size of an old HP Microserver. The other specs are pretty modest, 16GB. It had 4 3TB drives for like 6 years but for the last few one had constant read errors, so bit the bullet and replaced them all with 8TB ones. Having ZFS being able to expand into the new space when they were all replaced was very nice
2021-03-04 06:08:59 +0100 <qih> Makes sense with those specs.
2021-03-04 06:09:41 +0100Axman6is resisting the urge to find an old school /specs script for glirc
2021-03-04 06:09:50 +0100forgottenone(~forgotten@176.88.30.190) (Quit: Konversation terminated!)
2021-03-04 06:10:03 +0100 <glguy> Axman6, find? like in the glirc script archive?
2021-03-04 06:10:42 +0100 <Axman6> ... there is one? :o
2021-03-04 06:10:47 +0100 <Axman6> I never looked!
2021-03-04 06:11:05 +0100cheater(~user@unaffiliated/cheater) (Remote host closed the connection)
2021-03-04 06:11:41 +0100 <glguy> Of course not :-p
2021-03-04 06:11:54 +0100 <Axman6> I feel you've already got ops ready to go to ban me if I used one though
2021-03-04 06:11:55 +0100 <qih> The Turtle Library must have been named by an Australian, no-one else would call a lightweight, fast library ... Turtle.
2021-03-04 06:12:02 +0100polyrain(~polyrain@2001:8003:e4d8:4101:6ceb:5781:5054:5a4)
2021-03-04 06:12:14 +0100 <glguy> "ready"? the client ops you as needed, you should know that :)
2021-03-04 06:12:21 +0100 <Axman6> Like naming a ranger Blue?
2021-03-04 06:12:26 +0100 <jle`> qih: it's a pun heh
2021-03-04 06:12:38 +0100 <Axman6> ranga*
2021-03-04 06:13:01 +0100 <koz_> It is the rule in the Haskell ecosystem that you must name your libraries as references.
2021-03-04 06:13:05 +0100 <koz_> The more obscure the better.
2021-03-04 06:13:08 +0100 <qih> Axman6: Yep. And the Lib Gov, competent ... you get the drift 8-)
2021-03-04 06:13:24 +0100 <koz_> Ideal choice is basically a fifteen-layer reference about three people get total.
2021-03-04 06:13:33 +0100 <qih> Haha
2021-03-04 06:13:38 +0100 <Axman6> No one would make that mistake, particularly this week
2021-03-04 06:13:49 +0100 <koz_> Bonus points for any of: wordplay, category theory references, featuring puns on 'Haskell', 'Curry', 'Church' or 'Hoare'.
2021-03-04 06:14:06 +0100 <jle`> iirc turtle is a pun on 'shell'
2021-03-04 06:14:08 +0100cheater(~user@unaffiliated/cheater)
2021-03-04 06:14:08 +0100 <qih> o_0
2021-03-04 06:14:14 +0100 <Axman6> I have for years wanted to write an Accelerate backend for Grenade called RPG but alas, I have no idea what I'm doing
2021-03-04 06:14:15 +0100 <koz_> jle`: Deep lore.
2021-03-04 06:14:21 +0100 <koz_> Axman6: Rofl.
2021-03-04 06:14:24 +0100 <qih> jle`: Ohhhhhh, me.dense
2021-03-04 06:14:57 +0100 <koz_> I don't follow this rule with any of my libraries sadly.
2021-03-04 06:15:06 +0100 <koz_> (even my most recent one is very boringly and descriptively named)
2021-03-04 06:15:25 +0100qihinstalls Stack
2021-03-04 06:15:37 +0100 <Axman6> RIP your RAM
2021-03-04 06:15:49 +0100 <heck-to-the-gnom> I just realized you can do things like `isn'tFloating wn = ` *Hoare* in haskell. Niche thing, but I like.
2021-03-04 06:15:57 +0100 <qih> koz_: I look at some of the libs on updates and weird package installs, you are not alone.
2021-03-04 06:16:06 +0100 <Axman6> actually, it';s pretty good these days, it used to be worse than Chrome but they put in a lot of work (and emailed me to tell me they had months after I complained about it to them!)
2021-03-04 06:16:27 +0100 <koz_> Someone had an excellent quote in lambdabot.
2021-03-04 06:16:28 +0100 <koz_> Something like
2021-03-04 06:16:37 +0100boxscape(4ff0baf3@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.243)
2021-03-04 06:16:43 +0100 <koz_> "You would get more attention if you titled it 'Church isn't just for Hoare's'."
2021-03-04 06:16:46 +0100 <Axman6> iShouldn't'veDoneThat = error
2021-03-04 06:17:00 +0100 <koz_> Axman6: I use it for naming constructors for error types all the time.
2021-03-04 06:17:18 +0100 <boxscape> @quote Church.isn't
2021-03-04 06:17:18 +0100 <lambdabot> No quotes match. Are you on drugs?
2021-03-04 06:17:23 +0100 <qih> Oh no, no Stack for ARM-based Linux 8-(
2021-03-04 06:17:26 +0100 <koz_> data FuckyWucky = Didn'tValidateProperly | Couldn'tRunThings | ...
2021-03-04 06:17:34 +0100 <Axman6> data Error = UhWtf'IOError | UhWtf'DBError | ...
2021-03-04 06:17:44 +0100 <boxscape> @quote Church.is.not
2021-03-04 06:17:44 +0100 <lambdabot> procyon says: emk: You might get a wider audience with "Church is not just for Hoare's"
2021-03-04 06:17:48 +0100 <koz_> That one!
2021-03-04 06:17:54 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-04 06:17:55 +0100 <qih> Ah well, I'll just RTFM etc.
2021-03-04 06:18:04 +0100 <Axman6> ok that's much better than mine. Need to use data FukkyWukky more often
2021-03-04 06:18:08 +0100 <qih> Haha nice quote
2021-03-04 06:18:12 +0100 <koz_> boxscape: Do you know the context of that quote?
2021-03-04 06:18:34 +0100 <boxscape> no clue, I stumbled across it a couple days ago when exploring @quote Church though
2021-03-04 06:18:46 +0100 <koz_> LOL
2021-03-04 06:18:58 +0100 <koz_> I really wanna know the series of circumstances that prompted this.
2021-03-04 06:19:05 +0100 <koz_> (the quote, not your exploring)
2021-03-04 06:19:30 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-03-04 06:19:33 +0100 <koz_> Axman6: I would be much more clever in Real Job's codebase naming.
2021-03-04 06:19:35 +0100 <boxscape> well, there are logs for #haskell, you just need to come up with a convenient way to grep them ;)
2021-03-04 06:19:47 +0100 <qih> I like the Haskell/Turtle syntax much better than Bash.
2021-03-04 06:19:50 +0100 <koz_> Except that I suspect my colleagues don't share my rather specific taste in humour.
2021-03-04 06:19:59 +0100 <Axman6> qih: and there's types!
2021-03-04 06:20:15 +0100Tario(~Tario@201.192.165.173)
2021-03-04 06:20:22 +0100 <qih> Available in scripting? gedthefugouttahere!
2021-03-04 06:20:47 +0100 <Axman6> Technically, bash has type
2021-03-04 06:20:52 +0100 <qih> koz_: Frack'em if they can't take a joke.
2021-03-04 06:21:03 +0100 <Axman6> I guess string and arrays of string are different types
2021-03-04 06:21:09 +0100 <qih> True.
2021-03-04 06:21:31 +0100 <koz_> qih: I don't think they have much shale oil inside.
2021-03-04 06:21:43 +0100 <qih> Bash/ZSH etc are fine, even awesome *but* it is hard work sometimes to do clever things, well.
2021-03-04 06:22:20 +0100 <qih> Snicker, I see what ya did there. Just didn't know if f**k would be OK here. Some channels are a little *tightly* wound.
2021-03-04 06:22:24 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 246 seconds)
2021-03-04 06:22:30 +0100 <koz_> qih: Generally speaking discouraged here.
2021-03-04 06:22:37 +0100 <qih> K noted.
2021-03-04 06:23:11 +0100 <koz_> The closest to humour I managed in work codebases was naming a JSON schematization library 'medea'.
2021-03-04 06:23:17 +0100 <koz_> And like... _one_ person got that joke.
2021-03-04 06:23:21 +0100 <koz_> s/joke/reference/
2021-03-04 06:23:23 +0100 <qih> boxscape: Trawling #IRC for tech gems is hard.
2021-03-04 06:23:39 +0100 <qih> koz_: Hahaha
2021-03-04 06:24:13 +0100 <qih> boxscape: Edit => Trawling #IRC logs for tech gems is hard.
2021-03-04 06:24:30 +0100 <boxscape> hm
2021-03-04 06:24:33 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-04 06:25:10 +0100Tario(~Tario@201.192.165.173) (Ping timeout: 276 seconds)
2021-03-04 06:25:35 +0100 <boxscape> actually I'm not even sure if there's continuous publicly available logs before 2018, although I'm sure they exist somewhere (though possibly not publicly available)
2021-03-04 06:26:14 +0100 <boxscape> oh never mind the linked logs go back to at least 2013 if you go to the old/ directory
2021-03-04 06:26:34 +0100 <Axman6> I probably have them somewhere...
2021-03-04 06:26:55 +0100 <Axman6> not sure about my irssi logs
2021-03-04 06:27:19 +0100 <qih> Right, enjoy. That'll be some awesome awk|sed|cut|bash funnery
2021-03-04 06:27:40 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:2015:9fa2:bf0b:7f16) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-04 06:28:11 +0100 <boxscape> just need to `grep -rn 'Church is not just for Hoare'`
2021-03-04 06:28:34 +0100 <koz_> Alonzo Church has given us endless pun-fodder.
2021-03-04 06:29:14 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 245 seconds)
2021-03-04 06:29:34 +0100 <qih> boxscape: Well there is always that then ...
2021-03-04 06:30:49 +0100 <heck-to-the-gnom> Anyone up for solving my mess of XMonad type mismatching? https://p.bsd-unix.net/view/6ff2b32f
2021-03-04 06:30:49 +0100 <edwardk> The first time I heard about Hoare triples it took me more time than I'd like to admit to disambiguate the sentence.
2021-03-04 06:31:03 +0100 <Axman6> ;)
2021-03-04 06:31:26 +0100 <Axman6> Want some help with that post-condition big boy?
2021-03-04 06:31:32 +0100 <heck-to-the-gnom> I'm trying to sort filter for floating & non-floating windows in xmonad when modifying the stack directly
2021-03-04 06:31:56 +0100 <edwardk> Sorry, your precondition seems a little too weak.
2021-03-04 06:32:09 +0100jrqc(~rofl@96.78.87.197) (Ping timeout: 245 seconds)
2021-03-04 06:33:08 +0100 <koz_> edwardk: Rofl.
2021-03-04 06:33:27 +0100 <koz_> Is this an appropriate venue and time to make a certain stripe of joke? :P
2021-03-04 06:33:27 +0100 <heck-to-the-gnom> OK, well I'm logging off for today, but I'm using matrix, so everything's logged. Feel free to work on that, (if anyone wants to help anyway, my Haskell skills are extremely sub-par).
2021-03-04 06:33:30 +0100 <Axman6> How I prove you wrong for $300
2021-03-04 06:33:40 +0100 <Axman6> about*
2021-03-04 06:34:52 +0100jrqc(~rofl@96.78.87.197)
2021-03-04 06:35:15 +0100nineonine(~nineonine@50.216.62.2)
2021-03-04 06:36:27 +0100 <boxscape> if you give me a command I'll make sure your post-condition is satisfied ;)
2021-03-04 06:37:09 +0100 <Axman6> Ooo, are you also into Big Data SQL Management?
2021-03-04 06:38:05 +0100koz_points at the term 'Hoare triples' and giggles like a dork.
2021-03-04 06:40:14 +0100 <edwardk> koz_: probably not. only mentioned it because of the off-color Church/Hoare line right before brought it to mind.
2021-03-04 06:40:19 +0100 <koz_> edwardk: Fair.
2021-03-04 06:41:03 +0100slack1256(~slack1256@45.4.2.52) (Ping timeout: 256 seconds)
2021-03-04 06:43:02 +0100 <qih> SHall I assume that Haskell has hooks for WXWidgets or is there a native, lightweight GUI lib?
2021-03-04 06:43:16 +0100 <koz_> qih: I _believe_ the best bindings are for GTK.
2021-03-04 06:43:24 +0100 <qih> K ta.
2021-03-04 06:43:26 +0100 <koz_> However, that comes with all the caveats of GTK.
2021-03-04 06:43:37 +0100 <Axman6> there is, but I don't know many people who've used it. there's another even more lightweight one whose name I can't remember.. fltk)?
2021-03-04 06:43:37 +0100 <koz_> And also the added caveats that I've never used them.
2021-03-04 06:43:47 +0100 <koz_> Axman6: Yeah, deech's thing.
2021-03-04 06:44:16 +0100 <qih> FLTK, ta. Checking.
2021-03-04 06:45:26 +0100 <Axman6> I love that on duckduckgo, searching for "haskell fltk" comes up a photo of deech as the first result
2021-03-04 06:45:28 +0100 <qih> https://github.com/deech/fltkhs <= interesting
2021-03-04 06:45:33 +0100 <koz_> How does one pronounce 'FLTK'? Eff-Ell-Tee-Kay?
2021-03-04 06:45:39 +0100 <Axman6> yeah
2021-03-04 06:45:46 +0100 <qih> Fancy that ...
2021-03-04 06:45:52 +0100 <koz_> You never know.
2021-03-04 06:45:56 +0100 <qih> Indeed.
2021-03-04 06:46:03 +0100 <koz_> Half the time, you get libraries named fhutagjpor that are pronounced 'Orange'.
2021-03-04 06:46:22 +0100 <boxscape> it's pronounced fulltick according to wiki
2021-03-04 06:46:28 +0100 <koz_> boxscape: TIL.
2021-03-04 06:46:55 +0100 <qih> Using Firefox-ESR on Riv3, the browser must be detecting mobile device-like headers, so the google page and search are rendered in that appalling Mobile format, bleh <= thought I'd whine.
2021-03-04 06:46:55 +0100 <koz_> So thus there must exist the pessimist version MTTK.
2021-03-04 06:47:04 +0100 <boxscape> hah
2021-03-04 06:47:08 +0100 <qih> boxscape: Fulltick, nice
2021-03-04 06:48:10 +0100 <koz_> And the centrist HFTK?
2021-03-04 06:48:37 +0100 <qih> https://github.com/deech/fltkhs/blob/master/images/tree-complex-windows.png That is nowhere as ugly as I feared, not bad at all.
2021-03-04 06:49:03 +0100 <jackdk> there's also a haskell-gi lib that uses GObject introspection to do gtk
2021-03-04 06:49:29 +0100 <boxscape> wow some throwbacks to the last millenium
2021-03-04 06:49:29 +0100 <jackdk> upon which https://github.com/owickstrom/gi-gtk-declarative is built
2021-03-04 06:50:15 +0100 <jackdk> https://owickstrom.github.io/declarative-gtk-programming-in-haskell/ may be a helpful getting-started
2021-03-04 06:50:41 +0100 <jackdk> qih: that's beautiful! I can see exactly which things are controls, and know what to click where
2021-03-04 06:50:59 +0100 <Axman6> http://hackage.haskell.org/package/fltkhs-0.8.0.3/docs/Graphics-UI-FLTK-LowLevel-FLTKHS.html#g:3 is worth taking note of
2021-03-04 06:51:41 +0100 <koz_> I always wonder at the term 'look and feel' for GUIs.
2021-03-04 06:51:42 +0100 <Axman6> https://github.com/deech/fltkhs-themes-demo
2021-03-04 06:51:55 +0100 <koz_> Like, last I checked, GUI didn't have the term 'tactile' in it.
2021-03-04 06:52:24 +0100Rudd0(~Rudd0@185.189.115.103) (Ping timeout: 260 seconds)
2021-03-04 06:52:42 +0100 <qih> jackdk: I know right! He's done a really solid job of making that UI 10/10
2021-03-04 06:52:47 +0100 <Axman6> Wouldn't be surprised of FLTK has a braille interface :P
2021-03-04 06:52:50 +0100 <boxscape> koz_ it might refer to how it responds to inputs
2021-03-04 06:53:03 +0100 <koz_> boxscape: Yeah, makes sense, I'm just nitpicking. :P
2021-03-04 06:53:27 +0100 <Axman6> jackdk: excuse me who doesn't like a hamburger button as interface interface?
2021-03-04 06:53:32 +0100 <boxscape> (Though I suspect people have also been using "look and feel" for static sites)
2021-03-04 06:53:35 +0100 <qih> Axman6: Ctrl-D'd for sure.
2021-03-04 06:54:56 +0100 <jackdk> Axman6: I prefer programs where all operations are behind the `M-x` button, like a civilised person
2021-03-04 06:55:04 +0100 <Axman6> to me, that means close stdin
2021-03-04 06:55:15 +0100 <qih> boxscape: 'Look & Feel' ... marketing leet speak of little merit.
2021-03-04 06:56:51 +0100 <jackdk> Axman6: technically it sends the contents of the tty buffer without waiting for EOL
2021-03-04 06:57:09 +0100 <jackdk> qih: m4rk3ting sp33k?
2021-03-04 06:57:23 +0100 <qih> I want to make some simple Haskell-UI widgets to run on a bunch of machines, to simulate agents for a DAML. Hence the interest in Lightweight UI.
2021-03-04 06:57:29 +0100 <qih> jackdk: Snicker.
2021-03-04 06:57:29 +0100 <Axman6> jackdk: whatever, nerd 8)
2021-03-04 06:59:13 +0100 <qih> I might ask that as a question on the DAML forum, about simulations of agents from an almost RT perspective. I 'spose someone will tell me there is already a lib for that ...
2021-03-04 06:59:32 +0100Axman6awaits jackdk recommending Reflex
2021-03-04 07:00:21 +0100 <Axman6> qih: have you done the tutorial which creates a web ui? I was very impressed with the real-time nature of it
2021-03-04 07:01:09 +0100stree(~stree@68.36.8.116) (Ping timeout: 260 seconds)
2021-03-04 07:02:01 +0100 <Axman6> DAML + Reflex would be quite cool actually
2021-03-04 07:02:08 +0100 <qih> Axman6: Ah the 'social media' one?
2021-03-04 07:02:37 +0100polyrain(~polyrain@2001:8003:e4d8:4101:6ceb:5781:5054:5a4) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-04 07:02:45 +0100 <Axman6> I think it was just a chat app, but maybe
2021-03-04 07:03:27 +0100 <qih> Yes that's it. I have, had all the DAML stuff in, was working through the tutorials then the motherboard died.
2021-03-04 07:04:08 +0100 <koz_> qih: That bodes well. :P
2021-03-04 07:04:37 +0100 <qih> That was really cool. The instant nature of the network comms was not unlike Erlang's GEN_Server ... I was hooked 8-)
2021-03-04 07:07:17 +0100apache801(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-03-04 07:07:29 +0100 <koz_> Wow, my tiny MR has now had comments from both Simon and Edward.
2021-03-04 07:11:39 +0100wmacmil(~wmacmil@c83-252-138-144.bredband.comhem.se) (Ping timeout: 260 seconds)
2021-03-04 07:11:50 +0100 <qih> Oh, on the DAML Core Team?
2021-03-04 07:12:48 +0100 <koz_> qih: No, on GHC.
2021-03-04 07:12:49 +0100kam1(~kam1@5.125.82.63) (Ping timeout: 260 seconds)
2021-03-04 07:13:15 +0100xff0x(~xff0x@2001:1a81:5237:bb00:afc3:f953:e68b:99a6) (Ping timeout: 240 seconds)
2021-03-04 07:13:37 +0100 <qih> OK, still, congrats
2021-03-04 07:14:00 +0100stree(~stree@68.36.8.116)
2021-03-04 07:14:18 +0100xff0x(~xff0x@2001:1a81:5237:bb00:987e:1ed6:ef8c:3d12)
2021-03-04 07:14:30 +0100 <koz_> qih: Thanks!
2021-03-04 07:14:53 +0100 <koz_> Axman6: DAML + Reflex = DAMLflex?
2021-03-04 07:16:22 +0100 <Axman6> ReflAML
2021-03-04 07:17:07 +0100lunaphyte_(~lunaphyte@217.146.82.202) (Remote host closed the connection)
2021-03-04 07:17:29 +0100 <qih> Sounds like a fancy pharmaceutical ... Reflamil.
2021-03-04 07:17:41 +0100Page43(debe8e1e@222.190.142.30)
2021-03-04 07:17:49 +0100 <koz_> qih: Take it to resolve all your IRL async issues.
2021-03-04 07:17:54 +0100 <qih> I smell a C&D letter coming on.
2021-03-04 07:18:06 +0100 <qih> Haha excellent, thanks.
2021-03-04 07:19:34 +0100 <qih> Async I am hungry.
2021-03-04 07:20:42 +0100 <koz_> Async that pun was ungodly.
2021-03-04 07:20:44 +0100boxscape(4ff0baf3@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.243) (Quit: Connection closed)
2021-03-04 07:21:34 +0100Page43(debe8e1e@222.190.142.30) (Client Quit)
2021-03-04 07:22:02 +0100 <qih> Haha, no, it was *awesome*
2021-03-04 07:28:28 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-04 07:30:28 +0100apache801(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 245 seconds)
2021-03-04 07:31:05 +0100Tops2(~Tobias@dyndsl-095-033-090-077.ewe-ip-backbone.de)
2021-03-04 07:32:08 +0100qih(~pi@210-54-120-166.adsl.xtra.co.nz) (Read error: Connection reset by peer)
2021-03-04 07:32:51 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2021-03-04 07:32:58 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 245 seconds)
2021-03-04 07:33:35 +0100ezrakilty(~ezrakilty@97-113-55-149.tukw.qwest.net)
2021-03-04 07:34:01 +0100qih__(~pi@210-54-120-166.adsl.xtra.co.nz)
2021-03-04 07:34:33 +0100Trasp(~Trasp@195.140.213.38)
2021-03-04 07:34:47 +0100 <qih__> Well that was fun.
2021-03-04 07:39:33 +0100deviantfero(~deviantfe@190.150.27.58) (Ping timeout: 264 seconds)
2021-03-04 07:42:42 +0100ryanbooker(uid4340@gateway/web/irccloud.com/x-rnkpnanajeurascu) (Quit: Connection closed for inactivity)
2021-03-04 07:43:20 +0100bahamas(~lucian@unaffiliated/bahamas)
2021-03-04 07:45:52 +0100forgottenone(~forgotten@176.88.30.190)
2021-03-04 07:48:37 +0100Neuromancer(~Neuromanc@unaffiliated/neuromancer)
2021-03-04 07:48:56 +0100_bin(~bin@2600:1700:10a1:38d0:922b:34ff:fe99:1283) (Ping timeout: 240 seconds)
2021-03-04 07:49:11 +0100graf_blutwurst(~user@2001:171b:226e:adc0:441d:c551:5138:50ac)
2021-03-04 07:53:10 +0100average(uid473595@gateway/web/irccloud.com/x-eenzrwxaxysearfe) (Quit: Connection closed for inactivity)
2021-03-04 07:54:20 +0100mirrorbird(~psutcliff@2a00:801:3f2:fa8e:16b2:2b3e:c801:a519)
2021-03-04 07:56:25 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-04 07:58:59 +0100sord937(~sord937@gateway/tor-sasl/sord937)
2021-03-04 08:00:16 +0100_bin(~bin@75-54-107-59.lightspeed.hstntx.sbcglobal.net)
2021-03-04 08:02:59 +0100mirrorbird(~psutcliff@2a00:801:3f2:fa8e:16b2:2b3e:c801:a519) (Read error: Connection reset by peer)
2021-03-04 08:03:01 +0100mirrorbird_(~psutcliff@2a00:801:3f2:fa8e:16b2:2b3e:c801:a519)
2021-03-04 08:05:16 +0100elliott__(~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 276 seconds)
2021-03-04 08:06:35 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-03-04 08:08:23 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-04 08:08:48 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-04 08:10:09 +0100sh9(~sh9@softbank060116136158.bbtec.net) (Ping timeout: 265 seconds)
2021-03-04 08:10:28 +0100cfricke(~cfricke@unaffiliated/cfricke)
2021-03-04 08:10:57 +0100_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-03-04 08:13:23 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 245 seconds)
2021-03-04 08:13:42 +0100jacks2(~bc8134e3@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout))
2021-03-04 08:24:46 +0100redmp(~redmp@172.58.38.160) (Ping timeout: 276 seconds)
2021-03-04 08:25:51 +0100denisse_(~spaceCat@gateway/tor-sasl/alephzer0)
2021-03-04 08:26:31 +0100 <bahamas> what would need to change for this error to be clearer?
2021-03-04 08:26:32 +0100denisse(~spaceCat@gateway/tor-sasl/alephzer0) (Ping timeout: 268 seconds)
2021-03-04 08:26:33 +0100 <bahamas> [Just 4, Nothing, Just 'a']
2021-03-04 08:26:46 +0100 <bahamas> No instance for (Num Char) arising from the literal ‘4’
2021-03-04 08:27:17 +0100mananamenos(~mananamen@193.red-88-11-66.dynamicip.rima-tde.net)
2021-03-04 08:27:31 +0100denisse_denisse
2021-03-04 08:28:35 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 240 seconds)
2021-03-04 08:29:32 +0100kam1(~kam1@5.125.82.63)
2021-03-04 08:29:48 +0100drbean_(~drbean@TC210-63-209-53.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
2021-03-04 08:31:16 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 276 seconds)
2021-03-04 08:31:56 +0100 <koz_> bahamas: It's because you have Just 4 first, so GHC assumes you have (Num a) => [a] there.
2021-03-04 08:32:01 +0100__minoru__shirae(~shiraeesh@46.34.206.213)
2021-03-04 08:32:05 +0100 <koz_> So it's going 'wait, Char isn't a Num, plz explain'.
2021-03-04 08:32:28 +0100 <koz_> Sorry, (Num a) => [Maybe a]
2021-03-04 08:33:55 +0100nineonine(~nineonine@50.216.62.2) (Remote host closed the connection)
2021-03-04 08:34:22 +0100nineonine(~nineonine@50.216.62.2)
2021-03-04 08:34:27 +0100kam1`(~user@5.125.82.63)
2021-03-04 08:36:24 +0100knupfer(~Thunderbi@200116b82c5bbe004d84b8705240f899.dip.versatel-1u1.de)
2021-03-04 08:37:24 +0100freeman42x[m]_(uid387759@gateway/web/irccloud.com/x-tmamqfkiqylunzfs)
2021-03-04 08:37:55 +0100raichoo(~raichoo@dslb-092-073-221-030.092.073.pools.vodafone-ip.de)
2021-03-04 08:38:03 +0100 <[exa]> bahamas: even very minor explicit typing helps a lot with type errors, try e.g. [Just4, Just 'a', Nothing::Maybe Int]
2021-03-04 08:39:47 +0100kam1(~kam1@5.125.82.63) (Quit: Quit)
2021-03-04 08:40:03 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-04 08:41:16 +0100chele(~chele@ip5b40237d.dynamic.kabel-deutschland.de)
2021-03-04 08:42:21 +0100 <qih__> Does Haskell have a Readline equiv? For user input into a script?
2021-03-04 08:42:49 +0100 <koz_> qih__: Haskeline.
2021-03-04 08:43:35 +0100 <qih__> Haha really? Thanks.
2021-03-04 08:44:31 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 256 seconds)
2021-03-04 08:44:34 +0100dhouthoo(~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be)
2021-03-04 08:44:38 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2021-03-04 08:49:30 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-04 08:52:59 +0100gioyik(~gioyik@gateway/tor-sasl/gioyik) (Quit: WeeChat 3.0)
2021-03-04 08:54:09 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 256 seconds)
2021-03-04 08:56:14 +0100malumore(~alecs@151.62.127.36)
2021-03-04 08:57:15 +0100bobiusbillius(~bobiusbil@2a00:23c7:9909:5b01:909a:85aa:703a:457c)
2021-03-04 08:57:57 +0100Varis(~Tadas@unaffiliated/varis)
2021-03-04 08:58:14 +0100olferino(~olferino@host-79-37-103-102.retail.telecomitalia.it)
2021-03-04 08:58:14 +0100olferino(~olferino@host-79-37-103-102.retail.telecomitalia.it) (Excess Flood)
2021-03-04 08:59:21 +0100mouseghost(~draco@87-206-9-185.dynamic.chello.pl)
2021-03-04 08:59:22 +0100mouseghost(~draco@87-206-9-185.dynamic.chello.pl) (Changing host)
2021-03-04 08:59:22 +0100mouseghost(~draco@wikipedia/desperek)
2021-03-04 09:00:09 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-04 09:03:38 +0100olferino(~olferino@host-79-37-103-102.retail.telecomitalia.it)
2021-03-04 09:03:38 +0100olferino(~olferino@host-79-37-103-102.retail.telecomitalia.it) (Excess Flood)
2021-03-04 09:06:35 +0100Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
2021-03-04 09:07:53 +0100fendor(~fendor@77.119.128.81.wireless.dyn.drei.com)
2021-03-04 09:08:58 +0100__minoru__shirae(~shiraeesh@46.34.206.213) (Ping timeout: 276 seconds)
2021-03-04 09:09:17 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-03-04 09:10:13 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection)
2021-03-04 09:10:35 +0100jespada(~jespada@90.254.243.187)
2021-03-04 09:11:02 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-03-04 09:11:32 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection)
2021-03-04 09:11:54 +0100qih__(~pi@210-54-120-166.adsl.xtra.co.nz) (Read error: Connection reset by peer)
2021-03-04 09:13:51 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-04 09:15:25 +0100Neuromancer(~Neuromanc@unaffiliated/neuromancer) (Read error: Connection reset by peer)
2021-03-04 09:15:39 +0100 <bahamas> koz_: that makes sense, but why does it complain about the 4 and not about `Just 'a'`?
2021-03-04 09:16:03 +0100 <koz_> bahamas: A good question.
2021-03-04 09:16:22 +0100 <mouseghost> ?:
2021-03-04 09:16:22 +0100 <lambdabot> Maybe you meant: v @ ? .
2021-03-04 09:16:52 +0100jakalx(~jakalx@base.jakalx.net)
2021-03-04 09:16:58 +0100Neuromancer(~Neuromanc@unaffiliated/neuromancer)
2021-03-04 09:18:47 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 265 seconds)
2021-03-04 09:19:09 +0100kam1`(~user@5.125.82.63) (Ping timeout: 264 seconds)
2021-03-04 09:19:45 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2021-03-04 09:20:04 +0100wmacmil(~wmacmil@c83-252-138-144.bredband.comhem.se)
2021-03-04 09:22:10 +0100stree(~stree@68.36.8.116) (Ping timeout: 265 seconds)
2021-03-04 09:22:20 +0100Yumasi(~guillaume@2a01:e0a:5cb:4430:8c46:2884:8ca1:7346)
2021-03-04 09:22:25 +0100Benzi-Junior(~BenziJuni@88-149-67-143.du.xdsl.is)
2021-03-04 09:25:24 +0100nineonin_(~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2)
2021-03-04 09:26:25 +0100__minoru__shirae(~shiraeesh@46.34.206.213)
2021-03-04 09:28:58 +0100ssedov(~stas@2a00:13c0:63:7195::beef)
2021-03-04 09:29:05 +0100nineonine(~nineonine@50.216.62.2) (Ping timeout: 260 seconds)
2021-03-04 09:29:10 +0100jiribenes_(~jiribenes@rosa.jiribenes.com)
2021-03-04 09:29:35 +0100whez_(sid470288@gateway/web/irccloud.com/x-pthafhujofirezkd)
2021-03-04 09:29:37 +0100Nascha_(sid212230@gateway/web/irccloud.com/x-qczetniwqeazgilv)
2021-03-04 09:29:37 +0100mcfilib_(sid302703@gateway/web/irccloud.com/x-ownjkwkezqcygkve)
2021-03-04 09:29:38 +0100caasih_(sid13241@gateway/web/irccloud.com/x-qijdxufzyweqhywy)
2021-03-04 09:29:38 +0100benkolera_(sid285671@gateway/web/irccloud.com/x-sxotikxkrteyeims)
2021-03-04 09:29:38 +0100alexknvl_(sid259568@gateway/web/irccloud.com/x-aicokisyczvigycz)
2021-03-04 09:29:39 +0100parseval_(sid239098@gateway/web/irccloud.com/x-umgugjvykfxjuxhz)
2021-03-04 09:29:39 +0100m-renaud_(sid333785@gateway/web/irccloud.com/x-bkrbrcredfckpflf)
2021-03-04 09:29:39 +0100tnks_(sid412124@gateway/web/irccloud.com/x-ofaeezfkxpltipls)
2021-03-04 09:29:40 +0100ajmcmiddlin_(sid284402@gateway/web/irccloud.com/x-vfnugzfwoucjmsyx)
2021-03-04 09:29:40 +0100Tritlo_(sid58727@gateway/web/irccloud.com/x-wbzdtjqdjxocddky)
2021-03-04 09:29:40 +0100wildsebastian_(sid324688@gateway/web/irccloud.com/x-lebzerklkyeltgpg)
2021-03-04 09:29:41 +0100mpickering_(sid78412@gateway/web/irccloud.com/x-xcaymlyqrctfybyu)
2021-03-04 09:29:41 +0100edwardk_(sid47016@haskell/developer/edwardk)
2021-03-04 09:29:48 +0100Kronic_(sid480486@gateway/web/irccloud.com/x-nxsfkkgroattssdp)
2021-03-04 09:29:49 +0100atriq(~Taneb@runciman.hacksoc.org)
2021-03-04 09:29:51 +0100bjs_(sid190364@gateway/web/irccloud.com/x-orptgfjwvvatppsz)
2021-03-04 09:29:51 +0100tomsmeding_(~tomsmedin@2a03:b0c0:0:1010::767:3001)
2021-03-04 09:29:52 +0100gOOgler_(uid125351@gateway/web/irccloud.com/x-xqfkukcjcgrzokzf)
2021-03-04 09:29:53 +0100ocharles_(sid30093@musicbrainz/user/ocharles)
2021-03-04 09:29:53 +0100jonrh_(sid5185@gateway/web/irccloud.com/x-edynkmjkttfouabi)
2021-03-04 09:29:54 +0100typetetris_(sid275937@gateway/web/irccloud.com/x-slhwzzrziatkashc)
2021-03-04 09:29:54 +0100dgpratt_(sid193493@gateway/web/irccloud.com/x-ciamvfkocjxmyaoq)
2021-03-04 09:29:59 +0100billstclair_(sid77830@gateway/web/irccloud.com/x-scbeoiqvbygvcgod)
2021-03-04 09:30:03 +0100dequbed(~dequbed@yanduxian.paranoidlabs.org)
2021-03-04 09:30:04 +0100Kamuela_(sid111576@gateway/web/irccloud.com/x-rawlogsccanndxab)
2021-03-04 09:30:05 +0100npgm_(sid42623@gateway/web/irccloud.com/x-kuowlapmdjoqcdvp)
2021-03-04 09:30:06 +0100affinespaces_(sid327561@gateway/web/irccloud.com/x-ggonmcpljdasmoht)
2021-03-04 09:30:07 +0100infinisi1(~infinisil@NixOS/user/infinisil)
2021-03-04 09:30:08 +0100stylewarning_(stylewarni@gateway/web/irccloud.com/x-gonmnbqftdyxklpu)
2021-03-04 09:30:14 +0100higherorder__(sid185221@gateway/web/irccloud.com/x-ulsufjwffnavwfuo)
2021-03-04 09:30:14 +0100betawaffle_(sid2730@gateway/web/irccloud.com/x-bxkcemrjdfeodlht)
2021-03-04 09:30:19 +0100Adeon_(sid418992@gateway/web/irccloud.com/x-ofglsdimpdtebsds)
2021-03-04 09:30:38 +0100amatecha____(sid10006@gateway/web/irccloud.com/x-uvfkrdnmulqvmuhf)
2021-03-04 09:30:55 +0100vjok1(vjoki@2a00:d880:3:1::fea1:9ae)
2021-03-04 09:31:02 +0100lisq_(~quassel@lis.moe)
2021-03-04 09:31:17 +0100beaky_(~beaky@2a03:b0c0:0:1010::17cf:7003)
2021-03-04 09:31:19 +0100riasue(~quassel@2001:310:6000:f::5198:1)
2021-03-04 09:31:56 +0100xnyhps_(~xnyhps@2a02:2770:3:0:216:3eff:fe67:3288)
2021-03-04 09:32:02 +0100bwe_(~bwe@2a01:4f8:1c1c:4878::2)
2021-03-04 09:32:06 +0100bjobjo_(~bjobjo@2a01:79c:cebf:d688::9e6)
2021-03-04 09:32:07 +0100Ferdiran1(~max@2001:4c78:2012:5000::2)
2021-03-04 09:32:10 +0100tomjagua1paw(~tom@li367-225.members.linode.com)
2021-03-04 09:32:15 +0100ixian8(~mgold@terra.bitplane.org)
2021-03-04 09:32:23 +0100weechat3(~mingc@2400:8902::f03c:91ff:feb7:8e82)
2021-03-04 09:32:35 +0100bcmiller_(~bm3719@66.42.95.185)
2021-03-04 09:32:42 +0100ubert1(~Thunderbi@p200300ecdf25d9e2e6b318fffe838f33.dip0.t-ipconnect.de)
2021-03-04 09:32:44 +0100holo2(~holo@nikky.moe)
2021-03-04 09:32:45 +0100tomsmeding(~tomsmedin@2a03:b0c0:0:1010::767:3001) (Disconnected by services)
2021-03-04 09:32:56 +0100nikola(~nikola@2a03:b0c0:2:d0::dc2:c001)
2021-03-04 09:32:57 +0100copypasteque(~copypaste@2001:41d0:8:b325::1)
2021-03-04 09:32:58 +0100thonkpod_(~thonkpod@2001:19f0:ac01:b46:5400:1ff:fec7:d73d)
2021-03-04 09:32:58 +0100krjt(~krjst@2604:a880:800:c1::16b:8001)
2021-03-04 09:33:01 +0100tomsmeding_tomsmeding
2021-03-04 09:33:03 +0100walt(~ggVGc@a.lowtech.earth)
2021-03-04 09:33:16 +0100dexter(dexter@2a01:7e00::f03c:91ff:fe86:59ec)
2021-03-04 09:33:30 +0100entropyga1n(levitate@unaffiliated/entropygain)
2021-03-04 09:33:43 +0100agrif-(agrif@rakeri.net)
2021-03-04 09:33:44 +0100sim642_(~simmo@unaffiliated/sim642)
2021-03-04 09:33:47 +0100tabaqui1(~tabaqui@2604:a880:800:c1::21b:3001)
2021-03-04 09:33:48 +0100a3f(~a3f@chimeria.ext.pengutronix.de)
2021-03-04 09:33:54 +0100PHO__(~pho@akari.cielonegro.org)
2021-03-04 09:34:04 +0100nemesit|znc_(~nemesit@myriadvisuals.com)
2021-03-04 09:34:04 +0100ego_(~ego@2604:a880:800:a1::1b:b001)
2021-03-04 09:34:18 +0100jeffcasavant[m]1(jeffcasava@gateway/shell/matrix.org/x-zocdvhbwqljgjspp)
2021-03-04 09:34:18 +0100rawles_(~r@unaffiliated/rawles)
2021-03-04 09:34:19 +0100hexagoxe-(~hexagoxel@2a01:4f8:c0c:e::2)
2021-03-04 09:34:20 +0100tekmaster(~tekacs@178.79.131.8)
2021-03-04 09:34:22 +0100exferenc-(~exference@hexagoxel.de)
2021-03-04 09:34:27 +0100sis7_(~user@2001:15e8:110:473e::1)
2021-03-04 09:34:29 +0100freeman42x[m]1(freeman42x@gateway/shell/matrix.org/x-qxkxelsgcvmbsqlb)
2021-03-04 09:34:40 +0100martin02_(silas@hund.fs.lmu.de)
2021-03-04 09:34:54 +0100edwardk(sid47016@haskell/developer/edwardk) (Disconnected by services)
2021-03-04 09:34:58 +0100edwardk_edwardk
2021-03-04 09:35:00 +0100PHO__PHO
2021-03-04 09:35:13 +0100stree(~stree@68.36.8.116)
2021-03-04 09:35:20 +0100_flow__(~none@salem.informatik.uni-erlangen.de)
2021-03-04 09:35:41 +0100Aleksejs_Home(~Aleksejs@haskell.lv)
2021-03-04 09:35:49 +0100cawfee(chiya@2406:3003:2077:2341::babe)
2021-03-04 09:36:03 +0100cgadski(~textual@a95-95-106-208.cpe.netcabo.pt)
2021-03-04 09:36:49 +0100bobiusbillius(~bobiusbil@2a00:23c7:9909:5b01:909a:85aa:703a:457c) (Ping timeout: 272 seconds)
2021-03-04 09:37:22 +0100michalz(~user@185.246.204.47)
2021-03-04 09:37:28 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2021-03-04 09:43:12 +0100kritzefitz(~kritzefit@fw-front.credativ.com)
2021-03-04 09:43:31 +0100freeman42x[m](freeman42x@gateway/shell/matrix.org/x-swjzfvecjjmfxmen) (*.net *.split)
2021-03-04 09:43:31 +0100jeffcasavant[m](jeffcasava@gateway/shell/matrix.org/x-komviiuaffxezunv) (*.net *.split)
2021-03-04 09:43:31 +0100vjoki(vjoki@2a00:d880:3:1::fea1:9ae) (*.net *.split)
2021-03-04 09:43:31 +0100jess(jess@freenode/staff/jess) (*.net *.split)
2021-03-04 09:43:31 +0100martin02(silas@hund.fs.lmu.de) (*.net *.split)
2021-03-04 09:43:31 +0100mcfilib(sid302703@gateway/web/irccloud.com/x-hnldclqivbijvpbm) (*.net *.split)
2021-03-04 09:43:31 +0100bwe(~bwe@unaffiliated/bwe) (*.net *.split)
2021-03-04 09:43:31 +0100a3f_(~a3f@chimeria.ext.pengutronix.de) (*.net *.split)
2021-03-04 09:43:31 +0100parseval(sid239098@gateway/web/irccloud.com/x-xtgzvtrnthigcynq) (*.net *.split)
2021-03-04 09:43:31 +0100amatecha___(sid10006@gateway/web/irccloud.com/x-hfdlvklywzlniuqc) (*.net *.split)
2021-03-04 09:43:31 +0100betawaffle(sid2730@gateway/web/irccloud.com/x-fkangvxpurzqruey) (*.net *.split)
2021-03-04 09:43:31 +0100Kamuela(sid111576@gateway/web/irccloud.com/x-nqaokwfckextdaiq) (*.net *.split)
2021-03-04 09:43:31 +0100lisq(~quassel@lis.moe) (*.net *.split)
2021-03-04 09:43:31 +0100dexterfoo(dexter@2a01:7e00::f03c:91ff:fe86:59ec) (*.net *.split)
2021-03-04 09:43:31 +0100higherorder_(sid185221@gateway/web/irccloud.com/x-uismvhlimcfebiyq) (*.net *.split)
2021-03-04 09:43:31 +0100stass(~stas@2a00:13c0:63:7195::beef) (*.net *.split)
2021-03-04 09:43:31 +0100copypasteque_(~copypaste@2001:41d0:8:b325::1) (*.net *.split)
2021-03-04 09:43:31 +0100nikola4(~nikola@2a03:b0c0:2:d0::dc2:c001) (*.net *.split)
2021-03-04 09:43:31 +0100holo1(~holo@nikky.moe) (*.net *.split)
2021-03-04 09:43:31 +0100riatre(~quassel@2001:310:6000:f::5198:1) (*.net *.split)
2021-03-04 09:43:31 +0100dequbed_(~dequbed@2001:bc8:3f24:100::1) (*.net *.split)
2021-03-04 09:43:31 +0100Taneb(~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) (*.net *.split)
2021-03-04 09:43:31 +0100infinisil(~infinisil@NixOS/user/infinisil) (*.net *.split)
2021-03-04 09:43:31 +0100jiribenes(~jiribenes@rosa.jiribenes.com) (*.net *.split)
2021-03-04 09:43:31 +0100Kronic(sid480486@gateway/web/irccloud.com/x-bynyulwltgynltmc) (*.net *.split)
2021-03-04 09:43:31 +0100thonkpod(~thonkpod@2001:19f0:ac01:b46:5400:1ff:fec7:d73d) (*.net *.split)
2021-03-04 09:43:31 +0100dale(dale@unaffiliated/dale) (*.net *.split)
2021-03-04 09:43:31 +0100ajmcmiddlin(sid284402@gateway/web/irccloud.com/x-envrayjafctqomyi) (*.net *.split)
2021-03-04 09:43:31 +0100whez(sid470288@gateway/web/irccloud.com/x-rgticdwlpxuwtxmt) (*.net *.split)
2021-03-04 09:43:31 +0100typetetris(sid275937@gateway/web/irccloud.com/x-stkqjtnjlxzqnxsl) (*.net *.split)
2021-03-04 09:43:31 +0100m-renaud(sid333785@gateway/web/irccloud.com/x-cahbetqlwgcicebd) (*.net *.split)
2021-03-04 09:43:31 +0100ocharles(sid30093@musicbrainz/user/ocharles) (*.net *.split)
2021-03-04 09:43:31 +0100ixian(~mgold@terra.bitplane.org) (*.net *.split)
2021-03-04 09:43:31 +0100benkolera(sid285671@gateway/web/irccloud.com/x-twzfcwapzvlcxrpj) (*.net *.split)
2021-03-04 09:43:31 +0100gOOgler(uid125351@gateway/web/irccloud.com/x-rrpkpkuuapidsyfn) (*.net *.split)
2021-03-04 09:43:31 +0100billstclair(sid77830@gateway/web/irccloud.com/x-oesooeymiowzuzns) (*.net *.split)
2021-03-04 09:43:31 +0100Aleksejs(~Aleksejs@haskell.lv) (*.net *.split)
2021-03-04 09:43:31 +0100tabaqui(~tabaqui@2604:a880:800:c1::21b:3001) (*.net *.split)
2021-03-04 09:43:31 +0100tekacs(tekacs@2a01:7e00::f03c:91ff:fe93:43aa) (*.net *.split)
2021-03-04 09:43:31 +0100nemesit|znc(~nemesit@2a01:488:66:1000:2ea3:4eeb:0:1) (*.net *.split)
2021-03-04 09:43:31 +0100npgm(sid42623@gateway/web/irccloud.com/x-epxqkdszurzloaos) (*.net *.split)
2021-03-04 09:43:31 +0100mpickering(sid78412@gateway/web/irccloud.com/x-ullosshavaeyawfg) (*.net *.split)
2021-03-04 09:43:31 +0100affinespaces(sid327561@gateway/web/irccloud.com/x-dkkclnjlpoudblgz) (*.net *.split)
2021-03-04 09:43:31 +0100Tritlo(sid58727@gateway/web/irccloud.com/x-elrrgxjqxqvbsxaj) (*.net *.split)
2021-03-04 09:43:31 +0100stylewarning(stylewarni@gateway/web/irccloud.com/x-xytuvgxkxgyavseq) (*.net *.split)
2021-03-04 09:43:31 +0100tnks(sid412124@gateway/web/irccloud.com/x-aeixbyffiogfyzax) (*.net *.split)
2021-03-04 09:43:31 +0100dgpratt(sid193493@gateway/web/irccloud.com/x-xzzvvqtrbrrriqqy) (*.net *.split)
2021-03-04 09:43:31 +0100rawles(~r@unaffiliated/rawles) (*.net *.split)
2021-03-04 09:43:31 +0100_flow_(~none@salem.informatik.uni-erlangen.de) (*.net *.split)
2021-03-04 09:43:31 +0100myme(~myme@li1406-121.members.linode.com) (*.net *.split)
2021-03-04 09:43:31 +0100hexagoxel(~hexagoxel@2a01:4f8:c0c:e::2) (*.net *.split)
2021-03-04 09:43:31 +0100wildsebastian(sid324688@gateway/web/irccloud.com/x-yyzqmmxbyqmuqkuw) (*.net *.split)
2021-03-04 09:43:31 +0100jonrh(sid5185@gateway/web/irccloud.com/x-izunjptqnvnhhsic) (*.net *.split)
2021-03-04 09:43:31 +0100caasih(sid13241@gateway/web/irccloud.com/x-qinujoqnjozgosio) (*.net *.split)
2021-03-04 09:43:31 +0100alexknvl(sid259568@gateway/web/irccloud.com/x-thwkgdxraegelnxg) (*.net *.split)
2021-03-04 09:43:31 +0100Adeon(sid418992@gateway/web/irccloud.com/x-ckgjqpmuzmiriaco) (*.net *.split)
2021-03-04 09:43:31 +0100bjs(sid190364@gateway/web/irccloud.com/x-bdnfguocwopyqbcq) (*.net *.split)
2021-03-04 09:43:31 +0100Nascha(sid212230@gateway/web/irccloud.com/x-kpyhouvkzkznjbww) (*.net *.split)
2021-03-04 09:43:31 +0100bcmiller(~bm3719@66.42.95.185) (*.net *.split)
2021-03-04 09:43:31 +0100sis7(~user@2001:15e8:110:473e::1) (*.net *.split)
2021-03-04 09:43:31 +0100pong(chiya@2406:3003:2077:2341::babe) (*.net *.split)
2021-03-04 09:43:31 +0100exferenceBot(~exference@2a01:4f8:c0c:e::2) (*.net *.split)
2021-03-04 09:43:31 +0100beaky(~beaky@2a03:b0c0:0:1010::17cf:7003) (*.net *.split)
2021-03-04 09:43:31 +0100ggVGc(~ggVGc@unaffiliated/walt) (*.net *.split)
2021-03-04 09:43:31 +0100agrif(agrif@overviewer/dev/agrif) (*.net *.split)
2021-03-04 09:43:31 +0100bjobjo(~bjobjo@2a01:79c:cebf:d688::9e6) (*.net *.split)
2021-03-04 09:43:31 +0100weechat_1(~mingc@2400:8902::f03c:91ff:feb7:8e82) (*.net *.split)
2021-03-04 09:43:31 +0100entropygain(levitate@unaffiliated/entropygain) (*.net *.split)
2021-03-04 09:43:31 +0100krjst(~krjst@2604:a880:800:c1::16b:8001) (*.net *.split)
2021-03-04 09:43:31 +0100Ferdirand(~max@2001:4c78:2012:5000::2) (*.net *.split)
2021-03-04 09:43:31 +0100ego(~ego@parallaxcorporation.xyz) (*.net *.split)
2021-03-04 09:43:31 +0100PHO_(~pho@akari.cielonegro.org) (*.net *.split)
2021-03-04 09:43:31 +0100solarus(~solarus@2a03:b0c0:2:d0::48:7001) (*.net *.split)
2021-03-04 09:43:31 +0100sim642(~simmo@unaffiliated/sim642) (*.net *.split)
2021-03-04 09:43:31 +0100xnyhps(~xnyhps@2a02:2770:3:0:216:3eff:fe67:3288) (*.net *.split)
2021-03-04 09:43:31 +0100tomjaguarpaw(~tom@li367-225.members.linode.com) (*.net *.split)
2021-03-04 09:43:32 +0100bcmiller_bcmiller
2021-03-04 09:43:32 +0100exferenc-exferenceBot
2021-03-04 09:43:32 +0100mcfilib_mcfilib
2021-03-04 09:43:33 +0100agrif-agrif
2021-03-04 09:43:33 +0100hexagoxe-hexagoxel
2021-03-04 09:43:33 +0100agrif(agrif@rakeri.net) (Changing host)
2021-03-04 09:43:33 +0100agrif(agrif@overviewer/dev/agrif)
2021-03-04 09:43:35 +0100parseval_parseval
2021-03-04 09:43:35 +0100benkolera_benkolera
2021-03-04 09:43:36 +0100whez_whez
2021-03-04 09:43:37 +0100freeman42x[m]_freeman42x[m]
2021-03-04 09:43:37 +0100vjok1vjoki
2021-03-04 09:43:38 +0100m-renaud_m-renaud
2021-03-04 09:43:38 +0100mpickering_mpickering
2021-03-04 09:43:39 +0100Tritlo_Tritlo
2021-03-04 09:43:39 +0100Kronic_Kronic
2021-03-04 09:43:39 +0100sim642_sim642
2021-03-04 09:43:41 +0100ajmcmiddlin_ajmcmiddlin
2021-03-04 09:43:41 +0100caasih_caasih
2021-03-04 09:43:44 +0100jonrh_jonrh
2021-03-04 09:43:44 +0100Kamuela_Kamuela
2021-03-04 09:43:44 +0100affinespaces_affinespaces
2021-03-04 09:43:44 +0100alexknvl_alexknvl
2021-03-04 09:43:45 +0100typetetris_typetetris
2021-03-04 09:43:45 +0100ocharles_ocharles
2021-03-04 09:43:45 +0100Adeon_Adeon
2021-03-04 09:43:45 +0100tnks_tnks
2021-03-04 09:43:46 +0100wildsebastian_wildsebastian
2021-03-04 09:43:46 +0100billstclair_billstclair
2021-03-04 09:43:49 +0100dgpratt_dgpratt
2021-03-04 09:43:51 +0100npgm_npgm
2021-03-04 09:43:52 +0100stylewarning_stylewarning
2021-03-04 09:43:52 +0100Nascha_Nascha
2021-03-04 09:43:54 +0100bjs_bjs
2021-03-04 09:43:54 +0100lisq_lisq
2021-03-04 09:44:22 +0100dale(dale@unaffiliated/dale)
2021-03-04 09:45:34 +0100myme(~myme@li1406-121.members.linode.com)
2021-03-04 09:46:09 +0100jdt(~jdt@208.85.233.130) (Ping timeout: 264 seconds)
2021-03-04 09:46:19 +0100stree(~stree@68.36.8.116) (Excess Flood)
2021-03-04 09:46:45 +0100notzmv(~zmv@unaffiliated/zmv) (Ping timeout: 264 seconds)
2021-03-04 09:46:46 +0100stree(~stree@68.36.8.116)
2021-03-04 09:48:27 +0100ezrakilty(~ezrakilty@97-113-55-149.tukw.qwest.net) (Remote host closed the connection)
2021-03-04 09:48:39 +0100jdt(~jdt@208.85.233.130)
2021-03-04 09:50:34 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 276 seconds)
2021-03-04 09:54:13 +0100cgadski(~textual@a95-95-106-208.cpe.netcabo.pt) (Ping timeout: 256 seconds)
2021-03-04 09:55:17 +0100Boomerang(~Boomerang@2a05:f6c7:2179:0:64:db14:2c3a:3ba3)
2021-03-04 09:59:36 +0100atriqTaneb
2021-03-04 10:01:35 +0100beaky_beaky
2021-03-04 10:04:02 +0100fendor(~fendor@77.119.128.81.wireless.dyn.drei.com) (Remote host closed the connection)
2021-03-04 10:04:20 +0100fendor(~fendor@77.119.128.81.wireless.dyn.drei.com)
2021-03-04 10:06:24 +0100ixlun(~user@213.205.241.12)
2021-03-04 10:07:19 +0100entropyga1nentropygain
2021-03-04 10:08:12 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Remote host closed the connection)
2021-03-04 10:11:03 +0100nineonin_(~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2) (Remote host closed the connection)
2021-03-04 10:11:56 +0100fendor_(~fendor@77.119.128.81.wireless.dyn.drei.com)
2021-03-04 10:12:48 +0100kuribas(~user@ptr-25vy0iacstgp10erojf.18120a2.ip6.access.telenet.be)
2021-03-04 10:12:49 +0100nineonine(~nineonine@S0106a0ff7073d5d5.vf.shawcable.net)
2021-03-04 10:13:39 +0100fendor(~fendor@77.119.128.81.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
2021-03-04 10:17:44 +0100nineonine(~nineonine@S0106a0ff7073d5d5.vf.shawcable.net) (Ping timeout: 260 seconds)
2021-03-04 10:18:55 +0100vicfred(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2021-03-04 10:20:45 +0100 <Unhammer> https://hackage.haskell.org/package/fuzzcheck missed opportunity to name a package "hirsuite" (test suite made of fuzz)
2021-03-04 10:20:54 +0100jess(jess@freenode/staff/jess)
2021-03-04 10:21:03 +0100 <mouseghost> fursuite, Unhammer
2021-03-04 10:23:45 +0100beardhatcode(robbertbea@gateway/shell/matrix.org/x-gbhtxxezlpitjror)
2021-03-04 10:24:38 +0100berberman(~berberman@unaffiliated/berberman)
2021-03-04 10:25:35 +0100berberman_(~berberman@unaffiliated/berberman) (Ping timeout: 272 seconds)
2021-03-04 10:29:15 +0100xff0x(~xff0x@2001:1a81:5237:bb00:987e:1ed6:ef8c:3d12) (Remote host closed the connection)
2021-03-04 10:29:34 +0100xff0x(~xff0x@2001:1a81:5237:bb00:76ab:515a:5e02:6571)
2021-03-04 10:35:46 +0100Franciman(~francesco@host-82-49-79-189.retail.telecomitalia.it)
2021-03-04 10:36:35 +0100jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2021-03-04 10:36:59 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2021-03-04 10:39:07 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-04 10:40:14 +0100notzmv(~zmv@unaffiliated/zmv)
2021-03-04 10:42:06 +0100chenshen(~chenshen@2620:10d:c090:400::5:9f47) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
2021-03-04 10:43:00 +0100boxscape(86ab2c0d@gateway/web/cgi-irc/kiwiirc.com/ip.134.171.44.13)
2021-03-04 10:43:27 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-czcoxqegzsrqhure) (Quit: Connection closed for inactivity)
2021-03-04 10:43:30 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 246 seconds)
2021-03-04 10:43:55 +0100mapperr(~mapperr@vmi389916.contaboserver.net) (Remote host closed the connection)
2021-03-04 10:44:59 +0100vchlup_(~vchlup@nat.brnet.cz) (Remote host closed the connection)
2021-03-04 10:45:11 +0100mapperr(~mapperr@vmi389916.contaboserver.net)
2021-03-04 10:45:23 +0100vchlup_(~vchlup@nat.brnet.cz)
2021-03-04 10:47:09 +0100jakalx(~jakalx@base.jakalx.net) ()
2021-03-04 10:47:22 +0100nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639)
2021-03-04 10:48:03 +0100toorevitimirp(~tooreviti@117.182.182.60)
2021-03-04 10:48:06 +0100 <Unhammer> weell, that one sounds a bit too much like a costume
2021-03-04 10:51:52 +0100pavonia(~user@unaffiliated/siracusa) (Quit: Bye!)
2021-03-04 10:54:02 +0100nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639) (Ping timeout: 264 seconds)
2021-03-04 10:54:59 +0100makergrl(~ident@29.201.4.46.bc.googleusercontent.com)
2021-03-04 10:56:12 +0100freeman42x[m](uid387759@gateway/web/irccloud.com/x-tmamqfkiqylunzfs) (Quit: Connection closed for inactivity)
2021-03-04 10:57:32 +0100ClaudiusMaximus(~claude@191.123.199.146.dyn.plus.net)
2021-03-04 10:57:32 +0100ClaudiusMaximus(~claude@191.123.199.146.dyn.plus.net) (Changing host)
2021-03-04 10:57:32 +0100ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus)
2021-03-04 11:03:35 +0100knupfer(~Thunderbi@200116b82c5bbe004d84b8705240f899.dip.versatel-1u1.de) (Remote host closed the connection)
2021-03-04 11:03:44 +0100knupfer(~Thunderbi@200116b82c5bbe00c174e65d57f6f6eb.dip.versatel-1u1.de)
2021-03-04 11:04:18 +0100Rudd0(~Rudd0@185.189.115.103)
2021-03-04 11:07:46 +0100m0rphism1(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
2021-03-04 11:13:08 +0100boxscape(86ab2c0d@gateway/web/cgi-irc/kiwiirc.com/ip.134.171.44.13) (Quit: Connection closed)
2021-03-04 11:13:15 +0100aarvar(~foewfoiew@2601:602:a080:fa0:176:cad2:9667:c008) (Ping timeout: 240 seconds)
2021-03-04 11:14:33 +0100gehmehgeh(~ircuser1@unaffiliated/gehmehgeh)
2021-03-04 11:14:34 +0100gehmehgeh(~ircuser1@unaffiliated/gehmehgeh) (Changing host)
2021-03-04 11:14:34 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2021-03-04 11:14:41 +0100gienah(~mwright@gentoo/developer/gienah) (Quit: Lost terminal)
2021-03-04 11:16:19 +0100tomsmeding(~tomsmedin@2a03:b0c0:0:1010::767:3001) (Quit: ZNC 1.8.2 - https://znc.in)
2021-03-04 11:16:39 +0100dsrt^(dsrt@ip98-184-89-2.mc.at.cox.net) (Ping timeout: 260 seconds)
2021-03-04 11:17:14 +0100tomsmeding(~tomsmedin@tomsmeding.com)
2021-03-04 11:17:20 +0100dsrt^(nehsou@ip98-184-89-2.mc.at.cox.net)
2021-03-04 11:23:01 +0100nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639)
2021-03-04 11:24:55 +0100JASTH(~Android@78-68-99-187-no2810.tbcn.telia.com)
2021-03-04 11:27:15 +0100nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639) (Ping timeout: 240 seconds)
2021-03-04 11:30:48 +0100mapperr(~mapperr@vmi389916.contaboserver.net) (Remote host closed the connection)
2021-03-04 11:31:17 +0100pjb(~t@2a01cb04063ec5007ce20f826557de89.ipv6.abo.wanadoo.fr)
2021-03-04 11:31:53 +0100mapperr(~mapperr@vmi389916.contaboserver.net)
2021-03-04 11:32:48 +0100heatsink(~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d) (Remote host closed the connection)
2021-03-04 11:35:43 +0100hrdl(~ef24a0e6@unaffiliated/hrdl) (Remote host closed the connection)
2021-03-04 11:36:22 +0100alecs(~alecs@151.62.127.36)
2021-03-04 11:36:29 +0100alecs(~alecs@151.62.127.36) (Client Quit)
2021-03-04 11:37:04 +0100alecs(~alecs@151.62.127.36)
2021-03-04 11:37:07 +0100alecs(~alecs@151.62.127.36) (Remote host closed the connection)
2021-03-04 11:38:12 +0100mananamenos_(~mananamen@193.red-88-11-66.dynamicip.rima-tde.net)
2021-03-04 11:38:22 +0100kowodo(~kowodo@p57b33e73.dip0.t-ipconnect.de)
2021-03-04 11:38:48 +0100mananamenos(~mananamen@193.red-88-11-66.dynamicip.rima-tde.net) (Ping timeout: 245 seconds)
2021-03-04 11:41:41 +0100thc202(~thc202@unaffiliated/thc202)
2021-03-04 11:44:10 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection)
2021-03-04 11:44:21 +0100seanparsons(~sean@cpc145088-gill21-2-0-cust281.20-1.cable.virginm.net) (Ping timeout: 264 seconds)
2021-03-04 11:45:32 +0100seanparsons(~sean@cpc145088-gill21-2-0-cust281.20-1.cable.virginm.net)
2021-03-04 11:47:01 +0100cosimone(~cosimone@93-47-228-249.ip115.fastwebnet.it)
2021-03-04 11:48:40 +0100gienah(~mwright@gentoo/developer/gienah)
2021-03-04 11:49:49 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
2021-03-04 11:51:19 +0100__minoru__shirae(~shiraeesh@46.34.206.213) (Ping timeout: 245 seconds)
2021-03-04 11:54:21 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-04 11:55:09 +0100stree(~stree@68.36.8.116) (Ping timeout: 260 seconds)
2021-03-04 11:57:00 +0100jakalx(~jakalx@base.jakalx.net)
2021-03-04 11:59:13 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 260 seconds)
2021-03-04 11:59:36 +0100Feuermagier(~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6) (Quit: Leaving)
2021-03-04 12:03:12 +0100betawaffle_betawaffle
2021-03-04 12:08:03 +0100stree(~stree@68.36.8.116)
2021-03-04 12:11:56 +0100jiribenes_jiribenes
2021-03-04 12:12:29 +0100 <nshepperd2> I keep finding myself reaching for something like (Seq a, Map a Int), where the Map lets you look up the position of each element and can be efficiently updated on all Seq operations (insert/delete/split/concatenate), but of course with a naive Map that's impossible to do better than O(n)
2021-03-04 12:14:37 +0100 <nshepperd2> edwardk: ^^ do you know any datastructure like this with good asymptotics? I think i vaguely remember seeing a talk from you that mentioned this but can't remember when
2021-03-04 12:15:22 +0100dexterlb_(~dexterlb@2a01:9e40:2:2::2) (Quit: Boing)
2021-03-04 12:16:04 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-03-04 12:16:24 +0100 <mniip> nshepperd2, segment/fenwick trees might help
2021-03-04 12:16:37 +0100bahamas(~lucian@unaffiliated/bahamas) (Ping timeout: 260 seconds)
2021-03-04 12:16:49 +0100 <mniip> you can do monoidal range update in log time
2021-03-04 12:17:36 +0100bahamas(~lucian@unaffiliated/bahamas)
2021-03-04 12:18:20 +0100 <nshepperd2> interesting
2021-03-04 12:18:34 +0100 <nshepperd2> that does look relevant
2021-03-04 12:19:48 +0100walt(~ggVGc@a.lowtech.earth) (Changing host)
2021-03-04 12:19:48 +0100walt(~ggVGc@unaffiliated/walt)
2021-03-04 12:19:53 +0100waltggVGc
2021-03-04 12:21:39 +0100cgadski(~textual@a95-95-106-208.cpe.netcabo.pt)
2021-03-04 12:22:09 +0100bahamas(~lucian@unaffiliated/bahamas) (Ping timeout: 245 seconds)
2021-03-04 12:24:05 +0100 <mniip> I guess the FP analog would be a map that stores a monoid element in every node
2021-03-04 12:24:19 +0100 <mniip> and the value in the leaf is the concatenation of the elements along the path
2021-03-04 12:24:31 +0100 <mniip> so you can update an entire subtree in O(1)
2021-03-04 12:26:11 +0100dexterlb_(~dexterlb@2a01:9e40:2:2::2)
2021-03-04 12:28:27 +0100 <nshepperd2> so far what i've been able to come up with on my own is: 1. use a linked list (fwd :: Map a a, bwd :: Map a a) which is efficient but doesn't support everything Seq does; or 2. Bimap Key a where Key is some datatype that is dense like the real numbers (eg. [Int]) which degrades in performance if you repeatedly insert between two elements
2021-03-04 12:29:00 +0100JASTH(~Android@78-68-99-187-no2810.tbcn.telia.com) (Read error: Connection reset by peer)
2021-03-04 12:29:22 +0100bjobjo_bjobjo
2021-03-04 12:33:12 +0100heatsink(~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d)
2021-03-04 12:33:25 +0100average(uid473595@gateway/web/irccloud.com/x-xflnwfcmhqvolkuk)
2021-03-04 12:35:10 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-04 12:35:19 +0100 <siraben> nshepperd2: would finger trees work?
2021-03-04 12:35:38 +0100 <siraben> (it's what Seq uses internally but it works over an custom monoid)
2021-03-04 12:35:43 +0100drbean(~drbean@TC210-63-209-31.static.apol.com.tw)
2021-03-04 12:36:34 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-03-04 12:36:55 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-04 12:37:50 +0100 <arahael> How do I read a string into an xml document? I'm using hxt and have tried: runX $ readString [ withValidate no ] $ unpack $ decodeUtf8 xml
2021-03-04 12:38:49 +0100 <arahael> The problem is that I have a 'fatal error: HTTP handler not configured', there is further instructions I could follow to eg, use the 'withHTTP' option, but how can i *just* parse this xml and not also fetch DTD's and stuff like that?
2021-03-04 12:40:04 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 260 seconds)
2021-03-04 12:40:43 +0100usr25(~usr25@unaffiliated/usr25)
2021-03-04 12:42:23 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-03-04 12:42:58 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-04 12:48:04 +0100wmacmil(~wmacmil@c83-252-138-144.bredband.comhem.se) (Quit: Leaving)
2021-03-04 12:48:13 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-03-04 12:48:38 +0100 <nshepperd2> siraben: FingerTree (Set a) a works 'in principle' -- you can find an element in O(log(n)^2) by following the branches that have your element, but the concatenation performance is terrible (O(n log (m)^2) or so)
2021-03-04 12:49:00 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-04 12:49:42 +0100 <arahael> Found the answer at https://stackoverflow.com/a/22858640/52273 - apparently I had to use `withSubstDTDEntities no`
2021-03-04 12:50:13 +0100 <nshepperd2> maybe a less ridiculous monoid in a fingertree would work, i don't know what though
2021-03-04 12:50:29 +0100jrqc(~rofl@96.78.87.197) (Ping timeout: 245 seconds)
2021-03-04 12:53:21 +0100mananamenos_(~mananamen@193.red-88-11-66.dynamicip.rima-tde.net) (Ping timeout: 264 seconds)
2021-03-04 12:53:37 +0100jrqc(~rofl@96.78.87.197)
2021-03-04 12:54:14 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-03-04 12:55:13 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-04 12:59:05 +0100alx741(~alx741@186.178.108.117)
2021-03-04 12:59:41 +0100JASTH(~Android@78-68-99-187-no2810.tbcn.telia.com)
2021-03-04 13:01:55 +0100bobiusbillius(~bobiusbil@2a00:23c7:9909:5b01:1037:bcdb:7c3:6458)
2021-03-04 13:05:31 +0100Wuzzy(~Wuzzy@p5b0df7c2.dip0.t-ipconnect.de)
2021-03-04 13:05:34 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 276 seconds)
2021-03-04 13:06:02 +0100heatsink(~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d) (Ping timeout: 264 seconds)
2021-03-04 13:06:51 +0100JASTH(~Android@78-68-99-187-no2810.tbcn.telia.com) (Read error: Connection reset by peer)
2021-03-04 13:06:51 +0100cgadski(~textual@a95-95-106-208.cpe.netcabo.pt) (Read error: Connection reset by peer)
2021-03-04 13:07:18 +0100cgadski(~textual@a95-95-106-208.cpe.netcabo.pt)
2021-03-04 13:07:23 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-04 13:08:15 +0100refusenick(~user@2601:644:8502:d700::9c98) (Ping timeout: 240 seconds)
2021-03-04 13:11:08 +0100cgadski(~textual@a95-95-106-208.cpe.netcabo.pt) (Read error: Connection reset by peer)
2021-03-04 13:12:19 +0100cgadski(~textual@a95-95-106-208.cpe.netcabo.pt)
2021-03-04 13:12:37 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-03-04 13:13:12 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-04 13:13:17 +0100Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck) (Ping timeout: 268 seconds)
2021-03-04 13:13:33 +0100Deide(~Deide@217.155.19.23)
2021-03-04 13:15:38 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-04 13:15:44 +0100bahamas(~lucian@unaffiliated/bahamas)
2021-03-04 13:16:01 +0100LKoen(~LKoen@185.61.176.203)
2021-03-04 13:16:56 +0100cgadski_(~textual@87.196.80.116)
2021-03-04 13:16:59 +0100JASTH(~Android@78-68-99-187-no2810.tbcn.telia.com)
2021-03-04 13:20:18 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 260 seconds)
2021-03-04 13:20:19 +0100cgadski(~textual@a95-95-106-208.cpe.netcabo.pt) (Ping timeout: 260 seconds)
2021-03-04 13:20:27 +0100Lycurgus(~niemand@cpe-45-46-139-165.buffalo.res.rr.com)
2021-03-04 13:21:09 +0100cgadski_cgadski
2021-03-04 13:21:19 +0100LKoen(~LKoen@185.61.176.203) (Remote host closed the connection)
2021-03-04 13:23:43 +0100nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639)
2021-03-04 13:24:32 +0100JASTH(~Android@78-68-99-187-no2810.tbcn.telia.com) (Read error: Connection reset by peer)
2021-03-04 13:25:42 +0100plutoniix(~q@184.82.201.211) (Quit: Leaving)
2021-03-04 13:28:12 +0100nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639) (Ping timeout: 258 seconds)
2021-03-04 13:40:39 +0100sqrt2_sqrt2
2021-03-04 13:43:16 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Quit: ZNC 1.8.2 - https://znc.in)
2021-03-04 13:43:23 +0100usr25(~usr25@unaffiliated/usr25) (Quit: Leaving)
2021-03-04 13:46:19 +0100machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-03-04 13:46:38 +0100Dykam(Dykam@dykam.nl) (Quit: Dykam)
2021-03-04 13:46:52 +0100Dykam(Dykam@dykam.nl)
2021-03-04 13:47:11 +0100notzmv(~zmv@unaffiliated/zmv) (Ping timeout: 256 seconds)
2021-03-04 13:47:15 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
2021-03-04 13:48:45 +0100bobiusbillius(~bobiusbil@2a00:23c7:9909:5b01:1037:bcdb:7c3:6458) (Read error: Connection reset by peer)
2021-03-04 13:48:57 +0100bobiusbillius(~bobiusbil@host109-153-130-34.range109-153.btcentralplus.com)
2021-03-04 13:52:54 +0100notzmv(~zmv@unaffiliated/zmv)
2021-03-04 13:53:22 +0100cosimone(~cosimone@93-47-228-249.ip115.fastwebnet.it) (Quit: cosimone)
2021-03-04 13:54:09 +0100bahamas(~lucian@unaffiliated/bahamas) (Ping timeout: 260 seconds)
2021-03-04 13:58:20 +0100Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck)
2021-03-04 14:00:45 +0100 <absence> is there something strange about higher rank functions and function composition? "\a -> hoist (f (g a))" compiles, but not "hoist . f . g". the type of hoist is (MFunctor t, Monad m) => (forall a. m a -> n a) -> t m b -> t n b
2021-03-04 14:00:56 +0100 <absence> is this for the same reason that the $ operator is magical?
2021-03-04 14:02:03 +0100 <merijn> Sorta
2021-03-04 14:02:18 +0100 <merijn> Basically (.) does *not* have the hack that $ does
2021-03-04 14:02:21 +0100 <{abby}> hopefully not for long
2021-03-04 14:02:35 +0100 <{abby}> i mean hopefully ($) won't have a hack for long
2021-03-04 14:02:43 +0100 <merijn> absence: Parentheses are not affected because those are syntactical, not functions
2021-03-04 14:03:16 +0100 <merijn> {abby}: More importantly, we'll be able to tell whether ImpredicativeTypes works :p
2021-03-04 14:03:22 +0100 <absence> so once $ doesn't have the hack, . will also work?
2021-03-04 14:03:45 +0100 <merijn> absence: Pretty sure that {abby} is referring to the work on sane ImpredicativeTypes
2021-03-04 14:03:53 +0100 <{abby}> absence: i think the plan is to get rid of the hack in ($) when quick look lands but i'm... not actually sure
2021-03-04 14:04:47 +0100urodna(~urodna@unaffiliated/urodna)
2021-03-04 14:05:07 +0100 <{abby}> but yes, once GHC has a proper story for inferring impredicative instantiations, hopefully in the next release, "hoist . f . g" will compile as it should
2021-03-04 14:06:12 +0100 <Lycurgus> https://www.microsoft.com/en-us/research/publication/a-quick-look-at-impredicativity/ that quick look?
2021-03-04 14:06:37 +0100 <merijn> Yeah
2021-03-04 14:06:37 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-03-04 14:06:48 +0100 <absence> good to hear. i've run into impredicative types in other situations, but didn't join the dots that it also occurs during composition. is it ideally for 9.2?
2021-03-04 14:07:06 +0100 <merijn> I think quick look is planned for 9.2, yeah
2021-03-04 14:07:35 +0100geekosaur(82650c7a@130.101.12.122)
2021-03-04 14:07:50 +0100 <absence> thanks!
2021-03-04 14:10:14 +0100Lycurgus(~niemand@cpe-45-46-139-165.buffalo.res.rr.com) (Quit: Exeunt)
2021-03-04 14:10:42 +0100smerdyakov(~dan@5.146.194.90) (Read error: Connection reset by peer)
2021-03-04 14:11:01 +0100hc_hc
2021-03-04 14:11:22 +0100LKoen(~LKoen@185.61.176.203)
2021-03-04 14:11:25 +0100smerdyakov(~dan@5.146.194.90)
2021-03-04 14:12:15 +0100Tario(~Tario@201.192.165.173)
2021-03-04 14:15:54 +0100stree(~stree@68.36.8.116) (Ping timeout: 245 seconds)
2021-03-04 14:18:59 +0100zebrag(~inkbottle@aaubervilliers-654-1-112-176.w86-198.abo.wanadoo.fr)
2021-03-04 14:21:13 +0100carlomagno(~cararell@148.87.23.4)
2021-03-04 14:23:22 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-03-04 14:23:47 +0100danso(~dan@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 258 seconds)
2021-03-04 14:25:53 +0100ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus) (Quit: ->)
2021-03-04 14:26:13 +0100danso(~dan@2001:1970:52e7:d000:96b8:6dff:feb3:c009)
2021-03-04 14:28:28 +0100stree(~stree@68.36.8.116)
2021-03-04 14:30:15 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:41d3:e796:cd7:d5b3)
2021-03-04 14:35:43 +0100geekosaur(82650c7a@130.101.12.122) (Ping timeout: 240 seconds)
2021-03-04 14:36:56 +0100omnitrogen(~omnitroge@vps-c9700282.vps.ovh.net) (Read error: Connection reset by peer)
2021-03-04 14:37:05 +0100 <ezzieyguywuf> how come if ghcid fails to build the first time it is called, it bails out, but if it fails to build after it has already succesfully launched, in just keep trucking?
2021-03-04 14:37:10 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Ping timeout: 268 seconds)
2021-03-04 14:37:10 +0100omnitrogen(~omnitroge@vps-c9700282.vps.ovh.net)
2021-03-04 14:37:37 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2021-03-04 14:37:43 +0100Tario(~Tario@201.192.165.173)
2021-03-04 14:39:52 +0100graf_blu`(~user@adsl-178-38-234-220.adslplus.ch)
2021-03-04 14:40:25 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-04 14:40:28 +0100graf_blutwurst(~user@2001:171b:226e:adc0:441d:c551:5138:50ac) (Remote host closed the connection)
2021-03-04 14:43:37 +0100chisui(58829809@88.130.152.9)
2021-03-04 14:44:48 +0100 <merijn> Inconsistent program logic? :p
2021-03-04 14:48:09 +0100 <ezzieyguywuf> lol probs
2021-03-04 14:48:26 +0100 <ezzieyguywuf> also even though I set --reload=app in .ghcid, it doesn't reload when app/Main.hs changes
2021-03-04 14:48:30 +0100 <ezzieyguywuf> :(
2021-03-04 14:48:59 +0100 <ezzieyguywuf> oh wait, now it...does?
2021-03-04 14:49:01 +0100 <ezzieyguywuf> *shrug*
2021-03-04 14:49:08 +0100 <ezzieyguywuf> lol, excetp it's hung
2021-03-04 14:49:52 +0100toorevitimirp(~tooreviti@117.182.182.60) (Ping timeout: 265 seconds)
2021-03-04 14:50:50 +0100drbean(~drbean@TC210-63-209-31.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
2021-03-04 14:51:12 +0100geekosaur(82650c7a@130.101.12.122)
2021-03-04 14:51:19 +0100 <ezzieyguywuf> changing to --restart helps, but what the heck
2021-03-04 14:51:30 +0100 <ezzieyguywuf> reload works for me on some projects, but this teeny tiny one and nah
2021-03-04 14:58:34 +0100jespada(~jespada@90.254.243.187) (Ping timeout: 265 seconds)
2021-03-04 14:59:25 +0100sh9(~sh9@softbank060116136158.bbtec.net)
2021-03-04 14:59:28 +0100writenix(~quassel@193.126.143.50)
2021-03-04 14:59:28 +0100danso(~dan@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 260 seconds)
2021-03-04 14:59:41 +0100jespada(~jespada@90.254.243.187)
2021-03-04 15:00:27 +0100Sheilong(uid293653@gateway/web/irccloud.com/x-uuniqtfysevxnvsh)
2021-03-04 15:00:38 +0100hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net)
2021-03-04 15:01:45 +0100vchlup_(~vchlup@nat.brnet.cz) (Ping timeout: 264 seconds)
2021-03-04 15:02:27 +0100heatsink(~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d)
2021-03-04 15:02:48 +0100danso(~dan@2001:1970:52e7:d000:96b8:6dff:feb3:c009)
2021-03-04 15:03:35 +0100mirrorbird_(~psutcliff@2a00:801:3f2:fa8e:16b2:2b3e:c801:a519) (Quit: Leaving)
2021-03-04 15:05:38 +0100LKoen(~LKoen@185.61.176.203) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
2021-03-04 15:07:14 +0100heatsink(~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d) (Ping timeout: 264 seconds)
2021-03-04 15:10:51 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-04 15:11:00 +0100writenix(~quassel@193.126.143.50) (Remote host closed the connection)
2021-03-04 15:13:52 +0100notzmv(~zmv@unaffiliated/zmv) (Read error: Connection reset by peer)
2021-03-04 15:15:30 +0100Guest44840(~zmv@unaffiliated/zmv)
2021-03-04 15:15:48 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 260 seconds)
2021-03-04 15:16:18 +0100nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639)
2021-03-04 15:18:34 +0100Guest44840(~zmv@unaffiliated/zmv) (Remote host closed the connection)
2021-03-04 15:18:49 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 245 seconds)
2021-03-04 15:18:49 +0100kowodo(~kowodo@p57b33e73.dip0.t-ipconnect.de) (Quit: rcirc on GNU Emacs 28.0.50)
2021-03-04 15:19:38 +0100notzmv-(~zmv@unaffiliated/zmv)
2021-03-04 15:21:45 +0100egp__(~egp_@2.95.74.168) (Quit: EXIT)
2021-03-04 15:22:09 +0100egp_(~egp_@2.95.74.168)
2021-03-04 15:22:50 +0100deviantfero(~deviantfe@190.150.27.58)
2021-03-04 15:25:06 +0100egp_(~egp_@2.95.74.168) (Client Quit)
2021-03-04 15:25:28 +0100JokerAscensionEx(~egp_@2.95.74.168)
2021-03-04 15:26:19 +0100JokerAscensionEx(~egp_@2.95.74.168) (Remote host closed the connection)
2021-03-04 15:26:37 +0100JokerAscensionEx(~egp_@2.95.74.168)
2021-03-04 15:27:17 +0100chisui(58829809@88.130.152.9) (Quit: Connection closed)
2021-03-04 15:27:41 +0100notzmv-notzmv
2021-03-04 15:31:33 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
2021-03-04 15:33:59 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362)
2021-03-04 15:34:20 +0100raym(~ray@45.64.220.3) (Quit: leaving)
2021-03-04 15:37:13 +0100gitgood(~gitgood@82-132-225-188.dab.02.net)
2021-03-04 15:37:23 +0100danso(~dan@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 260 seconds)
2021-03-04 15:38:16 +0100danso(~dan@2001:1970:52e7:d000:96b8:6dff:feb3:c009)
2021-03-04 15:41:25 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:41d3:e796:cd7:d5b3) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-04 15:41:36 +0100geekosaur(82650c7a@130.101.12.122) (Quit: Connection closed)
2021-03-04 15:42:11 +0100biomed(~biomed@subs01-103-10-64-18.three.co.id)
2021-03-04 15:42:47 +0100Pickchea(~private@unaffiliated/pickchea)
2021-03-04 15:46:03 +0100zceejkr(~wintermut@cpe-62-84-236-30.dynamic.amis.net)
2021-03-04 15:46:42 +0100biomed(~biomed@subs01-103-10-64-18.three.co.id) (Quit: Leaving)
2021-03-04 15:46:48 +0100fendor_fendor
2021-03-04 15:47:44 +0100rcdilorenzo(~rcdiloren@cpe-76-182-83-26.nc.res.rr.com) (Remote host closed the connection)
2021-03-04 15:48:11 +0100 <infinisi1> Argh, I'm supposed to write an Arbitrary instance for an uninhabited type
2021-03-04 15:48:20 +0100infinisi1infinisil
2021-03-04 15:48:26 +0100 <infinisil> I guess I'll just `error`?
2021-03-04 15:49:08 +0100 <infinisil> The test suite will probably fail then though
2021-03-04 15:51:22 +0100pyx(~pyx@unaffiliated/pyx)
2021-03-04 15:51:29 +0100pyx(~pyx@unaffiliated/pyx) (Client Quit)
2021-03-04 15:52:34 +0100ph88(~ph88@ip5f5af71a.dynamic.kabel-deutschland.de)
2021-03-04 15:52:59 +0100romesrf(~romesrf@2001:818:dcef:c700:d53a:4836:b1c5:f3ae)
2021-03-04 15:54:44 +0100 <ezzieyguywuf> how can I set -Wall for every target in the cabal file?
2021-03-04 15:54:50 +0100 <ezzieyguywuf> do I have to do ghc-options in each stanza?
2021-03-04 15:55:16 +0100 <merijn> ezzieyguywuf: You can have common stanzas in cabal >2.0 (iirc, maybe it's 2.4?)
2021-03-04 15:55:54 +0100Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net)
2021-03-04 15:55:56 +0100 <merijn> ezzieyguywuf: See: https://github.com/merijn/Belewitte/blob/master/benchmark-analysis/benchmark-analysis.cabal#L34-L62
2021-03-04 15:56:01 +0100 <merijn> ezzieyguywuf: ANd then used here: https://github.com/merijn/Belewitte/blob/master/benchmark-analysis/benchmark-analysis.cabal#L80
2021-03-04 15:56:17 +0100 <ezzieyguywuf> merijn: I"ll check it out thanks
2021-03-04 15:56:18 +0100 <merijn> For just one flag it's not that useful, but if you have a bunch it helps
2021-03-04 15:56:31 +0100 <ezzieyguywuf> *shrug* just would rather learn the easier way to do it now
2021-03-04 15:56:34 +0100 <merijn> I'm using cabal-version 2.2 so it's available since *at least* then :)
2021-03-04 15:56:34 +0100 <ezzieyguywuf> so I know it when I need it later
2021-03-04 15:57:30 +0100 <ezzieyguywuf> lol, I have my min version at 3.0 so I should be good
2021-03-04 15:58:04 +0100 <int-e> infinisil: wouldn't it be saner to not define that instance then
2021-03-04 15:58:20 +0100ClaudiusMaximus(~claude@191.123.199.146.dyn.plus.net)
2021-03-04 15:58:34 +0100 <ski> i guess it's needed as a parameter
2021-03-04 15:58:53 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:41d3:e796:cd7:d5b3)
2021-03-04 15:58:57 +0100 <ski> i wonder how one could design the generation so that that would work more nicely
2021-03-04 15:59:08 +0100 <int-e> I guess this also comes up when you have Foo a b = A a | B b and somebody decides they don't need the A alternative...
2021-03-04 15:59:13 +0100 <ski> say generating `Either Void Bool's, compositionally
2021-03-04 15:59:23 +0100 <int-e> right
2021-03-04 15:59:43 +0100 <dolio> Writing an Arbitrary instance for the empty type means your other instances are wrong somehow.
2021-03-04 15:59:51 +0100 <ski> yea. or `Tree Void', for trees without leaves
2021-03-04 15:59:53 +0100vchlup(~vchlup@nat.brnet.cz)
2021-03-04 16:00:14 +0100 <int-e> Well, it doesn't fit with how QuickCheck works; Either's Arbitrary instance will pick a constructor first, with no way to take it back.
2021-03-04 16:00:18 +0100ClaudiusMaximus(~claude@191.123.199.146.dyn.plus.net) (Changing host)
2021-03-04 16:00:18 +0100ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus)
2021-03-04 16:00:41 +0100 <ski> the idea, i guess, would be to have some way to signal that you're trying to do something impossible, and so it should abandom the current attempt, and try another .. hm
2021-03-04 16:03:29 +0100neiluj(~jco@unaffiliated/neiluj) (Quit: leaving)
2021-03-04 16:04:02 +0100 <int-e> But I guess the solution is to have a better QuickCheck that can signal emptiness in the Arbitrary type class somehow; providing a clearly broken Arbitrary instance for Void instead seems insane.
2021-03-04 16:04:07 +0100 <dolio> You write a generator that takes an optional generator for one of the parameterized types.
2021-03-04 16:04:19 +0100 <dolio> Then for the empty type, you pass Nothing.
2021-03-04 16:04:28 +0100 <ski> hm
2021-03-04 16:04:35 +0100nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639) (Remote host closed the connection)
2021-03-04 16:04:38 +0100 <dolio> And you don't try to use type classes for the whole thing.
2021-03-04 16:04:48 +0100nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639)
2021-03-04 16:04:55 +0100 <ski> @dice 1d0
2021-03-04 16:04:55 +0100 <lambdabot> unexpected 'd': expecting digit, operator or end of input
2021-03-04 16:05:07 +0100 <ski> (that used to give `1', i think ?)
2021-03-04 16:05:31 +0100 <maralorn> ghc-pkg list shows me two different directories. I have a library in both directories. When I build my package the library version from the wrong dir is being used. How can I change the precedence of the two directories?
2021-03-04 16:06:24 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:41d3:e796:cd7:d5b3) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-04 16:06:39 +0100nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639) (Remote host closed the connection)
2021-03-04 16:07:23 +0100Trasp(~Trasp@195.140.213.38) (Remote host closed the connection)
2021-03-04 16:09:11 +0100 <int-e> dolio: that would fit into typeclasses, if you'd change `arbitrary` to return a Maybe
2021-03-04 16:09:26 +0100 <dolio> It doesn't.
2021-03-04 16:10:27 +0100nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639)
2021-03-04 16:10:55 +0100 <int-e> I think it does. The instances would have to do more work though... check which alternatives are impossible before choosing a constructor. So it's a nontrivial change.
2021-03-04 16:11:19 +0100 <dolio> No, I mean, you can't change the Arbitrary class to be that way. It's too late.
2021-03-04 16:11:31 +0100 <int-e> Sure
2021-03-04 16:13:48 +0100 <dolio> It would also mean that something having an Arbitrary instance doesn't mean you can generate them for tests, so it's probably better if it's a different class.
2021-03-04 16:14:35 +0100nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639) (Ping timeout: 240 seconds)
2021-03-04 16:14:43 +0100 <dolio> Or just not a class.
2021-03-04 16:15:27 +0100 <int-e> What I had in mind would be a new, QuickCheck-like package. *Maybe* with a newtype wrapper that has a QuickCheck Arbitrary instance based on the new class(es).
2021-03-04 16:16:41 +0100 <merijn> hedgehog?
2021-03-04 16:16:46 +0100 <int-e> (Can we capture emptiness in a constraint? Probably?)
2021-03-04 16:16:48 +0100 <merijn> That uses explicit generators
2021-03-04 16:17:06 +0100ski. o O ( `newtype Arb a = MkArb (Maybe a)' )
2021-03-04 16:18:27 +0100 <int-e> ski: Yeah but I don't like the idea of generating Nothings... if you use Void a lot that will end up wasting a lot of resources before you get a usable value.
2021-03-04 16:19:01 +0100 <int-e> ski: So I'd prefer to capture emptiness of types statically. But that is a bigger change.
2021-03-04 16:19:57 +0100 <int-e> "statically"
2021-03-04 16:20:35 +0100drupol(sid117588@gateway/web/irccloud.com/x-rzrwwjpiqonmqeqo) ()
2021-03-04 16:20:51 +0100drupol(sid117588@gateway/web/irccloud.com/x-ceggwpmvzndzubky)
2021-03-04 16:21:14 +0100 <dolio> Like, why do you need to track that compound types don't have a generator? Is that a real use case? or is the use case that `Foo Void` is the 'closed' Foos, and you only need to handle that one case?
2021-03-04 16:21:28 +0100 <dolio> Because the latter is what I've encountered.
2021-03-04 16:21:35 +0100 <int-e> ski: you don't have to go crazy for this to become problematic, just consider [Either Void Int]
2021-03-04 16:22:00 +0100 <dolio> And redesigning everything is not desirable for that.
2021-03-04 16:23:17 +0100Wolfy87(~Wolfy87@178.239.168.171)
2021-03-04 16:24:10 +0100 <dolio> E.G. generating `Either Void Bool` automatically is not a real example.
2021-03-04 16:24:27 +0100 <int-e> dolio: But it would be a proper solution. Yes, it's quite possible that the proper solution is too costly to be worthwhile because it breaks a lot of existing tooling.
2021-03-04 16:25:32 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2021-03-04 16:26:01 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2021-03-04 16:26:23 +0100 <ski> int-e : yea, i meant being able to check it, before generation, if possible
2021-03-04 16:27:00 +0100 <ski> int-e : well, you said "*Maybe* with a newtype wrapper"
2021-03-04 16:27:16 +0100 <ski> (so i was wondering if you meant something like such an `Arb')
2021-03-04 16:28:09 +0100DataComputist(~lumeng@50.43.26.251) (Quit: Leaving...)
2021-03-04 16:29:01 +0100 <int-e> ski: Ah. I see. In my mind I didn't have the Maybe, but rather instance (NonEmpty a, NewArbitrary a) => Arbitrary (Arb a)
2021-03-04 16:29:44 +0100 <dolio> I don't agree that a solution is 'proper' if it's just solving corner cases that people don't actually want to use at the expense of making the cases they do want more work.
2021-03-04 16:31:56 +0100 <int-e> ski: But it's quite possible that I can't get such a neat NonEmpty constraint without terrible things (overlapping instances)
2021-03-04 16:35:55 +0100 <infinisil> I'll see if I can dig into the code that requires this arbitrary instance
2021-03-04 16:36:31 +0100kiweun(~kiweun@dsl-173-206-6-91.tor.primus.ca)
2021-03-04 16:36:41 +0100stree(~stree@68.36.8.116) (Ping timeout: 265 seconds)
2021-03-04 16:37:01 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-03-04 16:38:11 +0100kw(d4662d5d@212.102.45.93)
2021-03-04 16:39:00 +0100kw(d4662d5d@212.102.45.93) (Client Quit)
2021-03-04 16:44:38 +0100aggin(~ecm@103.88.87.27)
2021-03-04 16:44:38 +0100__minoru__shirae(~shiraeesh@46.34.206.213)
2021-03-04 16:44:47 +0100nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639)
2021-03-04 16:46:07 +0100nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639) (Remote host closed the connection)
2021-03-04 16:46:58 +0100aggin(~ecm@103.88.87.27) (Client Quit)
2021-03-04 16:47:07 +0100nineonine(~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2)
2021-03-04 16:48:08 +0100_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-03-04 16:49:47 +0100stree(~stree@68.36.8.116)
2021-03-04 16:50:16 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-03-04 16:50:53 +0100_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-03-04 16:50:59 +0100xff0x(~xff0x@2001:1a81:5237:bb00:76ab:515a:5e02:6571) (Ping timeout: 258 seconds)
2021-03-04 16:51:15 +0100nineonine(~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2) (Ping timeout: 240 seconds)
2021-03-04 16:51:48 +0100xff0x(~xff0x@2001:1a81:5237:bb00:c7c4:8fca:bda7:8993)
2021-03-04 16:53:00 +0100 <infinisil> It's using ` (Arbitrary a, Show a, Testable prop) => Testable (a -> prop) ` in the end
2021-03-04 16:53:12 +0100 <infinisil> With `testProperty :: Testable a => TestName -> a -> TestTree`
2021-03-04 16:53:29 +0100 <infinisil> Where the `a` in `a -> prop` is the uninhabited type
2021-03-04 16:53:56 +0100 <infinisil> Maybe there should be an instance `Testable (Void -> b)`
2021-03-04 16:56:10 +0100 <infinisil> https://hackage.haskell.org/package/tasty-quickcheck-0.10.1.2/docs/Test-Tasty-QuickCheck.html#v:te…
2021-03-04 16:56:58 +0100ggole(~ggole@2001:8003:8119:7200:9a:455d:b816:c3c6)
2021-03-04 16:57:58 +0100 <infinisil> (though it would be bothersome to have to replace all `Arbitrary a` constraints with `Testable (a -> Property)` then
2021-03-04 16:58:32 +0100 <ij> what's the haskell equivalent to scala's FunctorK? (i.e. mapping the higher order type – F a -> G a)
2021-03-04 16:58:50 +0100 <infinisil> Oh interesting: https://hackage.haskell.org/package/quickcheck-instances-0.3.25.2/docs/Test-QuickCheck-Instances-V…
2021-03-04 16:59:01 +0100 <infinisil> There's a `CoArbitrary Void` instance
2021-03-04 17:00:07 +0100mentaal[m](mentaalmat@gateway/shell/matrix.org/x-cldzerqnoqwflcto) (Quit: Idle for 30+ days)
2021-03-04 17:00:44 +0100polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889)
2021-03-04 17:01:30 +0100 <infinisil> And there's `Fun` with this instance: (Function a, CoArbitrary a, Arbitrary b) => Arbitrary (Fun a b)
2021-03-04 17:01:41 +0100 <infinisil> That would work, maybe tasty should be using that instead
2021-03-04 17:01:48 +0100 <infinisil> tasty-quickcheck*
2021-03-04 17:01:55 +0100 <shapr> ij: I don't understand what FunctorK does?
2021-03-04 17:02:15 +0100 <infinisil> Or rather, the code that tests this
2021-03-04 17:02:21 +0100jhaxim(c036de94@192.54.222.148)
2021-03-04 17:02:29 +0100 <jhaxim> why are queues in haskell implemented as 2 lists?
2021-03-04 17:02:58 +0100 <dolio> Some are implemented with 3 lists.
2021-03-04 17:03:09 +0100__minoru__shirae(~shiraeesh@46.34.206.213) (Ping timeout: 260 seconds)
2021-03-04 17:03:16 +0100 <jhaxim> how do you do it with 3?
2021-03-04 17:03:29 +0100 <jhaxim> what's the added benefit
2021-03-04 17:04:12 +0100 <dolio> It spreads out the cost of reversing one of the lists.
2021-03-04 17:04:45 +0100 <jhaxim> how does it work?
2021-03-04 17:05:56 +0100 <infinisil> Okay I'm thinking that tasty-quickchecks `(Arbitrary a, Show a, Testable prop) => Testable (a -> prop)` instance should really use `CoArbitrary a` instead now
2021-03-04 17:06:33 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-sggshpbcjtfntjhq)
2021-03-04 17:06:49 +0100 <ski> infinisil ?
2021-03-04 17:07:02 +0100 <infinisil> Hm?
2021-03-04 17:07:45 +0100 <ski> i guess `Testable (Void -> b)' would always succeed, after zero tests ..
2021-03-04 17:07:46 +0100 <dolio> jhaxim: https://www.cs.cmu.edu/~rwh/theses/okasaki.pdf
2021-03-04 17:08:07 +0100 <dolio> The 3 list one is explained in the "Real-Time Queues" section I think.
2021-03-04 17:08:11 +0100 <infinisil> ski: Yeah
2021-03-04 17:08:35 +0100 <ski> `CoArbitrary Void' is for being able to derive `Arbitrary (Void -> a)', from `Arbitrary `a'
2021-03-04 17:08:52 +0100 <ski> @where okasaki
2021-03-04 17:08:52 +0100 <lambdabot> http://www.cs.cmu.edu/~rwh/theses/okasaki.pdf
2021-03-04 17:09:03 +0100 <ski> @where PFDS
2021-03-04 17:09:04 +0100 <lambdabot> http://www.amazon.com/Purely-Functional-Structures-Chris-Okasaki/dp/0521663504
2021-03-04 17:09:20 +0100 <dolio> Yeah, the book might be more readable than the thesis, I'm not sure.
2021-03-04 17:09:29 +0100 <ski> the book is quite nice
2021-03-04 17:09:41 +0100 <dolio> I've only read the book in detail.
2021-03-04 17:09:43 +0100 <jhaxim> o nice
2021-03-04 17:10:19 +0100 <infinisil> ski: It seems that CoArbitrary is for generating inputs, Arbitrary for outputs. And tasty-quickchecks `Testable (a -> prop)` instance is a function that takes a as an input
2021-03-04 17:10:24 +0100chenshen(~chenshen@2620:10d:c090:400::5:dc3c)
2021-03-04 17:10:34 +0100 <infinisil> Therefore it seems that it should use `CoArbitrary a`, instead of what it currently does, `Arbitrary a`
2021-03-04 17:10:43 +0100 <infinisil> Does that makes sense?
2021-03-04 17:10:45 +0100__minoru__shirae(~shiraeesh@46.34.206.213)
2021-03-04 17:11:00 +0100Pickchea(~private@unaffiliated/pickchea) (Ping timeout: 265 seconds)
2021-03-04 17:11:16 +0100 <infinisil> Oh Testable is part of quickcheck itself
2021-03-04 17:11:46 +0100 <infinisil> Hmm..
2021-03-04 17:12:07 +0100kunsttyv(~kunsttyv@ti0005q162-5102.bb.online.no)
2021-03-04 17:12:47 +0100agander(~agander@193.46.28.55)
2021-03-04 17:12:49 +0100 <shapr> jhaxim: did you have a particular queue in mind?
2021-03-04 17:13:17 +0100 <jhaxim> yeah, i was just wondering why you can't just implement it as a linked list?
2021-03-04 17:13:23 +0100 <jhaxim> the one i had in mind was the one with 2 lists
2021-03-04 17:14:03 +0100kiweun(~kiweun@dsl-173-206-6-91.tor.primus.ca) (Remote host closed the connection)
2021-03-04 17:14:18 +0100 <dolio> Lists in Haskell only allow fast access to one side, but queues are expected to have fast access to certain operations on both sides.
2021-03-04 17:14:21 +0100 <int-e> infinisil: The 'a' is an argument for which test cases are to be generated... which is what Arbitrary is for
2021-03-04 17:14:41 +0100 <jhaxim> yeah, why doesn't haskell have something like linked lists?
2021-03-04 17:14:46 +0100 <jhaxim> where you can keep pointers to both ends?
2021-03-04 17:15:27 +0100 <dolio> Haskell lists are linked lists. But they're not made with mutable pointers.
2021-03-04 17:16:07 +0100 <infinisil> I may be confused a bit
2021-03-04 17:16:14 +0100 <infinisil> int-e: What is CoArbitrary for?
2021-03-04 17:16:22 +0100agander_(~agander@193.46.28.55)
2021-03-04 17:16:23 +0100 <jhaxim> why does only being able to expand on one end change anything?
2021-03-04 17:16:24 +0100 <int-e> @check \(x :: Int) -> odd x || even x -- here, a = Int, prop = Bool.
2021-03-04 17:16:25 +0100 <lambdabot> <unknown>.hs:1:13:ScopedTypeVariables language extension is not enabled. Ple...
2021-03-04 17:16:25 +0100hiroaki_(~hiroaki@2a02:8108:8c40:2bb8:4bed:da7a:2692:1300)
2021-03-04 17:16:26 +0100 <jhaxim> i'm a little confused
2021-03-04 17:16:34 +0100 <int-e> oh.
2021-03-04 17:16:44 +0100malumore(~alecs@151.62.127.36) (Ping timeout: 245 seconds)
2021-03-04 17:16:48 +0100 <int-e> @check \x -> odd x || even (x :: Int)
2021-03-04 17:16:50 +0100 <lambdabot> +++ OK, passed 100 tests.
2021-03-04 17:16:59 +0100peasynt(~AdminUser@pool-173-76-103-124.bstnma.fios.verizon.net)
2021-03-04 17:17:30 +0100aggin(~ecm@103.88.87.27)
2021-03-04 17:18:12 +0100 <int-e> jhaxim: operationally, Coarbitrary is for retrieving entropy from function arguments, so you can have Arbitrary instances for functions a -> b that aren't constant.
2021-03-04 17:18:20 +0100aggin(~ecm@103.88.87.27) (Client Quit)
2021-03-04 17:18:25 +0100kibo(~kibo@51-171-46-249-dynamic.agg2.ens.lmk-pgs.eircom.net)
2021-03-04 17:18:27 +0100DustyDingo(~nonamen@v2202001112302107134.ultrasrv.de) (Quit: leaving)
2021-03-04 17:18:35 +0100DustyDingo(~nonamen@v2202001112302107134.ultrasrv.de)
2021-03-04 17:18:55 +0100graf_blu`(~user@adsl-178-38-234-220.adslplus.ch) (Remote host closed the connection)
2021-03-04 17:19:11 +0100kiweun(~kiweun@dsl-173-206-6-91.tor.primus.ca)
2021-03-04 17:19:23 +0100 <infinisil> (I guess that was meant for me)
2021-03-04 17:19:30 +0100 <int-e> hence instance (Coarbitrary a, Arbitrary b) => Arbitrary (a -> b)
2021-03-04 17:19:45 +0100 <int-e> infinisil: yes, sorry...
2021-03-04 17:19:49 +0100 <infinisil> What are "functions that aren't constant"?
2021-03-04 17:19:58 +0100quackrabbit(~aeline@129-2-180-100.wireless.umd.edu)
2021-03-04 17:20:03 +0100 <infinisil> Function that change the `b` depending on the `a`?
2021-03-04 17:20:14 +0100mouseghost(~draco@wikipedia/desperek) (Quit: mew wew)
2021-03-04 17:20:30 +0100 <int-e> instance Arbitrary b => Arbitrary (a -> b) would not be able to do anything with the 'a', hence all the functions it could produce would be constantr
2021-03-04 17:20:39 +0100 <int-e> so yes, that
2021-03-04 17:20:41 +0100 <infinisil> Ah I see
2021-03-04 17:22:18 +0100 <dolio> jhaxim: If you use a single list, then either the front of the list is the output or the input. If it's the input, then dequeue has to rebuild the list and get an element from the far end, which takes O(n) time to get the value. If it's the output, then enqueue has to rebuild the whole list, which costs O(n) each time in the long run.
2021-03-04 17:22:40 +0100Lycurgus(~niemand@cpe-45-46-139-165.buffalo.res.rr.com)
2021-03-04 17:23:18 +0100 <infinisil> So CoArbitrary is really only for generating functions
2021-03-04 17:23:28 +0100Varis(~Tadas@unaffiliated/varis)
2021-03-04 17:23:54 +0100 <dolio> So using two lists lets you access both ends fast, and only pay the linear rebuilding cost every so often.
2021-03-04 17:24:04 +0100kiweun(~kiweun@dsl-173-206-6-91.tor.primus.ca) (Read error: Connection reset by peer)
2021-03-04 17:24:29 +0100malumore(~malumore@151.62.127.36)
2021-03-04 17:24:33 +0100kiweun(~kiweun@dsl-173-206-6-91.tor.primus.ca)
2021-03-04 17:25:17 +0100 <int-e> infinisil: yup
2021-03-04 17:26:42 +0100 <dolio> The three lists version duplicates one of the lists when you perform the reversal and incrementally forces it on every operation to spread out the cost.
2021-03-04 17:27:09 +0100ph88(~ph88@ip5f5af71a.dynamic.kabel-deutschland.de) (Quit: Leaving)
2021-03-04 17:27:38 +0100nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639)
2021-03-04 17:28:12 +0100nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639) (Remote host closed the connection)
2021-03-04 17:28:28 +0100nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639)
2021-03-04 17:29:18 +0100jakalx(~jakalx@base.jakalx.net) ("Error from remote client")
2021-03-04 17:30:15 +0100nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639) (Remote host closed the connection)
2021-03-04 17:31:28 +0100nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639)
2021-03-04 17:32:09 +0100agander_(~agander@193.46.28.55) (Quit: Leaving)
2021-03-04 17:32:18 +0100teardown(~user@gateway/tor-sasl/mrush) (Ping timeout: 268 seconds)
2021-03-04 17:32:20 +0100deviantfero(~deviantfe@190.150.27.58) (Quit: WeeChat 3.0)
2021-03-04 17:32:42 +0100vicfred(vicfred@gateway/vpn/mullvad/vicfred)
2021-03-04 17:33:57 +0100heatsink(~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d)
2021-03-04 17:36:00 +0100pavonia(~user@unaffiliated/siracusa)
2021-03-04 17:36:23 +0100nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639) (Ping timeout: 260 seconds)
2021-03-04 17:36:41 +0100kritzefitz(~kritzefit@fw-front.credativ.com) (Remote host closed the connection)
2021-03-04 17:38:46 +0100teardown(~user@gateway/tor-sasl/mrush)
2021-03-04 17:39:05 +0100cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0.1)
2021-03-04 17:40:57 +0100chenshen(~chenshen@2620:10d:c090:400::5:dc3c) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
2021-03-04 17:42:14 +0100chenshen(~chenshen@2620:10d:c090:400::5:dc3c)
2021-03-04 17:43:14 +0100Boomerang(~Boomerang@2a05:f6c7:2179:0:64:db14:2c3a:3ba3) (Ping timeout: 264 seconds)
2021-03-04 17:44:36 +0100 <ezzieyguywuf> i'm using megaparsec, and I have two parsers written 'parseFront :: Parser Text', and 'parseLast :: Parser Text'. how would I go about consuming as many 'parseFront' as possible until 'parseLast' succeeds?
2021-03-04 17:46:11 +0100kritzefitz(~kritzefit@212.86.56.80)
2021-03-04 17:49:08 +0100 <c_wraith> ezzieyguywuf: https://hackage.haskell.org/package/parser-combinators-1.2.1/docs/Control-Monad-Combinators.html#v…
2021-03-04 17:49:18 +0100 <c_wraith> note that megaparsec re-exports that for you
2021-03-04 17:50:25 +0100 <ezzieyguywuf> c_wraith: dope tahnks
2021-03-04 17:51:53 +0100mayleesia(4d0b2c7f@dynamic-077-011-044-127.77.11.pool.telefonica.de)
2021-03-04 17:52:41 +0100aarvar(~foewfoiew@2601:602:a080:fa0:176:cad2:9667:c008)
2021-03-04 17:53:15 +0100jamm_(~jamm@unaffiliated/jamm)
2021-03-04 17:53:43 +0100jhaxim(c036de94@192.54.222.148) (Ping timeout: 240 seconds)
2021-03-04 17:55:25 +0100romesrf(~romesrf@2001:818:dcef:c700:d53a:4836:b1c5:f3ae) (Quit: WeeChat 3.0.1)
2021-03-04 17:58:32 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-03-04 18:00:59 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2021-03-04 18:01:03 +0100knupfer(~Thunderbi@200116b82c5bbe00c174e65d57f6f6eb.dip.versatel-1u1.de) (Remote host closed the connection)
2021-03-04 18:01:12 +0100knupfer(~Thunderbi@200116b82c5bbe00a021592bb6d1a408.dip.versatel-1u1.de)
2021-03-04 18:01:13 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-04 18:02:13 +0100geekosaur(82650c7a@130.101.12.122)
2021-03-04 18:04:01 +0100romesrf(~romesrf@2001:818:dcef:c700:d53a:4836:b1c5:f3ae)
2021-03-04 18:04:09 +0100romesrf(~romesrf@2001:818:dcef:c700:d53a:4836:b1c5:f3ae) (Client Quit)
2021-03-04 18:04:43 +0100 <ij> shapr, converts the higher order type from one to another. It's something you'd use to go from scala's Future to IO, I think
2021-03-04 18:05:12 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2021-03-04 18:05:23 +0100romesrf(~romesrf@2001:818:dcef:c700:d53a:4836:b1c5:f3ae)
2021-03-04 18:06:00 +0100romesrf(~romesrf@2001:818:dcef:c700:d53a:4836:b1c5:f3ae) (Client Quit)
2021-03-04 18:07:51 +0100jakalx(~jakalx@base.jakalx.net)
2021-03-04 18:08:01 +0100nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639)
2021-03-04 18:08:25 +0100redmp(~redmp@172.58.35.111)
2021-03-04 18:08:44 +0100Varis(~Tadas@unaffiliated/varis)
2021-03-04 18:12:56 +0100agander(~agander@193.46.28.55) (Quit: Leaving)
2021-03-04 18:13:15 +0100nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639) (Ping timeout: 240 seconds)
2021-03-04 18:14:39 +0100agander(~agander@193.46.28.55)
2021-03-04 18:15:02 +0100ukari(~ukari@unaffiliated/ukari) (Remote host closed the connection)
2021-03-04 18:15:37 +0100peasynt(~AdminUser@pool-173-76-103-124.bstnma.fios.verizon.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2021-03-04 18:15:50 +0100ukari(~ukari@unaffiliated/ukari)
2021-03-04 18:16:20 +0100eoyath_(~AdminUser@pool-173-76-103-124.bstnma.fios.verizon.net)
2021-03-04 18:16:27 +0100eoyath_(~AdminUser@pool-173-76-103-124.bstnma.fios.verizon.net) (Client Quit)
2021-03-04 18:17:14 +0100eoyath_(~AdminUser@pool-173-76-103-124.bstnma.fios.verizon.net)
2021-03-04 18:17:14 +0100eoyath_(~AdminUser@pool-173-76-103-124.bstnma.fios.verizon.net) (Client Quit)
2021-03-04 18:18:12 +0100kuribas(~user@ptr-25vy0iacstgp10erojf.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2021-03-04 18:18:56 +0100chele(~chele@ip5b40237d.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2021-03-04 18:18:58 +0100agander_(~agander@193.46.28.55)
2021-03-04 18:19:24 +0100agander(~agander@193.46.28.55) (Client Quit)
2021-03-04 18:22:25 +0100emmanuel_erc(~user@cpe-74-71-106-64.nyc.res.rr.com) ("ERC (IRC client for Emacs 27.1)")
2021-03-04 18:23:33 +0100agander_(~agander@193.46.28.55) (Client Quit)
2021-03-04 18:23:44 +0100sgibber2018(d055ed90@208.85.237.144)
2021-03-04 18:24:17 +0100__minoru__shirae(~shiraeesh@46.34.206.213) (Ping timeout: 256 seconds)
2021-03-04 18:27:16 +0100agander(~agander@193.46.28.55)
2021-03-04 18:27:17 +0100ADG1089__(~aditya@122.163.141.18)
2021-03-04 18:27:58 +0100 <ADG1089__> I have 206 files in a folder, I want all of them to be declared as executables in cabal, how can i write a for loop/glob pattern?
2021-03-04 18:28:12 +0100 <ADG1089__> I will keep adding more to it
2021-03-04 18:28:29 +0100heatsink(~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d) (Remote host closed the connection)
2021-03-04 18:30:14 +0100 <sm[m]> woah
2021-03-04 18:30:25 +0100 <sm[m]> you'll have to generate the cabal file I expect
2021-03-04 18:32:28 +0100tinhatcat(~tsranso@108-91-101-161.lightspeed.gnvlsc.sbcglobal.net)
2021-03-04 18:32:38 +0100eoyath_(~quassel@pool-173-76-103-124.bstnma.fios.verizon.net)
2021-03-04 18:32:38 +0100eoyath_(~quassel@pool-173-76-103-124.bstnma.fios.verizon.net) (Client Quit)
2021-03-04 18:32:39 +0100tinhatcat(~tsranso@108-91-101-161.lightspeed.gnvlsc.sbcglobal.net) (Client Quit)
2021-03-04 18:33:09 +0100peasynt(~quassel@pool-173-76-103-124.bstnma.fios.verizon.net)
2021-03-04 18:35:53 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:31cc:7f5d:4d57:b77)
2021-03-04 18:37:15 +0100deviantfero(~deviantfe@190.150.27.58)
2021-03-04 18:37:27 +0100zar(~zar@fw1.ciirc.cvut.cz) (Quit: Leaving)
2021-03-04 18:38:35 +0100agander_(~agander@185.94.193.150)
2021-03-04 18:40:37 +0100 <ADG1089__> what are some relvant pages on haskellwiki that give guidance on profiling to improve performance of code?
2021-03-04 18:40:53 +0100 <ADG1089__> I'm trying to improve from 30-90s runtime to <1s
2021-03-04 18:40:54 +0100agander(~agander@193.46.28.55) (Ping timeout: 246 seconds)
2021-03-04 18:43:29 +0100kiweun(~kiweun@dsl-173-206-6-91.tor.primus.ca) (Remote host closed the connection)
2021-03-04 18:44:08 +0100Lycurgus(~niemand@cpe-45-46-139-165.buffalo.res.rr.com) (Quit: Exeunt)
2021-03-04 18:45:43 +0100nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639)
2021-03-04 18:47:46 +0100AndChat-33024(~AndChat33@148.252.129.66)
2021-03-04 18:48:31 +0100 <sm[m]> ADG1089__: have you seen the GHC user guide performance chapter ?
2021-03-04 18:49:16 +0100 <ADG1089__> I am reading https://wiki.haskell.org/Performance/GHC to start
2021-03-04 18:51:11 +0100iteratee(~kyle@162.218.222.107) (Remote host closed the connection)
2021-03-04 18:51:35 +0100__minoru__shirae(~shiraeesh@46.34.206.213)
2021-03-04 18:52:33 +0100agander(~agander@185.94.193.150)
2021-03-04 18:53:00 +0100 <ADG1089__> I am getting: MUT time 25.356s ( 25.751s elapsed) GC time 14.781s ( 15.251s elapsed)
2021-03-04 18:53:22 +0100knupfer(~Thunderbi@200116b82c5bbe00a021592bb6d1a408.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
2021-03-04 18:53:31 +0100feepo(sid28508@gateway/web/irccloud.com/x-wcewznnvlbknipja) (Ping timeout: 272 seconds)
2021-03-04 18:53:37 +0100 <ADG1089__> so 37% time in GC, shall I focus GC or core logic first if I am aiming <1s total runtim
2021-03-04 18:53:44 +0100 <ADG1089__> its 40 sec now
2021-03-04 18:53:45 +0100tomjagua1pawtomjaguarpaw
2021-03-04 18:54:13 +0100crobbins_(~crobbins@2601:2c1:200:ec50:c89a:1f93:5201:6c0c)
2021-03-04 18:54:23 +0100ggole(~ggole@2001:8003:8119:7200:9a:455d:b816:c3c6) (Quit: Leaving)
2021-03-04 18:54:33 +0100agander_(~agander@185.94.193.150) (Ping timeout: 260 seconds)
2021-03-04 18:54:51 +0100ADG1089(~adg1089@171.76.172.3)
2021-03-04 18:55:02 +0100 <ADG1089> .
2021-03-04 18:55:10 +0100ADG1089__(~aditya@122.163.141.18) (Remote host closed the connection)
2021-03-04 18:55:30 +0100Gurkenglas_(~Gurkengla@unaffiliated/gurkenglas)
2021-03-04 18:55:36 +0100feepo(sid28508@gateway/web/irccloud.com/x-gkqhrcmhiiphbogr)
2021-03-04 18:56:35 +0100crobbins(~crobbins@2601:2c1:200:ec50:c32:8193:5ae6:63eb) (Ping timeout: 240 seconds)
2021-03-04 18:56:38 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-03-04 18:58:09 +0100stree(~stree@68.36.8.116) (Ping timeout: 264 seconds)
2021-03-04 18:58:14 +0100psutcliffe(~psutcliff@2a00:801:3f2:fa8e:16b2:2b3e:c801:a519)
2021-03-04 18:58:35 +0100crobbins_(~crobbins@2601:2c1:200:ec50:c89a:1f93:5201:6c0c) (Ping timeout: 240 seconds)
2021-03-04 19:00:59 +0100__minoru__shirae(~shiraeesh@46.34.206.213) (Ping timeout: 260 seconds)
2021-03-04 19:03:37 +0100drakonis(drakonis@unaffiliated/drakonis) ("WeeChat 3.0.1")
2021-03-04 19:04:30 +0100chisui(58829809@88.130.152.9)
2021-03-04 19:05:57 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-04 19:07:21 +0100rajivr(uid269651@gateway/web/irccloud.com/x-ztiomawifornmkpr) (Quit: Connection closed for inactivity)
2021-03-04 19:09:02 +0100 <sm[m]> ADG1089: it sounds like a lot of GC, try to reduce your memory usage
2021-03-04 19:09:06 +0100apache801(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-03-04 19:09:53 +0100 <sm[m]> an easy first thing to look for in a profile is very high entry counts, things you're calling more often than necessary
2021-03-04 19:10:31 +0100jakalx(~jakalx@base.jakalx.net) ("Error from remote client")
2021-03-04 19:10:32 +0100 <sm[m]> you can paste it somewhere if you like
2021-03-04 19:11:02 +0100stree(~stree@68.36.8.116)
2021-03-04 19:11:38 +0100jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2021-03-04 19:12:04 +0100nak(~user@S0106889e681ad145.gv.shawcable.net)
2021-03-04 19:12:48 +0100jakalx(~jakalx@base.jakalx.net)
2021-03-04 19:15:12 +0100nineonin_(~nineonine@50.216.62.2)
2021-03-04 19:15:17 +0100malumore_(~malumore@151.62.127.36)
2021-03-04 19:15:21 +0100statusfailed(~statusfai@statusfailed.com) (Remote host closed the connection)
2021-03-04 19:17:01 +0100Franciman(~francesco@host-82-49-79-189.retail.telecomitalia.it) (Quit: Leaving)
2021-03-04 19:18:04 +0100conal(~conal@64.71.133.70)
2021-03-04 19:18:08 +0100knupfer(~Thunderbi@mue-88-130-61-019.dsl.tropolys.de)
2021-03-04 19:18:28 +0100nineonine(~nineonine@2604:3d08:7785:9600:d6d:9e4a:ef90:7639) (Ping timeout: 260 seconds)
2021-03-04 19:20:37 +0100kunsttyv(~kunsttyv@ti0005q162-5102.bb.online.no) (Ping timeout: 276 seconds)
2021-03-04 19:21:48 +0100malumore(~malumore@151.62.127.36) (Quit: Leaving)
2021-03-04 19:23:01 +0100malumore_(~malumore@151.62.127.36) (Quit: Leaving)
2021-03-04 19:23:23 +0100malumore(~malumore@151.62.127.36)
2021-03-04 19:23:39 +0100statusfailed(~statusfai@statusfailed.com)
2021-03-04 19:23:48 +0100dcoutts_dcoutts
2021-03-04 19:24:06 +0100crobbins(~crobbins@2600:1700:48eb:8490:9416:7f26:bb22:cc55)
2021-03-04 19:24:15 +0100chenshen(~chenshen@2620:10d:c090:400::5:dc3c) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
2021-03-04 19:28:46 +0100 <psutcliffe> what's the syntax for referring to something you matched? like this:(Foo x y) this = (Foo x y)
2021-03-04 19:28:52 +0100 <psutcliffe> not able to google it
2021-03-04 19:28:57 +0100kunsttyv(~kunsttyv@ti0005q162-5102.bb.online.no)
2021-03-04 19:29:04 +0100chenshen(~chenshen@2620:10d:c090:400::5:dc3c)
2021-03-04 19:29:12 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b42a:6451:2211:3708)
2021-03-04 19:29:21 +0100 <monochrom> this@(Foo x y)
2021-03-04 19:29:22 +0100Pickchea(~private@unaffiliated/pickchea)
2021-03-04 19:29:34 +0100 <psutcliffe> @ sign, ok thanks
2021-03-04 19:30:04 +0100 <geekosaur> "as-pattern"
2021-03-04 19:30:42 +0100 <monochrom> In SML, it's "this as (Foo x y)". Haskell did s/as/@/
2021-03-04 19:31:08 +0100 <psutcliffe> thanks :)
2021-03-04 19:32:07 +0100jamm_(~jamm@unaffiliated/jamm)
2021-03-04 19:32:12 +0100jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2021-03-04 19:32:22 +0100jamm_(~jamm@unaffiliated/jamm)
2021-03-04 19:32:40 +0100kiweun(~kiweun@dsl-173-206-6-91.tor.primus.ca)
2021-03-04 19:32:51 +0100cheater(~user@unaffiliated/cheater) (Ping timeout: 256 seconds)
2021-03-04 19:33:15 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b42a:6451:2211:3708) (Ping timeout: 240 seconds)
2021-03-04 19:33:52 +0100gitgood(~gitgood@82-132-225-188.dab.02.net) (Read error: Connection reset by peer)
2021-03-04 19:33:58 +0100cheater(~user@unaffiliated/cheater)
2021-03-04 19:36:13 +0100ADG1089(~adg1089@171.76.172.3) (Ping timeout: 276 seconds)
2021-03-04 19:39:33 +0100kiweun(~kiweun@dsl-173-206-6-91.tor.primus.ca) (Remote host closed the connection)
2021-03-04 19:40:59 +0100Forkk(forkk@2600:3c00::f03c:91ff:fe84:de4d) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
2021-03-04 19:43:17 +0100Forkk(forkk@2600:3c00::f03c:91ff:fe84:de4d)
2021-03-04 19:43:38 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b42a:6451:2211:3708)
2021-03-04 19:48:14 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-03-04 19:48:25 +0100jakalx(~jakalx@base.jakalx.net) ("Error from remote client")
2021-03-04 19:49:13 +0100quackrabbit(~aeline@129-2-180-100.wireless.umd.edu) (Ping timeout: 245 seconds)
2021-03-04 19:53:43 +0100geekosaur(82650c7a@130.101.12.122) (Ping timeout: 240 seconds)
2021-03-04 19:54:51 +0100deviantfero(~deviantfe@190.150.27.58) (Ping timeout: 265 seconds)
2021-03-04 19:58:55 +0100Boomerang(~Boomerang@2a05:f6c7:2179:0:64:db14:2c3a:3ba3)
2021-03-04 19:59:53 +0100chisui(58829809@88.130.152.9) (Quit: Connection closed)
2021-03-04 19:59:59 +0100raichoo(~raichoo@dslb-092-073-221-030.092.073.pools.vodafone-ip.de) (Quit: Lost terminal)
2021-03-04 20:01:46 +0100DavidEichmann(~david@234.109.45.217.dyn.plus.net) (Remote host closed the connection)
2021-03-04 20:02:16 +0100Feuermagier(~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6)
2021-03-04 20:03:27 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 256 seconds)
2021-03-04 20:03:30 +0100berberman_(~berberman@unaffiliated/berberman)
2021-03-04 20:03:56 +0100berberman(~berberman@unaffiliated/berberman) (Ping timeout: 240 seconds)
2021-03-04 20:06:07 +0100sgibber2018(d055ed90@208.85.237.144) (Quit: Connection closed)
2021-03-04 20:06:23 +0100berberman_(~berberman@unaffiliated/berberman) (Max SendQ exceeded)
2021-03-04 20:07:16 +0100berberman(~berberman@unaffiliated/berberman)
2021-03-04 20:08:11 +0100conal(~conal@64.71.133.70)
2021-03-04 20:13:19 +0100geekosaur(82650c7a@130.101.12.122)
2021-03-04 20:16:22 +0100bobiusbillius(~bobiusbil@host109-153-130-34.range109-153.btcentralplus.com) (Read error: Connection reset by peer)
2021-03-04 20:16:38 +0100bobiusbillius(~bobiusbil@2a00:23c7:9909:5b01:1037:bcdb:7c3:6458)
2021-03-04 20:18:10 +0100deviantfero(~deviantfe@190.150.27.58)
2021-03-04 20:18:32 +0100kritzefitz(~kritzefit@212.86.56.80) (Ping timeout: 265 seconds)
2021-03-04 20:20:54 +0100mayleesia(4d0b2c7f@dynamic-077-011-044-127.77.11.pool.telefonica.de) (Quit: Connection closed)
2021-03-04 20:22:49 +0100hiroaki_(~hiroaki@2a02:8108:8c40:2bb8:4bed:da7a:2692:1300) (Ping timeout: 272 seconds)
2021-03-04 20:25:00 +0100 <d34df00d> monochrom: just in case you were wondering, I rewrote my yesterday strings mangling with ST, and it's 20 times faster.
2021-03-04 20:25:18 +0100 <d34df00d> Ended up with this abomination:
2021-03-04 20:25:21 +0100 <d34df00d> https://bpaste.net/SJAQ
2021-03-04 20:25:32 +0100 <d34df00d> (V is Data.Vector.Unboxed)
2021-03-04 20:27:22 +0100 <d34df00d> Now I desperately need to rewrite this in C++ to see how fast can I get this to be in a language whose performance model I understand better.
2021-03-04 20:29:07 +0100 <monochrom> This one should be easy in C or C++. Easier in C. Too much infrastructure in C++.
2021-03-04 20:30:33 +0100 <d34df00d> but muh templates
2021-03-04 20:30:49 +0100Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck) (Remote host closed the connection)
2021-03-04 20:31:37 +0100Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck)
2021-03-04 20:34:53 +0100hiroaki_(~hiroaki@2a02:8108:8c40:2bb8:73f8:36f6:d6d6:24a)
2021-03-04 20:35:58 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection)
2021-03-04 20:39:41 +0100Nahra(~Nahra@unaffiliated/nahra)
2021-03-04 20:43:49 +0100 <rednaZ[m]> I have written a sentence that is too long. Would anyone here enjoy showing me how to split this up?
2021-03-04 20:43:55 +0100 <rednaZ[m]> Library authors should allow library users to access unsafe functions explicitly because the library author should assume that, using these unsafe functions, with discipline safe code can be written that achieves something that could not have been achieved with the safe functions only, even if the library author cannot see an opportunity for that themselves.
2021-03-04 20:45:03 +0100 <koz_> Library authors should allow users to access unsafe functions explicitly. The author should assume that, with discipline, we can achieve something otherwise not possible (or efficient) with these unsafe functions.
2021-03-04 20:46:39 +0100knupfer(~Thunderbi@mue-88-130-61-019.dsl.tropolys.de) (Remote host closed the connection)
2021-03-04 20:47:24 +0100 <tomsmeding> With discipline, library users can [often?] combine unsafe functions [interfaces?] into safe code that accomplishes things that could not have been achieved with safe library functions only. Therefore, library authors should expose such [internal?] unsafe functions for use by library users.
2021-03-04 20:48:10 +0100 <tomsmeding> oh, your ", even if the library author ... themselves." can go instead of my final "." rednaZ[m]
2021-03-04 20:48:30 +0100cheater(~user@unaffiliated/cheater) (Ping timeout: 265 seconds)
2021-03-04 20:49:14 +0100 <monochrom> This may evolve into a telephone game. >:)
2021-03-04 20:49:29 +0100 <maerwald> too much english for me, I find all versions confusing
2021-03-04 20:49:34 +0100 <dmj`> library (ab)users
2021-03-04 20:49:51 +0100ransom(~c4264035@undergraduate-jvossen-9690.mines.edu)
2021-03-04 20:49:54 +0100 <tomsmeding> maerwald: I challenge you to read a research paper
2021-03-04 20:50:10 +0100 <maerwald> "a"?
2021-03-04 20:50:18 +0100 <tomsmeding> okay fair the really good ones are very readable
2021-03-04 20:50:27 +0100 <tomsmeding> an average one, then :p
2021-03-04 20:50:43 +0100 <d34df00d> Read this one: https://cdn.paperpile.com/blog/img/lander-1966-700x394.png?v=38
2021-03-04 20:51:01 +0100 <monochrom> Read a Bird paper for fewer words, more formulas.
2021-03-04 20:51:13 +0100 <monochrom> A formula is worth a thousand pictures.
2021-03-04 20:51:27 +0100 <maerwald> oh yes, I want to read pictures
2021-03-04 20:51:39 +0100 <d34df00d> Neural nets to the rescue!
2021-03-04 20:51:46 +0100 <maerwald> rednaZ[m]: can you draw pictures instead?
2021-03-04 20:51:53 +0100cheater(~user@unaffiliated/cheater)
2021-03-04 20:52:01 +0100 <rednaZ[m]> xD
2021-03-04 20:52:05 +0100 <d34df00d> Draw a commutative diagram of users and libraries.
2021-03-04 20:52:16 +0100 <koz_> Category theory for UX.
2021-03-04 20:52:30 +0100kunsttyv(~kunsttyv@ti0005q162-5102.bb.online.no) (Ping timeout: 246 seconds)
2021-03-04 20:52:51 +0100 <rednaZ[m]> I can replace all identifiers and operators in my code with unicode characters. Does that make my code count as a picture?
2021-03-04 20:53:04 +0100 <tomsmeding> 👍
2021-03-04 20:53:04 +0100 <maerwald> rednaZ[m]: https://hackage.haskell.org/package/streamly-0.7.2 basically does what you are saying in exposing those things via Streamly.Internal.XXX
2021-03-04 20:53:05 +0100 <d34df00d> Nope, but you can pretend you're doing smart things in agda.
2021-03-04 20:53:16 +0100 <monochrom> Most unicode characters are not pictures.
2021-03-04 20:53:30 +0100 <tomsmeding> 🖼
2021-03-04 20:53:36 +0100 <monochrom> Most unicode characters are, in fact, CJK.
2021-03-04 20:54:27 +0100 <monochrom> But you could argue that CJK evolved from pictures.
2021-03-04 20:54:59 +0100chenshen(~chenshen@2620:10d:c090:400::5:dc3c) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
2021-03-04 20:55:07 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
2021-03-04 20:57:21 +0100pfurla_(~pfurla@ool-182ed2e2.dyn.optonline.net) (Quit: gone to sleep. ZZZzzz…)
2021-03-04 20:57:51 +0100bodisiw(~bodiskw@cpe-74-138-114-237.kya.res.rr.com)
2021-03-04 21:00:30 +0100chenshen(~chenshen@2620:10d:c090:400::5:dc3c)
2021-03-04 21:01:09 +0100Boomerang(~Boomerang@2a05:f6c7:2179:0:64:db14:2c3a:3ba3) (Remote host closed the connection)
2021-03-04 21:02:48 +0100 <rednaZ[m]> Thanks koz_ and tomsmeding . Interesting how you treat the "because". tomsmeding switches the order so he can make to sentences using "Therefore" which is allowed to start a sentence while "because" is apparently not, which is weird, is it not? koz_ simply drops "because".
2021-03-04 21:03:33 +0100 <koz_> The thing is, the whole 'never start a sentence with because' is a pointless rule.
2021-03-04 21:03:36 +0100 <tomsmeding> rednaZ[m]: "Because of that, ..."
2021-03-04 21:03:40 +0100 <koz_> In this case, however, you need no conjunction anyway.
2021-03-04 21:03:42 +0100 <dolio> You can start a sentence with, "because," but it means something different than, "therefore."
2021-03-04 21:03:45 +0100bodisiw(~bodiskw@cpe-74-138-114-237.kya.res.rr.com) (Quit: Leaving)
2021-03-04 21:03:50 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-03-04 21:03:51 +0100 <koz_> Because it's rather clear what the connection between those sentences is.
2021-03-04 21:04:17 +0100 <rednaZ[m]> tomsmeding: That is just another way of saying "Therefore".
2021-03-04 21:04:20 +0100 <rednaZ[m]> xD
2021-03-04 21:04:28 +0100 <tomsmeding> of course :p
2021-03-04 21:05:19 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2021-03-04 21:05:21 +0100petersen(~petersen@redhat/juhp) (Ping timeout: 264 seconds)
2021-03-04 21:05:38 +0100 <dolio> Basically, if you start a sentence with, "because," you are just switching the order of conjoined clauses in the sentence.
2021-03-04 21:05:45 +0100Franciman(~francesco@host-82-49-79-189.retail.telecomitalia.it)
2021-03-04 21:06:30 +0100pera(~pera@unaffiliated/pera)
2021-03-04 21:06:58 +0100kiweun(~kiweun@dsl-173-206-6-91.tor.primus.ca)
2021-03-04 21:07:07 +0100petersen(~petersen@redhat/juhp)
2021-03-04 21:07:16 +0100Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck) (Quit: WeeChat 1.9.1)
2021-03-04 21:07:40 +0100howdoi(uid224@gateway/web/irccloud.com/x-bgmkvjlbzdbxvlqi)
2021-03-04 21:10:10 +0100 <rednaZ[m]> koz_: I think, you have got a good point.
2021-03-04 21:10:41 +0100gitgood(~gitgood@82-132-217-85.dab.02.net)
2021-03-04 21:11:00 +0100 <d34df00d> Interestingly, the C(++) version of the above is slower.
2021-03-04 21:12:06 +0100 <average> the old Haskell oneup / oneupmanship / lifesmanship trick ? "The C++ version is slower than our Haskell version"
2021-03-04 21:12:55 +0100 <average> "In Haskell, we have faster linear algebra routines than those of Kazushige Gotō hand-optimized in assembly"
2021-03-04 21:12:57 +0100 <d34df00d> Ah, because I return an std::pair, so the vector gets copied...
2021-03-04 21:13:16 +0100 <d34df00d> But I'm not sure how to avoid that without making the code non-idiomatic.
2021-03-04 21:13:28 +0100 <tomsmeding> d34df00d: std::move() ?
2021-03-04 21:13:47 +0100 <average> "Our Haskell programs are faster on a regular computer than the same versions optimized for Quantum computers"
2021-03-04 21:13:50 +0100 <d34df00d> For some reason it actually pessimizes code with my clang.
2021-03-04 21:13:59 +0100 <tomsmeding> show code?
2021-03-04 21:14:51 +0100 <d34df00d> Ah, hold on, I've put my timing thing in the wrong place. Now it's about the same speed (as expected).
2021-03-04 21:15:09 +0100 <d34df00d> Although still a bit worse with gcc than with clang, but whatever.
2021-03-04 21:15:50 +0100 <dolio> People are forced to try to beat C and C++ in Haskell, because other people claim they can't use anything with 'less perfromance' than C++ for anything. Then if you do beat it, the second group reveals they were lying about that being a reason for not using Haskell.
2021-03-04 21:16:13 +0100 <edwardk> dolio++
2021-03-04 21:16:20 +0100 <d34df00d> eww mutation
2021-03-04 21:16:22 +0100 <tomsmeding> d34df00d: interesting you see a difference between the two, usually it's hard to find programs where they don't perform roughly equally
2021-03-04 21:16:24 +0100m0rphism1(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Quit: WeeChat 2.7.1)
2021-03-04 21:16:38 +0100 <edwardk> to be fair most of the my haskell beats your c examples take ridiculously tuned haskell and run it against unoptimized c
2021-03-04 21:16:40 +0100 <d34df00d> tomsmeding: I mean, I was forced to rewrite my Haskell implementation in ST.
2021-03-04 21:17:06 +0100 <d34df00d> But yea, experience shows that ST is usually about the same speed as the equivalent C++ version.
2021-03-04 21:17:29 +0100 <d34df00d> Unless the compiler can take opportunity of SIMD (say, with -march=native), which never worked for me in haskell even with -fllvm for some reason.
2021-03-04 21:17:30 +0100m0rphism(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
2021-03-04 21:17:39 +0100 <monochrom> d34df00d: I would use simply C and start with simply "int dropNoise(const char *in, int n, char *out)"
2021-03-04 21:17:45 +0100 <d34df00d> Maybe I'm just passing the parameters to the llvm optimizer/compiler worng.
2021-03-04 21:17:47 +0100kritzefitz(~kritzefit@212.86.56.80)
2021-03-04 21:18:11 +0100 <monochrom> And it's what I mean by "C is easier, C++ has too much infrastruture"
2021-03-04 21:18:41 +0100 <maerwald> optimizing haskell is a zic-zac game :)
2021-03-04 21:18:51 +0100bahamas(~lucian@unaffiliated/bahamas)
2021-03-04 21:19:22 +0100stree(~stree@68.36.8.116) (Ping timeout: 260 seconds)
2021-03-04 21:19:31 +0100 <swarmcollective> Of course, runtime performance matters, but I worry more about the ability for team members to produce code that is easily reasoned, easily maintained, and contains as few defects as possible. For that, it seems that Haskell works well.
2021-03-04 21:19:33 +0100 <d34df00d> Dang, I just noticed I can replace byte >= 0xd0 && byte <= 0xd7 with byte.&. 0xd0 == 0xd0, but it has no effect on the performance :(
2021-03-04 21:19:38 +0100 <d34df00d> So much for cunning bit tricks!
2021-03-04 21:19:49 +0100bobiusbillius(~bobiusbil@2a00:23c7:9909:5b01:1037:bcdb:7c3:6458) (Ping timeout: 272 seconds)
2021-03-04 21:20:18 +0100 <maerwald> swarmcollective: depends what you mean with reasoning
2021-03-04 21:20:21 +0100agander(~agander@185.94.193.150) (Remote host closed the connection)
2021-03-04 21:20:34 +0100 <monochrom> gcc beats ghc on contrived microbenchmarks like "compute x mod 7 for a million x's" but it's only because gcc replaces "mod 7" by a bit-shift-and-multiply trick.
2021-03-04 21:20:41 +0100 <d34df00d> Yeah, I find it hard to reason with your average manager that it's as easy to find haskell folks as it is for c++ folks.
2021-03-04 21:20:44 +0100 <heck-to-the-gnom> d34df00d: That's a good thing actually, that means that the compiler is optimizing things nicely
2021-03-04 21:21:32 +0100 <tomsmeding> d34df00d: are you on linux? if so, you could try using 'perf stat' to determine whether your program is bottlenecked on memory IO or on execution units on the CPU
2021-03-04 21:21:45 +0100 <monochrom> And if your alternate contrived microbenchmark is "for i=0 to N do nothing" gcc also beats ghc by replacing your loop with "i = N+1".
2021-03-04 21:21:51 +0100 <tomsmeding> if memory, then saving one inner-loop instruction may not help :)
2021-03-04 21:22:02 +0100 <average> monochrom: why doesn't GHC do that too ?
2021-03-04 21:22:18 +0100 <monochrom> GHC has a real life and a real job.
2021-03-04 21:22:20 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Read error: Connection reset by peer)
2021-03-04 21:22:26 +0100 <d34df00d> Well, I'm processing roughly gigabyte per sec (the test file is 16 megs, on tmpfs, mmapped in case of haskell, and it takes about 15 secs to process), so I guess it's CPU-bound. Also, there's no room for instruction-level parallelism really, I think.
2021-03-04 21:22:31 +0100 <geekosaur> what it takes to write that loop to begin with tells ghc that it's needed
2021-03-04 21:22:32 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-03-04 21:22:41 +0100 <geekosaur> so it believes you
2021-03-04 21:22:44 +0100 <d34df00d> s/15 secs/15 msecs/
2021-03-04 21:22:49 +0100AndChat-33024(~AndChat33@148.252.129.66) (Ping timeout: 265 seconds)
2021-03-04 21:22:54 +0100bobiusbillius(~bobiusbil@92.40.176.1.threembb.co.uk)
2021-03-04 21:23:11 +0100 <tomsmeding> d34df00d: makes sense
2021-03-04 21:24:13 +0100 <d34df00d> Although I bet somebody will come up with some cunning broadword programming trick.
2021-03-04 21:24:29 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
2021-03-04 21:25:24 +0100 <monochrom> To be fair IMO strength reduction for "mod literal" is worthwhile because there are some real applications, though niche, that has it in hot spots.
2021-03-04 21:25:30 +0100forgottenone(~forgotten@176.88.30.190) (Quit: Konversation terminated!)
2021-03-04 21:25:34 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b42a:6451:2211:3708) (Remote host closed the connection)
2021-03-04 21:25:51 +0100 <d34df00d> The most examples I've seen of gcc beating anything (from ghc to clang) is on code that's very much tailored to the gcc's optimizer.
2021-03-04 21:25:55 +0100 <monochrom> But "optimizing" no-op loops is just ivory tower thinking.
2021-03-04 21:26:14 +0100 <monochrom> Either that, or cheating benchmarks.
2021-03-04 21:26:26 +0100 <geekosaur> except when it breaks the linux kernel busy-waiting :)
2021-03-04 21:26:31 +0100 <d34df00d> Most production code I wrote in C++ without caring about any single compiler performed better in clang than in gcc for the last maybe 4 or 5 years at least.
2021-03-04 21:26:41 +0100 <dolio> I guess the question is why gcc does it, then. :)
2021-03-04 21:26:49 +0100 <monochrom> And yes I get to say that some things gcc does is ivory tower irrelevancies. Bite me.
2021-03-04 21:27:07 +0100 <d34df00d> Why, I agree.
2021-03-04 21:28:46 +0100jneira(501e6551@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.101.81)
2021-03-04 21:29:33 +0100drozdziak1(~drozdziak@vps-520f86fd.vps.ovh.net) ("WeeChat 2.9")
2021-03-04 21:30:02 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b42a:6451:2211:3708)
2021-03-04 21:31:06 +0100jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2021-03-04 21:32:00 +0100stree(~stree@68.36.8.116)
2021-03-04 21:32:14 +0100cgadski(~textual@87.196.80.116) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-04 21:33:38 +0100bob23(62940397@098-148-003-151.res.spectrum.com)
2021-03-04 21:33:54 +0100bob23(62940397@098-148-003-151.res.spectrum.com) (Client Quit)
2021-03-04 21:34:49 +0100jamm_(~jamm@unaffiliated/jamm)
2021-03-04 21:38:08 +0100Lycurgus(~niemand@cpe-45-46-139-165.buffalo.res.rr.com)
2021-03-04 21:39:38 +0100jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds)
2021-03-04 21:41:30 +0100ransom(~c4264035@undergraduate-jvossen-9690.mines.edu) (Quit: Textual IRC Client: www.textualapp.com)
2021-03-04 21:42:19 +0100bahamas(~lucian@unaffiliated/bahamas) (Ping timeout: 276 seconds)
2021-03-04 21:42:23 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-03-04 21:42:37 +0100kritzefitz(~kritzefit@212.86.56.80) (Remote host closed the connection)
2021-03-04 21:42:46 +0100 <heck-to-the-gnom> I heard that there's work underway to make the Linux kernel work on clang. Pretty cool...
2021-03-04 21:43:28 +0100conal(~conal@64.71.133.70)
2021-03-04 21:44:13 +0100slack1256(~slack1256@45.4.2.52)
2021-03-04 21:44:31 +0100slack1256(~slack1256@45.4.2.52) (Remote host closed the connection)
2021-03-04 21:45:03 +0100 <fendor> never heard gcc being accused of ivory tower irrelevancies
2021-03-04 21:45:16 +0100 <monochrom> >:)
2021-03-04 21:46:03 +0100ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus) (Quit: ->)
2021-03-04 21:47:18 +0100conal(~conal@64.71.133.70) (Client Quit)
2021-03-04 21:49:01 +0100myShoggoth(~myShoggot@75.164.81.55)
2021-03-04 21:49:24 +0100apache801(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 256 seconds)
2021-03-04 21:49:36 +0100 <myShoggoth> Going to read GHC garbage collector code on stream in a few: https://www.twitch.tv/myShoggoth
2021-03-04 21:51:09 +0100 <swarmcollective> Ah, good myShoggoth I'll tune in.
2021-03-04 21:51:33 +0100kibo(~kibo@51-171-46-249-dynamic.agg2.ens.lmk-pgs.eircom.net) (Ping timeout: 264 seconds)
2021-03-04 21:52:26 +0100bobiusbillius(~bobiusbil@92.40.176.1.threembb.co.uk) (Read error: Connection reset by peer)
2021-03-04 21:52:38 +0100bobiusbillius(~bobiusbil@2a02:c7d:51c4:7000:1037:bcdb:7c3:6458)
2021-03-04 21:53:29 +0100 <heck-to-the-gnom> By read it, do you mean read through comments, &/or elaborate on the meanings? Or read through it line by line, unironically, just the source code?
2021-03-04 21:54:33 +0100Gurkenglas_Gurkenglas
2021-03-04 21:55:56 +0100todda7(~torstein@2a02:587:1b14:d00:5ec3:abec:812c:b3e2)
2021-03-04 21:55:57 +0100chenshen(~chenshen@2620:10d:c090:400::5:dc3c) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
2021-03-04 21:56:13 +0100cgadski(~textual@a95-95-106-208.cpe.netcabo.pt)
2021-03-04 21:56:57 +0100tsaka__(~torstein@athedsl-258913.home.otenet.gr) (Remote host closed the connection)
2021-03-04 21:57:38 +0100cgadski(~textual@a95-95-106-208.cpe.netcabo.pt) (Client Quit)
2021-03-04 21:58:55 +0100bobiusbillius(~bobiusbil@2a02:c7d:51c4:7000:1037:bcdb:7c3:6458) (Ping timeout: 240 seconds)
2021-03-04 21:59:50 +0100bobiusbillius(~bobiusbil@2a02:c7d:51c4:7000:1037:bcdb:7c3:6458)
2021-03-04 22:01:28 +0100mouseghost(~draco@87-206-9-185.dynamic.chello.pl)
2021-03-04 22:01:28 +0100mouseghost(~draco@87-206-9-185.dynamic.chello.pl) (Changing host)
2021-03-04 22:01:28 +0100mouseghost(~draco@wikipedia/desperek)
2021-03-04 22:03:11 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2021-03-04 22:03:45 +0100ph88(~ph88@ip5f5af71a.dynamic.kabel-deutschland.de)
2021-03-04 22:04:10 +0100 <ph88> how can i get an Int (rounded or truncated don't care) from Scientific ?
2021-03-04 22:04:13 +0100conal(~conal@64.71.133.70)
2021-03-04 22:04:43 +0100dhouthoo(~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) (Quit: WeeChat 3.0)
2021-03-04 22:05:01 +0100 <glguy> using truncate or round
2021-03-04 22:05:04 +0100texasmynsted_(~texasmyns@99.96.221.112)
2021-03-04 22:05:42 +0100psutcliffe(~psutcliff@2a00:801:3f2:fa8e:16b2:2b3e:c801:a519) (Ping timeout: 258 seconds)
2021-03-04 22:06:41 +0100 <ph88> oki thank you
2021-03-04 22:07:36 +0100 <dmj`> man ... sure would be nice if haskell-mode could update your imports and module declarations automatically when files get moved around ...
2021-03-04 22:07:39 +0100texasmynsted(~texasmyns@99.96.221.112) (Ping timeout: 260 seconds)
2021-03-04 22:09:12 +0100bobiusbillius(~bobiusbil@2a02:c7d:51c4:7000:1037:bcdb:7c3:6458) (Read error: Connection reset by peer)
2021-03-04 22:09:24 +0100bobiusbillius(~bobiusbil@2a02:c7d:51c4:7000:1037:bcdb:7c3:6458)
2021-03-04 22:09:29 +0100erayo(c0ab6c77@119.108.171.192.pba.apn.pmt.pf)
2021-03-04 22:10:18 +0100Aquazi(uid312403@gateway/web/irccloud.com/x-tgakpwzpocvqwkje) (Quit: Connection closed for inactivity)
2021-03-04 22:11:04 +0100 <erayo> I'm designing a library and want to hide some optional features behind feature flags, what's a good way to do this ?
2021-03-04 22:11:12 +0100 <erayo> do I have to rely on CPP ?
2021-03-04 22:11:33 +0100 <dolio> What does that mean? It sounds like something you probably shouldn't do.
2021-03-04 22:12:08 +0100 <dolio> Because other packages can't depend on specific flag settings.
2021-03-04 22:13:20 +0100 <erayo> maybe I'm approaching this the wrong way, I wanted to avoid long compilation time because each optional feature needs to pull a bunch of dependencies
2021-03-04 22:14:34 +0100 <dolio> What is a "feature"? Does it make a difference in the functions/modules exposed in the package?
2021-03-04 22:15:02 +0100Narinas(~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer)
2021-03-04 22:15:46 +0100Narinas(~Narinas@187-178-93-112.dynamic.axtel.net)
2021-03-04 22:16:02 +0100 <erayo> yes, if a feature is disabled, I would like to avoid exposing the related modules, and avoid pulling all the dependencies specific to that feature
2021-03-04 22:16:33 +0100fendor_(~fendor@91.141.0.22.wireless.dyn.drei.com)
2021-03-04 22:16:53 +0100bahamas(~lucian@unaffiliated/bahamas)
2021-03-04 22:17:00 +0100 <dolio> Then it has the problem I mentioned. Things that depend on your package can't depend on a specific set of flags, so can't reliably use the things that are only visible if the right flags are enabled.
2021-03-04 22:18:34 +0100 <dolio> Flags changing the API won't work, basically.
2021-03-04 22:18:41 +0100 <erayo> I see, I was hoping for something similar to rust's feature flags, maybe there's no equivalent
2021-03-04 22:19:13 +0100 <heck-to-the-gnom> I mean, modules, & submodules...
2021-03-04 22:19:19 +0100fendor(~fendor@77.119.128.81.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
2021-03-04 22:19:21 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-03-04 22:19:23 +0100son0p(~son0p@181.136.122.143)
2021-03-04 22:20:28 +0100ixlun(~user@213.205.241.12) (Remote host closed the connection)
2021-03-04 22:21:01 +0100 <dolio> Cabal at least can have multiple libraries declared in a package, and at some point it's going to be possible to depend on specific libraries from another package. I'm not sure when that's going to be possible if it isn't already.
2021-03-04 22:21:19 +0100 <dolio> That would be cabal-install only, I think.
2021-03-04 22:21:53 +0100cgadski(~textual@a95-95-106-208.cpe.netcabo.pt)
2021-03-04 22:22:13 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2021-03-04 22:22:34 +0100bahamas(~lucian@unaffiliated/bahamas) (Ping timeout: 245 seconds)
2021-03-04 22:22:43 +0100 <dolio> Multiple libraries in a package already worked for a long time, but only for use within a package, not across packages.
2021-03-04 22:22:55 +0100apache801(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-03-04 22:25:22 +0100 <dolio> Anyhow, I think that probably would be a decent way to have a single logical package with optional parts.
2021-03-04 22:26:44 +0100 <dolio> Oh, you could make it work everywhere, I think, by having a 'main' library that just exposes all the optional libraries. It just wouldn't allow people to benefit from not compiling the 'optional' parts unless they can depend on individual libraries in a package.
2021-03-04 22:26:56 +0100thc202(~thc202@unaffiliated/thc202) (Ping timeout: 240 seconds)
2021-03-04 22:28:31 +0100pfurla(~pfurla@pool-108-6-43-243.nycmny.fios.verizon.net)
2021-03-04 22:28:34 +0100 <erayo> I see, multiple libraries in the same package should do the trick for me
2021-03-04 22:28:42 +0100 <erayo> ty dolio :)
2021-03-04 22:29:06 +0100_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-03-04 22:32:08 +0100nak(~user@S0106889e681ad145.gv.shawcable.net) (Ping timeout: 245 seconds)
2021-03-04 22:35:22 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-04 22:36:10 +0100Lycurgus(~niemand@cpe-45-46-139-165.buffalo.res.rr.com) (Quit: Exeunt)
2021-03-04 22:37:02 +0100chenshen(~chenshen@2620:10d:c090:400::5:dc3c)
2021-03-04 22:37:43 +0100bobiusbillius(~bobiusbil@2a02:c7d:51c4:7000:1037:bcdb:7c3:6458) (Ping timeout: 272 seconds)
2021-03-04 22:37:59 +0100 <jneira> i am starting to think that we should drop the hackage-index from cabal.project
2021-03-04 22:38:03 +0100 <jneira> ops
2021-03-04 22:38:27 +0100 <jneira> bad channel
2021-03-04 22:40:28 +0100bob17(62940397@098-148-003-151.res.spectrum.com)
2021-03-04 22:41:23 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-03-04 22:41:33 +0100geekosaur(82650c7a@130.101.12.122) (Quit: Connection closed)
2021-03-04 22:41:51 +0100bob17(62940397@098-148-003-151.res.spectrum.com) (Client Quit)
2021-03-04 22:43:50 +0100slack1256(~slack1256@45.4.2.52)
2021-03-04 22:44:19 +0100bobiusbillius(~bobiusbil@2a02:c7d:51c4:7000:1037:bcdb:7c3:6458)
2021-03-04 22:49:20 +0100alx741(~alx741@186.178.108.117) (Ping timeout: 265 seconds)
2021-03-04 22:50:27 +0100deviantfero(~deviantfe@190.150.27.58) (Ping timeout: 246 seconds)
2021-03-04 22:52:05 +0100bahamas(~lucian@unaffiliated/bahamas)
2021-03-04 22:54:08 +0100Nahra(~Nahra@unaffiliated/nahra) (Quit: leaving)
2021-03-04 22:56:15 +0100crobbins(~crobbins@2600:1700:48eb:8490:9416:7f26:bb22:cc55) (Ping timeout: 240 seconds)
2021-03-04 22:56:32 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2021-03-04 22:57:04 +0100bahamas(~lucian@unaffiliated/bahamas) (Ping timeout: 265 seconds)
2021-03-04 22:57:34 +0100neiluj(~jco@91-167-203-101.subs.proxad.net)
2021-03-04 22:57:34 +0100neiluj(~jco@91-167-203-101.subs.proxad.net) (Changing host)
2021-03-04 22:57:34 +0100neiluj(~jco@unaffiliated/neiluj)
2021-03-04 22:58:49 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 245 seconds)
2021-03-04 22:58:59 +0100bobiusbillius(~bobiusbil@2a02:c7d:51c4:7000:1037:bcdb:7c3:6458) (Ping timeout: 258 seconds)
2021-03-04 23:00:11 +0100crobbins(~crobbins@2600:1700:48eb:8490:9416:7f26:bb22:cc55)
2021-03-04 23:00:20 +0100ollierees(~ollierees@2a02:c7f:a8a8:fb00:7bfd:a909:fc9a:92c6)
2021-03-04 23:00:40 +0100justan0theruserjustanotheruser
2021-03-04 23:01:20 +0100 <ollierees> :t mapM
2021-03-04 23:01:21 +0100 <lambdabot> (Traversable t, Monad m) => (a -> m b) -> t a -> m (t b)
2021-03-04 23:01:46 +0100alx741(~alx741@186.178.108.237)
2021-03-04 23:02:24 +0100bobiusbillius(~bobiusbil@2a02:c7d:51c4:7000:1037:bcdb:7c3:6458)
2021-03-04 23:02:34 +0100malumore(~malumore@151.62.127.36) (Ping timeout: 245 seconds)
2021-03-04 23:03:00 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2021-03-04 23:03:06 +0100 <ph88> how can i go from a list of [[(FieldName, DataValue)]] to [DataRow] ? https://hackage.haskell.org/package/hvega-0.11.0.0/docs/Graphics-Vega-VegaLite.html#v:dataRow i just get this function which i think i need to apply continiously
2021-03-04 23:03:48 +0100kiweun(~kiweun@dsl-173-206-6-91.tor.primus.ca) (Remote host closed the connection)
2021-03-04 23:05:13 +0100 <monochrom> Start with [] :: [DataRow] as your starter?
2021-03-04 23:05:47 +0100 <ph88> yes sure
2021-03-04 23:06:06 +0100 <monochrom> "What you add to Vega, stays in Vega". >:)
2021-03-04 23:06:29 +0100elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
2021-03-04 23:06:33 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2021-03-04 23:06:40 +0100 <ph88> but i can not call dataRow every time because i don't know how many times i would need to do that
2021-03-04 23:06:48 +0100 <ph88> but i can't simply map it either
2021-03-04 23:06:56 +0100elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
2021-03-04 23:07:15 +0100 <ph88> if it was dataRow :: [(FieldName, DataValue)] -> [DataRow] i could just map and that's that
2021-03-04 23:07:52 +0100 <ollierees> [DataRow] is just [[[(FieldName, DataValue)]] -> [DataRow] -> [DataRow]], where [] is the leaf of DataRow...
2021-03-04 23:07:58 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:31cc:7f5d:4d57:b77) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-04 23:08:16 +0100 <monochrom> I'm sure you'll figure out you actually have many options.
2021-03-04 23:08:17 +0100 <ph88> here in the example documentation they call dataRow manually for each element https://hackage.haskell.org/package/hvega-0.11.0.0/docs/Graphics-Vega-VegaLite.html#v:dataFromRows
2021-03-04 23:08:42 +0100 <ph88> i guess the many options are confusing me o_O
2021-03-04 23:08:46 +0100 <ph88> is there an idiomatic option ? like a short function or so
2021-03-04 23:09:23 +0100bobiusbillius(~bobiusbil@2a02:c7d:51c4:7000:1037:bcdb:7c3:6458) (Ping timeout: 272 seconds)
2021-03-04 23:09:46 +0100 <ph88> one thing that came to mind is foldr (. dataRow) id [..myList..] but it seems rather ugly
2021-03-04 23:10:15 +0100evanjs(~evanjs@075-129-098-007.res.spectrum.com) (Read error: Connection reset by peer)
2021-03-04 23:10:21 +0100lieven(~mal@unaffiliated/lieven) (Quit: WeeChat 1.6)
2021-03-04 23:10:46 +0100evanjs(~evanjs@075-129-098-007.res.spectrum.com)
2021-03-04 23:10:46 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b42a:6451:2211:3708) (Remote host closed the connection)
2021-03-04 23:10:50 +0100 <monochrom> OK here are the options off the top of my head.
2021-03-04 23:11:13 +0100usr25(~usr25@unaffiliated/usr25)
2021-03-04 23:11:35 +0100 <monochrom> map (\x -> dataRow x []) --- there you go, can't say "can't just map over", I just did
2021-03-04 23:12:11 +0100 <monochrom> dataRow (xs ++ ys ++ zs) [] -- if xs, ys, zs :: [(FieldName, DataValue)]
2021-03-04 23:12:47 +0100 <monochrom> dataRow zs (dataRow ys (dataRow xs [])) -- I don't know whether it's the right order by surely you can try
2021-03-04 23:13:01 +0100hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 265 seconds)
2021-03-04 23:13:05 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-03-04 23:13:19 +0100 <monochrom> I don't know which one does what you really need because I don't know what you really need.
2021-03-04 23:13:35 +0100 <monochrom> But these are all counterexamples to refute all bold "can't" claims.
2021-03-04 23:14:01 +0100 <monochrom> And these are all from just basic FP techniques.
2021-03-04 23:14:32 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-04 23:16:37 +0100 <ph88> map (\x -> dataRow x []) this is not sufficient i think i would get [[DataRow]] but i need [DataRow] ??
2021-03-04 23:17:43 +0100 <monochrom> There was a wise beginner who realized: "If not for IRC, I would have figured it out myself".
2021-03-04 23:17:48 +0100 <ph88> [xs, ys, zs] :: [[(FieldName, DataValue)]]
2021-03-04 23:17:50 +0100 <monochrom> I recommend you go that route.
2021-03-04 23:17:55 +0100jespada(~jespada@90.254.243.187) (Ping timeout: 240 seconds)
2021-03-04 23:18:27 +0100 <ph88> dataRow zs (dataRow ys (dataRow xs [])) this doesn't work because i don't know in front how many ys, ys and ys i have ..
2021-03-04 23:18:49 +0100 <ph88> zs, ys and xs i mean
2021-03-04 23:18:59 +0100 <monochrom> It's just an example.
2021-03-04 23:19:21 +0100bobiusbillius(~bobiusbil@2.221.197.231)
2021-03-04 23:19:23 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2021-03-04 23:19:36 +0100erayo(c0ab6c77@119.108.171.192.pba.apn.pmt.pf) (Quit: Connection closed)
2021-03-04 23:19:54 +0100kibo(~kibo@51-171-46-249-dynamic.agg2.ens.lmk-pgs.eircom.net)
2021-03-04 23:20:22 +0100jespada(~jespada@90.254.243.187)
2021-03-04 23:21:15 +0100hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net)
2021-03-04 23:21:57 +0100lieven(~mal@unaffiliated/lieven)
2021-03-04 23:22:56 +0100ubert1(~Thunderbi@p200300ecdf25d9e2e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2021-03-04 23:24:04 +0100bobiusbillius(~bobiusbil@2.221.197.231) (Ping timeout: 260 seconds)
2021-03-04 23:24:24 +0100stampirl(~stampirl@195-154-112-77.rev.poneytelecom.eu)
2021-03-04 23:24:25 +0100jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 268 seconds)
2021-03-04 23:24:33 +0100aidecoe(~aidecoe@unaffiliated/aidecoe)
2021-03-04 23:24:35 +0100Kaiepi(~Kaiepi@47.54.252.148) (Remote host closed the connection)
2021-03-04 23:24:51 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2021-03-04 23:25:14 +0100apache801(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 260 seconds)
2021-03-04 23:25:16 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-03-04 23:25:24 +0100jdwidari2(~jdwidari@173.38.117.76)
2021-03-04 23:25:37 +0100 <ph88> maybe i didn't explain the problem well enough
2021-03-04 23:26:09 +0100 <myShoggoth> heck-to-the-gnom: Sorry, didn't see your question earlier. We read through the code trying to understand how it works, elaborate on what's going on, some kibitzing by experts, etc.
2021-03-04 23:26:34 +0100 <myShoggoth> It is dense, we'll do it again at the same time next week.
2021-03-04 23:26:57 +0100hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 264 seconds)
2021-03-04 23:27:02 +0100 <myShoggoth> Video at https://www.twitch.tv/videos/936984769
2021-03-04 23:27:42 +0100bahamas(~lucian@unaffiliated/bahamas)
2021-03-04 23:28:22 +0100systemhalted(~aqualogic@71-129-231-253.lightspeed.rcsntx.sbcglobal.net)
2021-03-04 23:28:50 +0100qih(~pi@210-54-120-166.adsl.xtra.co.nz)
2021-03-04 23:28:59 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2021-03-04 23:29:35 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2021-03-04 23:30:10 +0100 <qih> Morning o/
2021-03-04 23:30:12 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-04 23:30:22 +0100jdwidari2(~jdwidari@173.38.117.76) (Quit: WeeChat 3.0.1)
2021-03-04 23:30:47 +0100kiweun(~kiweun@2607:fea8:2a62:9600:8160:4d43:4a85:f4b8)
2021-03-04 23:32:09 +0100bahamas(~lucian@unaffiliated/bahamas) (Ping timeout: 245 seconds)
2021-03-04 23:34:07 +0100Tops2(~Tobias@dyndsl-095-033-090-077.ewe-ip-backbone.de) (Read error: Connection reset by peer)
2021-03-04 23:34:39 +0100systemhalted(~aqualogic@71-129-231-253.lightspeed.rcsntx.sbcglobal.net) (Ping timeout: 245 seconds)
2021-03-04 23:34:45 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2021-03-04 23:35:43 +0100Tario(~Tario@201.192.165.173)
2021-03-04 23:36:23 +0100romesrf(~romesrf@44.190.189.46.rev.vodafone.pt)
2021-03-04 23:40:34 +0100stree(~stree@68.36.8.116) (Ping timeout: 265 seconds)
2021-03-04 23:41:46 +0100 <ph88> monochrom, i have this now let datas = (foldr (\a b -> b . (dataRow a)) id $ catMaybes $ map issueToDataRow issues) [] which seems to be ok ... but i have difficulties to read back my own code .. maybe there is a function to capture this behaviour ?
2021-03-04 23:41:56 +0100 <swarmcollective> Hello qih
2021-03-04 23:42:16 +0100 <qih> swarmcollective: Ey.
2021-03-04 23:42:20 +0100theelous3(~theelous3@unaffiliated/theelous3)
2021-03-04 23:44:16 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b42a:6451:2211:3708)
2021-03-04 23:44:21 +0100conal(~conal@64.71.133.70)
2021-03-04 23:46:18 +0100fendor_(~fendor@91.141.0.22.wireless.dyn.drei.com) (Remote host closed the connection)
2021-03-04 23:46:29 +0100 <monochrom> I don't understand why "map issueToDataRow issues []" is not the empty list.
2021-03-04 23:46:40 +0100 <monochrom> Or if it is the empty list, what's the point of the rest.
2021-03-04 23:47:57 +0100 <Axman6> what are there too many arguments
2021-03-04 23:48:11 +0100 <Axman6> Hmm, that was a deeper question than I intended
2021-03-04 23:48:36 +0100 <swarmcollective> Axman6: :D Good one.
2021-03-04 23:49:37 +0100pera(~pera@unaffiliated/pera) (Quit: leaving)
2021-03-04 23:49:54 +0100 <monochrom> I would agree with "deep trouble".
2021-03-04 23:50:06 +0100 <monochrom> OK I misread.
2021-03-04 23:51:12 +0100 <monochrom> dataRow (concat (catMaybes $ map issueToDataRow issues)) []
2021-03-04 23:51:15 +0100ByteEater(57cd846a@gateway/web/cgi-irc/kiwiirc.com/ip.87.205.132.106)
2021-03-04 23:52:38 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-04 23:53:18 +0100stree(~stree@68.36.8.116)
2021-03-04 23:55:26 +0100 <shachaf> :t mapMaybe
2021-03-04 23:55:27 +0100 <lambdabot> (a -> Maybe b) -> [a] -> [b]
2021-03-04 23:55:39 +0100 <ByteEater> If qsort is the popular toy quicksort implementation in Haskell, does \l -> head $ drop (length l `div` 2) $ qsort l give the median of a non-empty list l in linear time for sure? Or does it depend on whether the implementation performs some optimization? Does GHC?
2021-03-04 23:57:57 +0100 <shachaf> It certainly isn't for sure, since it might pick bad pivots.
2021-03-04 23:58:18 +0100ech(~user@gateway/tor-sasl/ech)
2021-03-04 23:58:24 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-03-04 23:58:28 +0100 <ByteEater> shachaf, I'm counting on laziness
2021-03-04 23:58:34 +0100bahamas(~lucian@unaffiliated/bahamas)
2021-03-04 23:58:49 +0100 <shachaf> What's the implementation of qsort here?
2021-03-04 23:58:56 +0100__minoru__shirae(~shiraeesh@109.166.56.118)
2021-03-04 23:59:17 +0100 <ph88> monochrom, your solution does not work .. it would be equivelant to do the following in the example https://hackage.haskell.org/package/hvega-0.11.0.0/docs/Graphics-Vega-VegaLite.html#v:dataFromRows [ ( "Animal", Str "Fish" ), ( "Age", Number 28 ), ( "Year", Str "2010" ), ( "Animal", Str "Dog" ), ( "Age", Number 12 ), ( "Year", Str "2014" ), ( "Animal", Str "Cat" ), ( "Age", Number 6 ), ( "Year", Str "2015" ) ]]
2021-03-04 23:59:24 +0100 <ByteEater> if I had e.g. take 5 instead, it'd be linear, the rest would just remain unevaluated, no recursive calls into unneeded partitions would be performed
2021-03-04 23:59:29 +0100 <ph88> that leaves me with only 1 row where values overwrite each other
2021-03-04 23:59:31 +0100 <monochrom> base's Data.List.sort does not use quicksort at all. Some kind of mergesort-style but novel algorithm someone wrote and benchmarked to be good.
2021-03-04 23:59:58 +0100Kaiepi(~Kaiepi@47.54.252.148)