Home liberachat/#haskell: Logs Calendar

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

00:02:21 markpythonicbitc joins (~markpytho@2601:647:5a00:35:3006:a3cd:9680:110f)
00:04:05 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
00:05:13 <DigitalKiwi> monochrom: the lemons are for the invisible ink!
00:06:27 <monochrom> Ah that gives me ideas.
00:07:26 <monochrom> Do graffiti in lemon juice. Then when someone tries to arson the wall, we get a "the writing is on the wall" effect.
00:07:58 <DigitalKiwi> =D
00:08:04 <DigitalKiwi> r u psychotic too lol
00:08:53 × worp quits (~worp@221.124.9.182) (Quit: Client closed)
00:09:48 lavaman joins (~lavaman@98.38.249.169)
00:11:56 <monochrom> I'm just sleep-deprived.
00:13:03 shapr joins (~user@pool-100-36-247-68.washdc.fios.verizon.net)
00:14:46 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
00:17:53 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 258 seconds)
00:19:00 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
00:19:45 stiell joins (~stiell@gateway/tor-sasl/stiell)
00:21:35 <DigitalKiwi> anyway sorry for being offtopic lol
00:23:14 adam1 joins (~adam@2001-b011-4007-2990-bcbb-3682-3e68-66b1.dynamic-ip6.hinet.net)
00:26:03 × doyougnu quits (~user@c-73-25-202-122.hsd1.or.comcast.net) (Remote host closed the connection)
00:26:06 <hololeap> is using haskell an indicator of mental health problems?
00:27:20 <Axman6> It does indicate an overly optimisticly pure view of the world
00:30:14 <hololeap> Just (pure (Right True)) -- it does kind of have a puritan vibe
00:31:12 <Axman6> :prayerhands: May your lambdas all apply
00:31:25 × Matthias1 quits (~Matthias1@cpe-76-170-236-166.socal.res.rr.com) ()
00:33:16 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
00:35:23 Matthias1 joins (~Matthias1@2603-8001-b545-4900-14a2-9fab-9546-ee58.res6.spectrum.com)
00:38:05 worp joins (~worp@221.124.9.182)
00:39:58 × worp quits (~worp@221.124.9.182) (Client Quit)
00:48:49 <DigitalKiwi> yes
00:49:44 <DigitalKiwi> https://mostlyabsurd.com/about/#robert-djubek
00:52:07 <DigitalKiwi> https://twitter.com/ArchKiwi/status/1319218948722860032
00:52:52 dsal logs into twitter to heart that
00:53:06 <DigitalKiwi> i've been crazy for over 20 years but haskell helps <3
00:53:27 zebrag joins (~chris@user/zebrag)
00:53:45 <DigitalKiwi> https://twitter.com/ArchKiwi/status/1249955169204342784
00:56:34 <dsal> Yikes. :(
00:57:01 <dsal> I've experienced that a lot.
00:57:57 × montxero quits (~user@149.167.149.74) (Read error: No route to host)
00:58:21 × zebrag quits (~chris@user/zebrag) (Client Quit)
00:59:52 × kor1 quits (~kor1@user/kor1) (Quit: Leaving.)
00:59:56 montxero joins (~user@149.167.149.74)
01:01:11 <DigitalKiwi> monochrom: lol so the grafitti should be "it was the man with the lemons!"
01:03:15 × xsperry quits (~as@user/xsperry) (Remote host closed the connection)
01:03:36 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
01:07:16 xsperry joins (~as@user/xsperry)
01:08:17 Cajun joins (~Cajun@user/cajun)
01:09:01 × montxero quits (~user@149.167.149.74) (Read error: No route to host)
01:09:42 lavaman joins (~lavaman@98.38.249.169)
01:09:46 <hololeap> DigitalKiwi: I think that milewski makes a good case for what you're saying in that first tweet
01:10:42 <hololeap> basically that software is complicated, and we need a computer (compiler and type system) to help us, otherwise we wouldn't need computers at all
01:11:49 <hololeap> (because if we could comprehend the complexity of software, we would already be able to "execute" it in our heads)
01:12:03 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:13:09 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:14:09 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 248 seconds)
01:14:56 <monochrom> Yeah, using Haskell indicates both optimism with Just pure Right True and being pedantic about "but a computation that results with an Int is not an Int and does not contain Int either" i.e. M Int vs Int where M is a monadic type.
01:14:56 exarkun is now known as lafs
01:15:04 lafs is now known as exarkun
01:16:19 <monochrom> The latter really puzzles a lot of programmers outside, they have always survived without drawing that line.
01:16:23 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
01:18:18 × vysn quits (~vysn@user/vysn) (Remote host closed the connection)
01:18:24 × Atum_ quits (~IRC@user/atum/x-2392232) (Quit: Atum_)
01:19:37 × Matthias1 quits (~Matthias1@2603-8001-b545-4900-14a2-9fab-9546-ee58.res6.spectrum.com) (Remote host closed the connection)
01:19:51 <int-e> @quote explain.this
01:19:52 <lambdabot> cjs says: I have to explain this shit to people. I mean, I start out right, "Hey, you know how you always have these bugs because what you thought was in the variable is not there?" And I get all of
01:19:52 <lambdabot> these nods of agreement. "Well, I've found a new language that solves that problem." Audience: "Ooooh! How?" Me: "There's no variables!" And then they all start moving away from me slowly....
01:20:11 <hololeap> most people learn how to program with "tell computer to do this. tell computer to do that." which _is_ how computers operate, but then eventually you might discover that there actually _is_ another way with the purely functional paradigm, and all the cool abstract concepts that come with it
01:21:31 <hololeap> basically, Turing won the meme war :p
01:22:39 <geekosaur> turing, or von neumann?
01:23:07 <hololeap> honestly I lose track of all the things Von Neumann came up with :p
01:23:16 <hololeap> so it could have been him originally
01:24:15 <int-e> It's impressive to defeat Harvard single-handedly.
01:24:44 <hololeap> int-e: what are you referring to specifically?
01:25:31 <int-e> https://en.wikipedia.org/wiki/Harvard_architecture#Contrast_with_von_Neumann_architectures
01:25:43 <int-e> same thing as geekosaur, I think
01:26:40 <int-e> Which is a different fight than the Church, Kleene (I think) vs. Turing one
01:27:05 <monochrom> I think Harvest lost the battle but won the war.
01:28:00 <monochrom> If you don't actually practice self-modifying-code programming, you're using a von Neumann computer as though it's a Harvard computer.
01:28:11 <davean> Harvard is still here, Von Numann is dead, pretty easy to figure out who won the war.
01:28:25 <monochrom> haha
01:28:49 <davean> We have seperate instruction and data caches on most modern CPUs also
01:29:10 <int-e> morbid
01:29:51 <monochrom> "Harvard is too big to fail(TM)"
01:29:52 <Axman6> RAM is just shared storage for Harvard architecture CPUs
01:30:26 <int-e> I know, let's implement a virtual machine...
01:31:03 <int-e> (These lines between code and data are so blurry.)
01:33:39 lavaman joins (~lavaman@98.38.249.169)
01:40:40 × adam1 quits (~adam@2001-b011-4007-2990-bcbb-3682-3e68-66b1.dynamic-ip6.hinet.net) (Quit: WeeChat 3.2)
01:41:53 adam1 joins (~adam@2001-b011-4007-2990-bcbb-3682-3e68-66b1.dynamic-ip6.hinet.net)
01:42:32 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
01:42:32 allbery_b joins (~geekosaur@xmonad/geekosaur)
01:42:35 allbery_b is now known as geekosaur
01:44:21 fjvallarino joins (~fjvallari@186.136.54.215)
01:48:02 <dsal> The problem with "tell the computer to do this..." types of programs is that that computers have changed and don't necessarily do what you tell them in those languages either.
01:48:12 <dsal> Tell a 1970s computer to do this, and the modern computer will try to guess what you mean.
01:49:04 × hendursaga quits (~weechat@user/hendursaga) (Quit: hendursaga)
01:49:31 <dsal> I experienced this a lot when I had to deal with a lot of perl code. Every time something went horribly wrong and I'd open the code, I'd spend most of the time trying to understand why the programmer thought the things they told the computer to do would be useful in achieving any particular goal they might have.
01:49:37 hendursaga joins (~weechat@user/hendursaga)
01:53:33 <DigitalKiwi> hololeap: https://twitter.com/haskellhutt/status/1308076394417655820?s=20
01:54:17 × xff0x quits (~xff0x@2001:1a81:53fa:2600:743d:308e:abb:126) (Ping timeout: 245 seconds)
01:54:52 × pschorf quits (~user@c-73-77-28-188.hsd1.tx.comcast.net) (Remote host closed the connection)
01:55:17 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 268 seconds)
01:56:15 xff0x joins (~xff0x@2001:1a81:5238:9600:357e:7c22:5b05:e9dc)
01:57:59 <DigitalKiwi> are graham and barotosz the same person
01:58:53 <DigitalKiwi> maybe this is what polymorphism is
01:59:26 Guest14 joins (~Guest14@186.136.54.215)
02:00:43 Matthias1 joins (~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
02:05:21 × cheater quits (~Username@user/cheater) (Ping timeout: 248 seconds)
02:05:47 × Matthias1 quits (~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Ping timeout: 268 seconds)
02:06:08 <DigitalKiwi> "i went to harvard" "really?" "school of computing" "amazing!" "ok what i really mean to say is that i turned on a computer once" "..."
02:09:02 × lbseale quits (~lbseale@user/ep1ctetus) (Read error: Connection reset by peer)
02:09:14 <Axman6> "Really?" "Ok, no, I just keep my todo list and documents separate"
02:10:44 <DigitalKiwi> what's a todo list
02:11:14 <DigitalKiwi> i'd like to trade my todo list for a toDONE list
02:11:22 <Axman6> ... a list of things to do...
02:11:37 <Axman6> that's a done list
02:11:57 <DigitalKiwi> https://twitter.com/ArchKiwi/status/1422703998549860352?s=20
02:12:33 <DigitalKiwi> because i am SO DONE with computers ;D
02:12:43 <DigitalKiwi> gotta let me finish my jokes ;(
02:17:07 Matthias1 joins (~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
02:17:12 × Matthias1 quits (~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Remote host closed the connection)
02:17:53 cheater joins (~Username@user/cheater)
02:18:07 × td_ quits (~td@muedsl-82-207-238-098.citykom.de) (Ping timeout: 268 seconds)
02:19:52 td_ joins (~td@94.134.91.94)
02:19:53 Matthias1 joins (~Matthias1@2603-8001-b545-4900-682c-3ed2-deff-6231.res6.spectrum.com)
02:21:42 × Guest14 quits (~Guest14@186.136.54.215) (Quit: Client closed)
02:22:07 <nshepperd> mine is a todon't list
02:23:29 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 248 seconds)
02:24:02 endlesseditions joins (~endlessed@server.zane.wiki)
02:24:36 endlesseditions is now known as endless
02:25:52 × fjvallarino quits (~fjvallari@186.136.54.215) (Quit: Leaving...)
02:26:37 <Axman6> Just call it what it is, a guilt list
02:26:38 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:26:38 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (copper.libera.chat (Nickname regained by services)))
02:26:38 finn_elija is now known as FinnElija
02:29:25 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
02:29:36 jess joins (~jess@libera/staff/jess)
02:34:41 slack1256 joins (~slack1256@181.203.38.2)
02:36:53 <slack1256> Is the current advice for typeclasses without laws "don't"?
02:37:02 × Guest8327 quits (~chris@81.96.113.213) (Remote host closed the connection)
02:37:18 cwraith is now known as c_wraith
02:38:08 <slack1256> What is the alternative to codifiying "business effects"? for example a UserQuerCapability with a single method `getUser :: Id -> m User` that gets an user from the DB. It doesn't have any laws, but it useful for mocking (via quickcheck and ReaderT).
02:40:00 <c_wraith> the usual alternative is to just use higher-order functions
02:40:27 <c_wraith> Whether with the ReaderT IO pattern, or something more complicated
02:40:49 × hgolden quits (~hgolden2@cpe-172-114-84-61.socal.res.rr.com) (Quit: Konversation terminated!)
02:41:13 <c_wraith> then instead of dispatching based on type, you use the same type everywhere and initialize the functions in scope differently
02:41:30 <slack1256> Is that exposed on some blogpost? I would like to see a example.
02:41:54 chris joins (~chris@81.96.113.213)
02:41:58 chris is now known as Guest4783
02:42:26 hgolden joins (~hgolden2@cpe-172-114-84-61.socal.res.rr.com)
02:42:38 × epolanski quits (uid312403@id-312403.brockwell.irccloud.com) (Quit: Connection closed for inactivity)
02:43:13 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 248 seconds)
02:44:43 × Matthias1 quits (~Matthias1@2603-8001-b545-4900-682c-3ed2-deff-6231.res6.spectrum.com) (Remote host closed the connection)
02:45:00 × endless quits (~endlessed@server.zane.wiki) (Quit: The Lounge - https://thelounge.chat)
02:45:11 endless joins (~endlessed@server.zane.wiki)
02:46:38 × Guest4783 quits (~chris@81.96.113.213) (Ping timeout: 256 seconds)
02:47:46 × cheater quits (~Username@user/cheater) (Ping timeout: 256 seconds)
02:51:11 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
02:54:00 khumba joins (~khumba@user/khumba)
02:58:41 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 248 seconds)
03:00:25 Erutuon joins (~Erutuon@user/erutuon)
03:01:57 chris joins (~chris@81.96.113.213)
03:02:02 chris is now known as Guest8182
03:03:13 euouae joins (~euouae@user/euouae)
03:03:29 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
03:03:30 <euouae> Hello I'm trying to understand traverse
03:03:48 <euouae> For example in `traverse _ empty = pure empty` in https://hackage.haskell.org/package/base-4.15.0.0/docs/Data-Traversable.html#g:9
03:04:00 <euouae> How is `pure empty` of type `t (f b)`?
03:04:20 <euouae> I don't understand how `pure` specializes for a Traversable since a Traversable is not Applicative
03:08:16 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 272 seconds)
03:09:03 <euouae> never mind I misread the type... :(
03:09:06 <euouae> I get it now
03:10:16 <euouae> (It is of type `f (t b)` not `t (f b)`...)
03:14:59 <Cale> euouae: If you know mapM, traverse is just that, but generalised slightly.
03:16:13 Matthias1 joins (~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
03:16:16 <Cale> It turns a container of actions into an action that, when executed, executes each of the actions in some order, and builds a similarly-shaped container of results.
03:16:30 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
03:16:43 <euouae> Yeah I'm just learning both Cale
03:16:51 <Cale> Or rather, sequenceA does exactly that :)
03:16:57 <euouae> I have some misunderstanding with regards to how it works, I understand the high-level idea
03:17:25 <Cale> traverse uses the given function to turn the elements of the given container into actions
03:17:29 <euouae> Luckily the Base docs have a good section called 'Construction' that addresses exactly what I am puzzled with
03:17:36 × Matthias1 quits (~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Read error: Connection reset by peer)
03:17:44 Matthias_ joins (~Matthias1@2603-8001-b545-4900-3152-055a-7434-14e0.res6.spectrum.com)
03:17:54 <Cale> ah, yeah
03:18:04 <euouae> Cale: Should the boldface in https://hackage.haskell.org/package/base-4.15.0.0/docs/Data-Traversable.html#g:9 be changed with inline code instead?
03:18:20 <euouae> This is a minor question but I'm curious if I should bother with a PR
03:18:27 <Cale> You mean the 'a'?
03:18:53 <euouae> "We can view a partially built structure *t0 :: T a* as a function *append :: a -> T a* that takes one more element *a* "
03:19:06 <Cale> I think that might already be inline code, it's just formatted as bold fixed-width text
03:19:27 <euouae> I don't think it's consistent with other parts of the docs
03:19:51 <euouae> Maybe it is. Idk
03:20:59 <Cale> If you're already familiar with IO and do-notation to some extent, it might help to see a specialisation like:
03:21:07 <Cale> traverse :: [IO a] -> IO [a]
03:21:07 lavaman joins (~lavaman@98.38.249.169)
03:21:12 <Cale> traverse [] = return []
03:21:23 <Cale> oops
03:21:27 <Cale> traverse f [] = return []
03:21:49 <Cale> traverse f (x:xs) = do v <- f x; vs <- traverse f xs; return (v:vs)
03:22:04 <euouae> I get that one
03:22:10 <euouae> the issue I had is some argument with >> I brought up
03:22:26 <euouae> It had to do with `sequence` and State
03:22:41 <euouae> I'm not going to get into it right now before I read that section, but I have another question
03:22:59 <euouae> Do you think the type for `append` is wrong? Should it be `append :: T a -> a -> T a` instead of `append :: a -> T a`
03:23:10 × Matthias_ quits (~Matthias1@2603-8001-b545-4900-3152-055a-7434-14e0.res6.spectrum.com) (Remote host closed the connection)
03:23:11 <Axman6> You better not *shakes fist*
03:23:12 <Axman6> :P
03:23:30 <euouae> Hehehe just give me some time Axman6 I learn slowly
03:24:22 <Axman6> prepend :: a -> t a -> t a, append :: t a -> a -> t a IMO
03:24:26 <dsal> I went the other way around for the most part. Besides learning about Traversable by going through a book, I found myself wanting something that sounded like `mapM` and then used that. Then learned that `mapM = traverse`. But there were a couple other obscure use cases I found that were nice.
03:24:37 <euouae> Axman6: Then the docs have a typo there right? https://hackage.haskell.org/package/base-4.15.0.0/docs/Data-Traversable.html#g:7
03:25:06 <dsal> e.g., this is a useful alias for me: `justM :: Monad m => (a -> m ()) -> Maybe a -> m (); justM = traverse_`
03:25:19 <Cale> euouae: I find that explanation a little weird myself, but I don't think it's a mistake.
03:25:26 <Axman6> yeah those docs look wrong to me but I haven't read all of it
03:25:40 <euouae> Cale: Can you tell me why `append` has the right type?
03:25:53 <Cale> euouae: Don't think of it as a fully-generic append function
03:26:15 <euouae> If `append :: a -> T a` as they claim, how is `traverse f (append t0 a) = append <$> traverse f t0 <*> f a` possible?
03:26:16 × alx741 quits (~alx741@181.196.68.193) (Quit: alx741)
03:26:20 <Cale> Think of it as really representing a particular container of elements, using a function that, given an additional element, will add that element to the container
03:26:52 <euouae> Yeah it's the arity of the type that bothers me. It seems that append is applied to more arguments than the type indicates in the source code
03:27:14 <Cale> ah, perhaps
03:27:20 <Cale> In that case, I have no idea
03:27:31 <Cale> I should probably read and understand the thing :P
03:27:40 <euouae> No it's OK I'll submit a PR
03:27:54 <euouae> let the person who wants to review it deal with it, no need to spend more energy than needed :P
03:33:53 <Cale> euouae: I think they meant to write append t0 :: a -> T a
03:34:09 <Cale> and prepend a :: T a -> T a
03:35:23 <euouae> Cale: I see. They do say that a structure `t0 :: T a` can be viewed as a function `append :: a -> T a`...
03:35:44 <euouae> So perhaps that was the intention, a `t0` is missing there
03:36:03 <Cale> yeah
03:36:04 euouae Can't yet do PRs but in a few weeks it should be possible
03:36:30 <Cale> Also, I'm theoretically on the CLC, so I should be able to do it, but I have no idea, lol.
03:36:48 <euouae> What's the CLC?
03:37:07 <Cale> Core libraries committee
03:38:23 <euouae> You can mail them at core-libraries-committee [AT] haskell.org to fix it :P
03:38:55 <euouae> I thought that the Base documentation is shipped with GHC
03:40:04 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
03:41:05 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
03:41:57 <euouae> Should be somewhere here, https://gitlab.haskell.org/ghc/ghc/-/blob/master/libraries/base/Data/Traversable.hs but I can't spot it
03:43:07 <euouae> Looks like the master branch is ahead of hackage
03:43:50 <euouae> https://gitlab.haskell.org/ghc/ghc/-/blob/master/libraries/base/Data/Traversable.hs#L1007-1019
03:51:19 <euouae> How can I run the test suite of https://github.com/hedgehogqa/haskell-hedgehog/tree/master/hedgehog-example ?
03:51:42 <euouae> I did `cabal build all` and `cabal test hedgehog-example` and I just get "test suite passed" and no messages
03:51:54 <euouae> I expected a lot of output. Am I doing something wrong?
03:55:09 <sclv> often test runners only give messages when there are errors
03:58:45 <euouae> sclv: -- But this project is designed to actually show test errors as an example so we don't want it to break CI.
03:59:06 <euouae> That's in https://github.com/hedgehogqa/haskell-hedgehog/blob/master/hedgehog-example/test/test.hs
03:59:07 <sclv> well if test suite passed is the result, then there aren't errors
03:59:27 <sclv> weird
03:59:34 <sclv> cabal might just hide the input in the case it passes
03:59:35 <euouae> sclv: This is not the output that I'm used to when I run Hedgehog once in the past
03:59:50 <sclv> that's actually what i recall, sigh.
04:00:24 <euouae> λ tests ━━━ Test.Example ━━━ ✓ prop_reverse passed 100 tests.
04:00:29 <euouae> ^ it looks more like this, with line breaks
04:00:32 <sclv> right.
04:00:48 <sclv> i think if there aren't errors, `cabal test` swallows the output. don't recall the flag to fix it
04:00:59 <sclv> you can always just run the generated text exe manually
04:01:08 <euouae> But the output looks more like this https://paste.tomsmeding.com/0x0qdIwk
04:01:27 <sclv> or maybe call `cabal run test:hedgehog-example` to run the test suite as an exe?
04:01:39 <euouae> Oooh dang. The test output is logged in a file... whoops
04:01:43 Matthias1 joins (~Matthias1@2603-8001-b545-4900-3152-055a-7434-14e0.res6.spectrum.com)
04:02:15 × Matthias1 quits (~Matthias1@2603-8001-b545-4900-3152-055a-7434-14e0.res6.spectrum.com) (Remote host closed the connection)
04:02:25 <sclv> oh there's a `--test-show-details=FILTER` flag that the --help output lists, that might be the one
04:04:49 × shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 248 seconds)
04:12:29 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
04:13:01 × zmt00 quits (~zmt00@user/zmt00) (Quit: Gone.)
04:13:52 Matthias1 joins (~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
04:15:14 zmt00 joins (~zmt00@user/zmt00)
04:20:31 × euouae quits (~euouae@user/euouae) (Quit: Ping timeout (120 seconds))
04:28:50 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
04:31:00 × khumba quits (~khumba@user/khumba) ()
04:33:37 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 248 seconds)
04:37:00 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
04:37:49 nattiestnate joins (~nate@180.243.1.7)
04:39:24 img joins (~img@user/img)
04:42:39 dyeplexer joins (~dyeplexer@user/dyeplexer)
04:45:36 × shailangsa quits (~shailangs@host86-145-14-24.range86-145.btcentralplus.com) ()
04:52:16 × nattiestnate quits (~nate@180.243.1.7) (Ping timeout: 268 seconds)
05:00:07 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
05:14:12 × derelict quits (~derelict@user/derelict) (Ping timeout: 258 seconds)
05:15:54 jneira joins (~jneira@212.8.115.226)
05:17:21 takenobu joins (uid459077@id-459077.stonehaven.irccloud.com)
05:21:23 × slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving)
05:34:50 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
05:37:33 × spicyrice quits (~ubuntu@2600:1f11:52a:4400:ccbc:2b96:cabe:414b) (Quit: WeeChat 2.8)
05:38:26 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:39:53 × Matthias1 quits (~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Remote host closed the connection)
05:45:30 lep- is now known as lep
05:50:38 retroid_ joins (~retro@5ec19a54.skybroadband.com)
05:51:48 ishutin_ joins (~ishutin@92-249-193-96.pool.digikabel.hu)
05:54:42 × ishutin quits (~ishutin@176-241-45-166.pool.digikabel.hu) (Ping timeout: 240 seconds)
06:14:02 magthe joins (~magthe@c83-252-52-5.bredband.tele2.se)
06:19:40 fabfianda joins (~fabfianda@37.183.255.57)
06:20:34 derelict joins (~derelict@user/derelict)
06:21:23 × magthe quits (~magthe@c83-252-52-5.bredband.tele2.se) (Quit: WeeChat 3.2)
06:22:18 lep is now known as lep-
06:22:44 magthe joins (~magthe@c83-252-52-5.bredband.tele2.se)
06:23:08 × magthe quits (~magthe@c83-252-52-5.bredband.tele2.se) (Client Quit)
06:23:39 magthe joins (~magthe@c83-252-52-5.bredband.tele2.se)
06:24:01 lep- is now known as lep
06:26:43 Matthias1 joins (~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
06:28:01 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
06:29:43 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 258 seconds)
06:29:43 Lord_of_Life_ is now known as Lord_of_Life
06:30:29 <Drew[m]1> Is there an easy way to search packages on hackage their dependency bounds on a specific package?
06:31:34 × Matthias1 quits (~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Ping timeout: 268 seconds)
06:38:55 MQ-17J joins (~MQ-17J@8.6.144.209)
06:39:31 curiousgay joins (~curiousga@77-120-186-48.kha.volia.net)
06:42:36 <pavonia> Drew[m]1: There's <https://packdeps.haskellers.com/reverse>. Not sure this is what you are looking for
06:43:34 JavierNeira[m] joins (~jneiramat@2001:470:69fc:105::d729)
06:44:12 Gurkenglas joins (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
06:44:49 × magthe quits (~magthe@c83-252-52-5.bredband.tele2.se) (Ping timeout: 248 seconds)
06:48:05 JavierNeira[m] parts (~jneiramat@2001:470:69fc:105::d729) ()
06:52:07 lortabac joins (~lortabac@2a01:e0a:541:b8f0:f117:9393:f77b:e061)
06:52:58 acidjnk joins (~acidjnk@p200300d0c72b954099fc00439288b01d.dip0.t-ipconnect.de)
06:53:41 adam2 joins (~adam@2001-b011-4007-2578-2ca6-0e99-140d-5ce9.dynamic-ip6.hinet.net)
06:56:32 × adam1 quits (~adam@2001-b011-4007-2990-bcbb-3682-3e68-66b1.dynamic-ip6.hinet.net) (Ping timeout: 256 seconds)
07:03:06 dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be)
07:03:50 <Drew[m]1> pavonia: That fits my use case. Thanks!
07:11:01 × fabfianda quits (~fabfianda@37.183.255.57) (Ping timeout: 268 seconds)
07:11:14 fabfianda joins (~fabfianda@mob-5-91-112-242.net.vodafone.it)
07:12:31 yoctocell joins (~user@h87-96-130-155.cust.a3fiber.se)
07:14:02 × Codaraxis quits (~Codaraxis@user/codaraxis) (Quit: Leaving)
07:16:00 adam2 is now known as ajbarber
07:16:24 acidjnk_new joins (~acidjnk@p200300d0c72b954018823fd27e2cbb9b.dip0.t-ipconnect.de)
07:16:42 × Reyu[M] quits (~reyureyuz@matrix.reyuzenfold.com) (Remote host closed the connection)
07:17:23 Reyu[M] joins (~reyureyuz@matrix.reyuzenfold.com)
07:19:11 ajbarber is now known as adam1
07:19:42 × acidjnk quits (~acidjnk@p200300d0c72b954099fc00439288b01d.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
07:22:45 epolanski joins (uid312403@id-312403.brockwell.irccloud.com)
07:24:08 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 272 seconds)
07:25:44 magthe joins (~magthe@c83-252-52-5.bredband.tele2.se)
07:27:00 × takenobu quits (uid459077@id-459077.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
07:27:19 burnsidesLlama joins (~burnsides@dhcp168-018.wadham.ox.ac.uk)
07:27:28 gehmehgeh joins (~user@user/gehmehgeh)
07:29:58 p0lyph3m joins (~polyphem@2a02:810d:640:776c:5d1:5727:1484:7756)
07:30:34 × polyphem quits (~polyphem@2a02:810d:640:776c:5d1:5727:1484:7756) (Read error: Connection reset by peer)
07:30:38 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:31:27 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
07:33:13 × slack1256 quits (~slack1256@181.203.38.2) (Ping timeout: 268 seconds)
07:34:57 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 248 seconds)
07:38:29 polyphem joins (~polyphem@2a02:810d:640:776c:5ce9:eeb2:9e8b:b083)
07:38:44 × p0lyph3m quits (~polyphem@2a02:810d:640:776c:5d1:5727:1484:7756) (Ping timeout: 252 seconds)
07:43:10 Guest88930 joins (~Guest8893@p578b92fd.dip0.t-ipconnect.de)
07:43:25 Guest88930 parts (~Guest8893@p578b92fd.dip0.t-ipconnect.de) ()
07:43:34 michalz joins (~michalz@185.246.204.61)
07:44:00 Guest88930 joins (~Guest8893@p578b92fd.dip0.t-ipconnect.de)
07:44:08 × Guest88930 quits (~Guest8893@p578b92fd.dip0.t-ipconnect.de) (Client Quit)
07:44:38 Guest773838 joins (~Guest7738@p578b92fd.dip0.t-ipconnect.de)
07:48:41 Guest773838 parts (~Guest7738@p578b92fd.dip0.t-ipconnect.de) ()
07:51:56 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
07:54:12 × azeem quits (~azeem@dynamic-adsl-84-220-236-17.clienti.tiscali.it) (Read error: Connection reset by peer)
07:54:15 mei joins (~mei@user/mei)
07:55:36 Boomerang joins (~Boomerang@xd520f68c.cust.hiper.dk)
07:56:02 azeem joins (~azeem@dynamic-adsl-84-220-236-17.clienti.tiscali.it)
07:56:25 × magthe quits (~magthe@c83-252-52-5.bredband.tele2.se) (Quit: WeeChat 3.2)
07:58:47 wonko joins (~wjc@62.115.229.50)
08:01:37 × burnsidesLlama quits (~burnsides@dhcp168-018.wadham.ox.ac.uk) (Remote host closed the connection)
08:01:37 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
08:04:52 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
08:06:01 hendursa1 joins (~weechat@user/hendursaga)
08:09:09 chomwitt joins (~chomwitt@2a02:587:dc04:9a00:12c3:7bff:fe6d:d374)
08:09:29 × hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 244 seconds)
08:17:27 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
08:17:27 allbery_b joins (~geekosaur@xmonad/geekosaur)
08:17:30 allbery_b is now known as geekosaur
08:22:15 × shriekingnoise quits (~shrieking@186.137.144.80) (Quit: Quit)
08:25:02 × azeem quits (~azeem@dynamic-adsl-84-220-236-17.clienti.tiscali.it) (Read error: Connection reset by peer)
08:25:49 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
08:30:50 burnsidesLlama joins (~burnsides@dhcp168-018.wadham.ox.ac.uk)
08:31:31 <kuribas> I made a more ergonomic and lawful validation transformer: https://gist.github.com/kuribas/d3d7a97de4faf340442fd3e542ea73bf
08:31:45 <kuribas> It has two parts, the validation applicative, and the reporting monad.
08:31:56 <kuribas> the reporting monad is like ChronicleT, but with less weird names.
08:32:22 Guest88930 joins (~Guest8893@p578b92fd.dip0.t-ipconnect.de)
08:33:02 Guest88930 parts (~Guest8893@p578b92fd.dip0.t-ipconnect.de) ()
08:33:26 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
08:34:33 <kuribas> for some reason, the ChronicleT functions remind me of the spanish inquisition.
08:35:03 <kuribas> But I guess it's normal not to expect it :-)
08:36:21 × burnsidesLlama quits (~burnsides@dhcp168-018.wadham.ox.ac.uk) (Remote host closed the connection)
08:36:33 <kuribas> nobody does
08:37:29 Guest|47 joins (~Guest|47@p578b92fd.dip0.t-ipconnect.de)
08:38:57 azeem joins (~azeem@dynamic-adsl-84-220-236-17.clienti.tiscali.it)
08:41:47 Pickchea joins (~private@user/pickchea)
08:45:54 × azeem quits (~azeem@dynamic-adsl-84-220-236-17.clienti.tiscali.it) (Ping timeout: 256 seconds)
08:46:36 azeem joins (~azeem@176.201.11.151)
08:48:08 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
08:49:05 × dermato quits (~dermatobr@154.21.23.75) (Ping timeout: 248 seconds)
08:49:21 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
08:49:56 × azeem quits (~azeem@176.201.11.151) (Read error: Connection reset by peer)
08:51:46 azeem joins (~azeem@176.201.11.151)
08:56:29 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
08:58:26 AndrewYu joins (~andrew@user/andrewyu)
09:01:40 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
09:02:04 × _xor quits (~xor@74.215.232.67) (Read error: Connection reset by peer)
09:02:20 ubert joins (~Thunderbi@178.165.160.157.wireless.dyn.drei.com)
09:02:53 × azeem quits (~azeem@176.201.11.151) (Ping timeout: 252 seconds)
09:04:32 × acidjnk_new quits (~acidjnk@p200300d0c72b954018823fd27e2cbb9b.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
09:04:33 azeem joins (~azeem@176.201.11.151)
09:08:40 burnsidesLlama joins (~burnsides@dhcp168-018.wadham.ox.ac.uk)
09:11:33 Matthias1 joins (~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
09:13:43 × MidAutumnMoon quits (~MidAutumn@user/midautumnmoon) (Quit: Ping timeout (120 seconds))
09:13:57 MidAutumnMoon joins (~MidAutumn@user/midautumnmoon)
09:14:14 × burnsidesLlama quits (~burnsides@dhcp168-018.wadham.ox.ac.uk) (Ping timeout: 256 seconds)
09:15:31 × vrilles quits (~vrilles@user/aman) (Quit: vrilles)
09:15:56 × Matthias1 quits (~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Ping timeout: 256 seconds)
09:18:25 × Guest|47 quits (~Guest|47@p578b92fd.dip0.t-ipconnect.de) (Quit: Connection closed)
09:19:10 _xor joins (~xor@74.215.232.67)
09:21:24 dermato joins (~dermatobr@154.21.23.75)
09:23:45 × _xor quits (~xor@74.215.232.67) (Ping timeout: 248 seconds)
09:24:42 × adam1 quits (~adam@2001-b011-4007-2578-2ca6-0e99-140d-5ce9.dynamic-ip6.hinet.net) (Quit: WeeChat 3.2)
09:25:23 _xor joins (~xor@74.215.232.67)
09:29:11 cheater joins (~Username@user/cheater)
09:31:23 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:f117:9393:f77b:e061) (Quit: WeeChat 2.8)
09:37:47 × _xor quits (~xor@74.215.232.67) (Ping timeout: 268 seconds)
09:38:36 × curiousgay quits (~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 256 seconds)
09:39:02 × azeem quits (~azeem@176.201.11.151) (Ping timeout: 268 seconds)
09:39:04 _xor joins (~xor@74.215.232.67)
09:39:14 azeem joins (~azeem@176.200.250.25)
09:39:47 × timCF quits (~timCF@200-149-20-81.sta.estpak.ee) (Quit: leaving)
09:41:36 × hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
09:41:37 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
09:48:53 × azeem quits (~azeem@176.200.250.25) (Ping timeout: 268 seconds)
09:49:43 × smitop quits (~smitop@user/smitop) (Ping timeout: 268 seconds)
09:51:03 EvanR_ is now known as EvanR
09:52:37 azeem joins (~azeem@176.200.250.25)
09:53:19 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
09:53:35 a6a45081-2b83 joins (~aditya@223.226.228.68)
09:56:44 maerwald[m] is now known as maerwald[M]
09:57:52 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
09:59:28 burnsidesLlama joins (~burnsides@dhcp168-018.wadham.ox.ac.uk)
09:59:29 × burnsidesLlama quits (~burnsides@dhcp168-018.wadham.ox.ac.uk) (Remote host closed the connection)
09:59:36 burnsidesLlama joins (~burnsides@dhcp168-018.wadham.ox.ac.uk)
10:00:22 × maerwald[M] quits (~maerwaldm@2001:470:69fc:105::1ee) (Quit: Reconnecting)
10:00:34 maerwald[M] joins (~maerwaldm@2001:470:69fc:105::1ee)
10:01:00 drd joins (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
10:02:38 × maerwald[M] quits (~maerwaldm@2001:470:69fc:105::1ee) (Changing host)
10:02:38 maerwald[M] joins (~maerwaldm@user/maerwald)
10:04:33 maerwald[M] is now known as maerwald[m]
10:04:56 × azeem quits (~azeem@176.200.250.25) (Ping timeout: 268 seconds)
10:08:06 <tomsmeding> kuribas: TIL ChronicleT, and also that it has _very_ weird names
10:09:26 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
10:11:32 curiousgay joins (~curiousga@77-120-186-48.kha.volia.net)
10:11:47 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
10:13:41 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:17:28 Morrow[m] joins (~morrowmma@2001:470:69fc:105::1d0)
10:18:26 smitop joins (~smitop@user/smitop)
10:18:52 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
10:19:22 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:19:42 × chomwitt quits (~chomwitt@2a02:587:dc04:9a00:12c3:7bff:fe6d:d374) (Ping timeout: 245 seconds)
10:22:12 timCF joins (~timCF@200-149-20-81.sta.estpak.ee)
10:28:26 × fabfianda quits (~fabfianda@mob-5-91-112-242.net.vodafone.it) (Ping timeout: 272 seconds)
10:29:36 fabfianda joins (~fabfianda@mob-5-91-114-42.net.vodafone.it)
10:30:13 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
10:30:50 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:31:07 × flukiluke quits (~flukiluke@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Remote host closed the connection)
10:31:24 flukiluke joins (~flukiluke@2603:c023:c000:6c7e:8945:ad24:9113:a962)
10:32:13 <timCF> Hello! Is anybody experienced in Haskell<->C FFI APIs? I have a very strange issue with secp256k1 Haskell wrapper around C code. In my code I'm using this function https://hackage.haskell.org/package/secp256k1-haskell-0.5.0/docs/src/Crypto.Secp256k1.html#importSig It's accepting `ByteString` and returning `Maybe Sig`. I think by design it should catch all low-level errors and return Nothing in case of some
10:32:19 <timCF> failure. I did randomly found that **sometimes** it's failing with C exception (I guess related to NULL pointer) in case where empty ByteString is passed to this Haskell function. It's really strange that in some places empty ByteString is resolved as NULL pointer, but if I'm trying to reproduce it artificially passing (mempty :: ByteString) explicitly - it works just fine, returns Nothing. Are there
10:32:25 <timCF> different "kinds" of empty ByteString terms in Haskell?
10:33:35 <timCF> Exception looks like `[libsecp256k1] illegal argument: input != NULL`
10:34:32 <timCF> And it's coming from here I guess https://github.com/bitcoin-core/secp256k1/blob/0440945fb5ce69d335fed32827b5166e84b02e05/src/secp256k1.c#L380
10:34:33 jakalx joins (~jakalx@base.jakalx.net)
10:43:20 × burnsidesLlama quits (~burnsides@dhcp168-018.wadham.ox.ac.uk) (Remote host closed the connection)
10:43:26 × flukiluke quits (~flukiluke@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Remote host closed the connection)
10:43:43 flukiluke joins (~flukiluke@2603:c023:c000:6c7e:8945:ad24:9113:a962)
10:44:49 × fabfianda quits (~fabfianda@mob-5-91-114-42.net.vodafone.it) (Ping timeout: 248 seconds)
10:45:11 fabfianda joins (~fabfianda@37.183.255.57)
10:48:06 wxallowed joins (~d4@151.51.133.244)
10:53:03 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
10:53:39 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:56:03 × jneira_ quits (~jneira_@28.red-80-28-169.staticip.rima-tde.net) (Quit: Connection closed)
10:58:07 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
10:59:34 <tomsmeding> timCF: that mempty, is that a strict bytestring?
11:00:08 <timCF> Yes, just strict ByteString. Does anybody know how in principle on low value level `Data.ByteString.empty` differs from `mempty :: ByteString` or `"" :: ByteString`
11:00:12 <tomsmeding> Data.ByteString.empty and mempty :: ByteString are both backed by a null pointer, which is passed unchanged to C apis
11:00:34 <tomsmeding> E.g. empty: https://hackage.haskell.org/package/bytestring-0.11.1.0/docs/src/Data.ByteString.html#empty
11:00:45 <timCF> `"" :: ByteString` and `mempty :: ByteString` behave differently in my case
11:00:54 × jmorris quits (~jmorris@2001:19f0:5801:170:5400:3ff:fe81:62fe) (Quit: BYE BITCH)
11:01:03 <tomsmeding> With OverloadedStrings?
11:01:03 jmorris joins (~jmorris@2001:19f0:5801:170:5400:3ff:fe81:62fe)
11:01:07 <timCF> Yes
11:01:43 <timCF> `"" :: ByteString` is not causing NULL pointer excepption, but `mempty :: ByteString` and `Data.ByteString.empty` do
11:02:07 <tomsmeding> fromString "" :: ByteString creates a zero-length allocation, whereas mempty and empty don't do any allocation at all and just return a null bytestring
11:02:26 <tomsmeding> Sounds like this is precisely your problem :p
11:02:43 Matthias1 joins (~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
11:02:44 <tomsmeding> I've had trouble with this before: https://github.com/snapframework/snap-core/pull/305
11:03:30 <timCF> tomsmeding: hmmm so Haskell will recognize ("" :: ByteString) == (mempty :: ByteString) as True? But in reality it's not? :)
11:04:00 <tomsmeding> timCF: (==) need not be structural equality
11:04:03 <tomsmeding> ;)
11:05:11 <tomsmeding> In this case, for (==), the case that produces that equality is the first line here https://hackage.haskell.org/package/bytestring-0.11.1.0/docs/src/Data.ByteString.Internal.html#compareBytes
11:05:16 <timCF> That's scary, haha) Haskell<->C APIs are scary place) It's first time I have a problems like this)
11:05:39 <tomsmeding> timCF: this sounds like a bug in the haskell wrapper
11:06:14 <merijn> tomsmeding: tbh, having a "zero-length" allocation sounds plain wrong
11:06:22 <tomsmeding> In haskell land, fromString "" and empty are semantically equal, so the wrapper must ensure that that is also the case for these potentially abstraction-breaking functions
11:06:29 <merijn> Sounds like those should be returning NULL too
11:06:35 <tomsmeding> merijn: possibly, but it shouldn't be observable :p
11:06:43 <tomsmeding> So that secp haskell lib should do some checking
11:06:53 <merijn> What was the original question? I missed that
11:07:21 <tomsmeding> Some haskell lib uses a C lib and passes bytestring buffers unchanged, and the c lib doesn't like null pointers
11:07:22 <timCF> tomsmeding: Yeah, I've already created an issue in github, thanks a lot!
11:07:48 <tomsmeding> timCF: cheers :)
11:07:50 × Matthias1 quits (~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Ping timeout: 268 seconds)
11:08:38 AlexNoo_ joins (~AlexNoo@94.233.240.105)
11:09:14 <timCF> merijn: It's here https://github.com/haskoin/secp256k1-haskell/issues/36
11:09:49 <tomsmeding> timCF: re non-structural equality: 0 and -0 have different floating point bit representations, but they compare equal
11:10:09 chomwitt joins (~chomwitt@athedsl-32301.home.otenet.gr)
11:10:19 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
11:10:25 × AlexZenon quits (~alzenon@178.34.162.152) (Ping timeout: 248 seconds)
11:10:25 × Alex_test quits (~al_test@178.34.162.152) (Ping timeout: 248 seconds)
11:10:52 × markpythonicbitc quits (~markpytho@2601:647:5a00:35:3006:a3cd:9680:110f) (Quit: My MacBook has gone to sleep. ZZZzzz…)
11:11:20 <merijn> And NaN values that have identical bit representation compare inequal :p
11:12:01 × MQ-17J quits (~MQ-17J@8.6.144.209) (Ping timeout: 248 seconds)
11:12:12 × AlexNoo quits (~AlexNoo@178.34.162.152) (Ping timeout: 245 seconds)
11:14:38 <tomsmeding> That too :p
11:15:25 jgeerds joins (~jgeerds@55d45555.access.ecotel.net)
11:15:32 × Pickchea quits (~private@user/pickchea) (Ping timeout: 245 seconds)
11:16:39 Alex_test joins (~al_test@94.233.240.105)
11:16:58 AlexZenon joins (~alzenon@94.233.240.105)
11:21:47 Pickchea joins (~private@user/pickchea)
11:22:49 burnsidesLlama joins (~burnsides@dhcp168-018.wadham.ox.ac.uk)
11:28:02 × burnsidesLlama quits (~burnsides@dhcp168-018.wadham.ox.ac.uk) (Ping timeout: 245 seconds)
11:28:37 <boxscape> I'm fairly certain the answer is no, but can you use Overlapping pragmas for `type instance`s? (For open type families)
11:29:06 <boxscape> I don't have a use case but the phrasing in a blog post saying that you don't need it for closed type families made me wonder
11:29:38 lortabac joins (~lortabac@2a01:e0a:541:b8f0:b0bf:dbe4:8f07:fd4e)
11:34:11 deejaytee joins (~deejaytee@193.46-255-62.static.virginmediabusiness.co.uk)
11:41:27 andrevdm joins (~andre@41.76.35.141)
11:45:44 × a6a45081-2b83 quits (~aditya@223.226.228.68) (Remote host closed the connection)
11:49:13 shriekingnoise joins (~shrieking@186.137.144.80)
11:49:54 jneira60 joins (~jneira@212.8.115.226)
11:51:47 × drd quits (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 245 seconds)
11:51:51 markpythonicbitc joins (~markpytho@50.228.44.6)
11:52:54 × deejaytee quits (~deejaytee@193.46-255-62.static.virginmediabusiness.co.uk) (Ping timeout: 256 seconds)
11:53:07 × jneira quits (~jneira@212.8.115.226) (Ping timeout: 246 seconds)
11:54:43 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
11:59:26 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
11:59:43 shailangsa joins (~shailangs@host86-145-14-24.range86-145.btcentralplus.com)
12:11:12 × andrevdm quits (~andre@41.76.35.141) (Quit: WeeChat 3.2)
12:12:41 Guest|72 joins (~Guest|72@p578b92fd.dip0.t-ipconnect.de)
12:13:03 vysn joins (~vysn@user/vysn)
12:14:14 × Guest|72 quits (~Guest|72@p578b92fd.dip0.t-ipconnect.de) (Client Quit)
12:14:54 × jneira60 quits (~jneira@212.8.115.226) (Quit: Client closed)
12:15:20 jneira60 joins (~jneira60@212.8.115.226)
12:24:30 × vysn quits (~vysn@user/vysn) (Remote host closed the connection)
12:26:09 × Pickchea quits (~private@user/pickchea) (Ping timeout: 268 seconds)
12:26:17 vysn joins (~vysn@user/vysn)
12:34:13 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
12:37:36 × polyphem quits (~polyphem@2a02:810d:640:776c:5ce9:eeb2:9e8b:b083) (Remote host closed the connection)
12:40:25 × shailangsa quits (~shailangs@host86-145-14-24.range86-145.btcentralplus.com) (Remote host closed the connection)
12:42:56 polyphem joins (~polyphem@2a02:810d:640:776c:5ce9:eeb2:9e8b:b083)
12:46:34 alx741 joins (~alx741@181.196.68.193)
12:47:24 Pickchea joins (~private@user/pickchea)
12:47:30 drownbes joins (~drownbes@gprs-inet-183-219.elisa.ee)
12:49:25 × drownbes quits (~drownbes@gprs-inet-183-219.elisa.ee) (Remote host closed the connection)
12:52:45 <shane> Is there any kind of "Free" thing that gives an ArrowApply from any Arrow?
12:53:44 <merijn> Probably not
12:54:16 <merijn> tbh, I'd question the use of Arrow to begin with and *double* question the use of any Arrow that needs ArrowApply
12:54:38 drownbes joins (~igloo@gprs-inet-183-219.elisa.ee)
12:54:53 <merijn> Arrow is a kinda meh abstraction
12:55:59 × drownbes quits (~igloo@gprs-inet-183-219.elisa.ee) (Remote host closed the connection)
12:56:16 <shane> Yeah. So obviously any ArrowApply could just be a Monad
12:56:53 <merijn> If you think you want Arrow, you *probably* want (a combination of) Applicative/Category/Profunctor
12:57:07 <merijn> And if you want ArrowApply, you just want Monad :p
12:57:09 <shane> I obviously have those instances as well
12:57:25 <merijn> Oh, then I wouldn't even bother with Arrow instances
12:57:27 <shane> But the reason I'm using Arrow is because this thing allows a composition that is "faster" than monad composition
12:58:28 <shane> The actual type is more complicated than this, but the essence is basically `newtype Foo m i a = Foo (Either (m a) (i -> m a))`
12:58:33 <merijn> shane: Composition as in Arrow's "arr b c -> arr a b -> arr a c"?
12:58:57 <shane> Yeah. Basically, that can sometimes be `const` for my type
12:59:08 <merijn> shane: Don't you just want Category, then?
12:59:16 <merijn> That already has that composition
12:59:18 <shane> Well I want to use arrow syntax
12:59:42 <merijn> I would recommend you don't, because no one else will understand how the hell to read your code :p
12:59:54 <merijn> I think maybe 3 people in here understand arrow syntax :p
13:00:59 <shane> It's also true that nobody will understand my code if it's just a bunch of `lmap`s and `>>>`
13:01:09 <kuribas> I haven't seen a compelling usecase for arrows, where Applicatives wouldn't work better...
13:01:35 <shane> Well, I believe that I have one
13:03:47 × jgeerds quits (~jgeerds@55d45555.access.ecotel.net) (Ping timeout: 252 seconds)
13:05:00 × jneira60 quits (~jneira60@212.8.115.226) (Quit: Client closed)
13:06:51 × flukiluke quits (~flukiluke@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Remote host closed the connection)
13:07:06 flukiluke joins (~flukiluke@2603:c023:c000:6c7e:8945:ad24:9113:a962)
13:09:40 norias joins (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net)
13:11:47 × phma quits (phma@2001:5b0:211b:9608:8da1:6cde:bf81:5b9c) (Quit: Konversation terminated!)
13:12:33 × hendursa1 quits (~weechat@user/hendursaga) (Quit: hendursa1)
13:12:59 hendursaga joins (~weechat@user/hendursaga)
13:15:32 slowButPresent joins (~slowButPr@user/slowbutpresent)
13:24:27 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
13:24:49 × chomwitt quits (~chomwitt@athedsl-32301.home.otenet.gr) (Ping timeout: 248 seconds)
13:28:09 × Cajun quits (~Cajun@user/cajun) (Quit: Client closed)
13:29:40 × wonko quits (~wjc@62.115.229.50) (Ping timeout: 268 seconds)
13:39:22 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
13:40:07 × mei quits (~mei@user/mei) (Read error: Connection reset by peer)
13:45:05 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 248 seconds)
13:45:41 × nvmd quits (~nvmd@user/nvmd) (Ping timeout: 268 seconds)
13:49:33 × emliunix quits (~emliunix@8.38.148.66) (Remote host closed the connection)
13:49:55 emliunix joins (~emliunix@8.37.43.217)
13:54:54 shapr joins (~user@pool-108-28-144-11.washdc.fios.verizon.net)
13:56:05 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
14:01:14 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
14:06:16 <Arahael> merijn: Every time I come close, I promptly forget what it is! :)
14:09:07 Kirat joins (~Gill@103.217.122.17)
14:11:38 slack1256 joins (~slack1256@181.203.4.196)
14:16:23 mc47 joins (~mc47@xmonad/TheMC47)
14:19:20 × jespada quits (~jespada@90.254.247.46) (Quit: My MacBook has gone to sleep. ZZZzzz…)
14:22:23 × Kirat quits (~Gill@103.217.122.17) (Remote host closed the connection)
14:22:25 Kirat_ joins (~Gill@157.39.46.3)
14:23:11 × Kirat_ quits (~Gill@157.39.46.3) (Client Quit)
14:24:09 mattil joins (~mattilinn@87-92-39-170.bb.dnainternet.fi)
14:24:30 Kirat joins (~Gill@103.217.122.17)
14:25:14 × mattil quits (~mattilinn@87-92-39-170.bb.dnainternet.fi) (Remote host closed the connection)
14:25:37 mattil joins (~mattilinn@87-92-39-170.bb.dnainternet.fi)
14:26:33 × Kirat quits (~Gill@103.217.122.17) (Client Quit)
14:26:57 jespada joins (~jespada@90.254.247.46)
14:27:16 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
14:28:47 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
14:30:09 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
14:32:25 <janus> does anyone know any alternatively licensed versions of inverseMap from relude? our library is BSD licensed, and relude is MIT. i feel like it could be age-old folklore, maybe there are other versions
14:35:47 drownbes joins (~igloo@gprs-inet-183-219.elisa.ee)
14:36:33 <tomsmeding> :t \f -> let m = M.fromListWith (error "non-injective") [(f x, x) <- [minBound..maxBound]] in \y -> M.lookup y m
14:36:34 <lambdabot> error:
14:36:34 <lambdabot> parse error on input ‘<-’
14:36:34 <lambdabot> Perhaps this statement should be within a 'do' block?
14:36:46 Sgeo joins (~Sgeo@user/sgeo)
14:36:56 <tomsmeding> :t \f -> let m = M.fromListWith (error "non-injective") [(f x, x) | x <- [minBound..maxBound]] in \y -> M.lookup y m
14:36:58 <lambdabot> (Ord k, Bounded a, Enum a) => (a -> k) -> k -> Maybe a
14:37:07 × drownbes quits (~igloo@gprs-inet-183-219.elisa.ee) (Client Quit)
14:37:39 <janus> tomsmeding: thanks, what's the license ? ;)
14:37:43 <tomsmeding> janus: wrote this without looking at relude sources; I publish it in the public domain :p
14:38:04 <janus> amazing, thanks :D
14:38:08 <tomsmeding> Check that it has the right behaviour though
14:38:26 <tomsmeding> Like, check that from the second call onward it's fast
14:39:18 wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com)
14:39:23 <janus> well if it has a map on the scope immediatly inside the function. surely it can't be different than relude's if also use INLINE
14:39:34 <janus> but better crack open core, i guess
14:39:49 <tomsmeding> Just test it :p
14:40:14 <boxscape> (I usually do [minBound..] instead of [minBound..maxBound])
14:40:59 <tomsmeding> Right, because enumFrom can potentially be faster than enumFromTo
14:41:01 <tomsmeding> Good call
14:41:15 <boxscape> I mostly do it because It's shorter but I guess that's not a bad reason either :P
14:41:33 <boxscape> though I'm not sure if it really is faster
14:42:46 wonko joins (~wjc@62.115.229.50)
14:44:37 <tomsmeding> Lol the enumFrom of Word32 is (indirectly) defined as the same as enumFromTo with maxBound
14:44:56 <boxscape> yeah I was looking at -ddump-deriv, it's much the same
14:45:05 <tomsmeding> They use these functions at the bottom of the file https://hackage.haskell.org/package/base-4.15.0.0/docs/src/GHC-Real.html#integralEnumFrom
14:45:14 <boxscape> even if you don't have a Bounded instance it calls enumFromTo $maxtag
14:47:55 <tomsmeding> boxscape: that would depend on how the instance in question implements enumFrom, right?
14:48:05 <tomsmeding> The default implementation is bonkers for bounded types
14:48:27 <boxscape> right, what I mean is that's the enumFrom instance if you write deriving Enum
14:48:32 <merijn> Enum is a bonkers and bad class anyway
14:48:36 × wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
14:48:41 <boxscape> s/instance/implementation
14:48:42 <merijn> Fire into the sun, plx
14:48:53 <tomsmeding> boxscape: the default implementation of enumFrom is enumFrom x = map toEnum [fromEnum x ..]
14:49:03 <tomsmeding> Which is going to beautifully error out for bounded types
14:49:25 <tomsmeding> (which the docs also say)
14:49:26 <boxscape> yep though luckily it's not used if you derive Enum
14:49:43 <tomsmeding> Ooh _deriving_ Enum, I see
14:50:43 <tomsmeding> merijn: what's your suggestion for a replacement? Split off fromEnum/toEnum into a separate class?
14:51:13 × Boomerang quits (~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 248 seconds)
14:51:38 tchakka_ is now known as tchakka
14:52:01 <merijn> tomsmeding: 1) get rid of the mapping to ints, it leads to all sorts of bad code, 2) have separate classes for bounded and unbounded types
14:52:16 <merijn> 3) nuke "instance Enum Double" from orbit
14:52:29 <tomsmeding> Lol can back 3
14:52:34 <merijn> tomsmeding: Why do we have/need fromEnum/toEnum to begin with?
14:52:51 <tomsmeding> Although... It's terribly convenient for one-off oneliners
14:52:58 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 240 seconds)
14:53:24 <tomsmeding> But I agree
14:53:41 nvmd joins (~nvmd@user/nvmd)
14:54:01 <tomsmeding> Eh, map fromIntegral [a..b] is fine as a replacement of Enum Double for oneliners
14:54:26 × curiousgay quits (~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 272 seconds)
14:55:00 waleee joins (~waleee@h-98-128-228-119.NA.cust.bahnhof.se)
14:56:14 <tomsmeding> Unrelated, why does this exist: instance a ~ b => Bounded (a :~: b)
14:56:30 <tomsmeding> I can't imagine a usecase
14:58:38 × ldlework quits (~hexeme@user/hexeme) (Quit: co'o ro do)
14:59:06 ec joins (~ec@gateway/tor-sasl/ec)
14:59:38 <boxscape> I imagine the it's there for lack of a reason not to provide it
14:59:50 <kuribas> > [minbound..] :: Bool
14:59:51 <lambdabot> error:
14:59:51 <lambdabot> • Variable not in scope: minbound
14:59:51 <lambdabot> • Perhaps you meant ‘minBound’ (imported from Prelude)
14:59:55 <kuribas> > [minBound..] :: Bool
14:59:57 <lambdabot> error:
14:59:57 <lambdabot> • Couldn't match expected type ‘Bool’ with actual type ‘[a0]’
14:59:57 <lambdabot> • In the expression: [minBound .. ] :: Bool
15:00:00 <kuribas> > [minBound..] :: [Bool]
15:00:02 <lambdabot> [False,True]
15:00:03 Tuplanolla joins (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi)
15:02:12 hexeme joins (~hexeme@user/hexeme)
15:03:23 × Vq quits (~vq@90-227-195-41-no77.tbcn.telia.com) (Ping timeout: 268 seconds)
15:03:44 Vq joins (~vq@90-227-195-41-no77.tbcn.telia.com)
15:06:34 × theproffesor quits (~theproffe@user/theproffesor) (Ping timeout: 240 seconds)
15:08:10 <boxscape> % type (:) = Either
15:08:10 <yahb> boxscape: ; <interactive>:3:6: error: Malformed head of type or class declaration: (:)
15:08:19 <boxscape> hm I don't really see why this is not allowed
15:09:18 chomwitt joins (~chomwitt@athedsl-32301.home.otenet.gr)
15:10:10 × infinity0 quits (~infinity0@occupy.ecodis.net) (Ping timeout: 268 seconds)
15:10:21 × alx741 quits (~alx741@181.196.68.193) (Quit: alx741)
15:11:29 × Guest8182 quits (~chris@81.96.113.213) (Remote host closed the connection)
15:12:38 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:b0bf:dbe4:8f07:fd4e) (Quit: WeeChat 2.8)
15:12:43 jumper149 joins (~jumper149@80.240.31.34)
15:13:00 <tomsmeding> % type (::) = Either
15:13:00 <yahb> tomsmeding: ; <interactive>:5:7: error: parse error on input `::'
15:13:20 <tomsmeding> % typw (:!!) = Either
15:13:20 <yahb> tomsmeding: ; <interactive>:6:6: error:; Not in scope: data constructor `:!!'; Perhaps you meant variable `!!' (imported from Prelude)
15:13:32 <tomsmeding> % type (:!!) = Either
15:13:32 <yahb> tomsmeding:
15:13:45 <tomsmeding> Four similar lines, for different responses
15:16:11 thyriaen joins (~thyriaen@dynamic-078-055-014-077.78.55.pool.telefonica.de)
15:16:16 <tomsmeding> boxscape: isn't the point that type-level operators starting with : are "lowercase operators" and those that do not "uppercase operators"
15:16:20 chris joins (~chris@81.96.113.213)
15:16:23 chris is now known as Guest5293
15:16:29 <tomsmeding> Wait no that makes no sense, ignore
15:17:03 Guest84 joins (~Guest84@2406:3003:2006:447e:9d85:ae5b:bc5f:9191)
15:17:08 <janus> can you really override (:) ? i thought it was special
15:17:20 <geekosaur> so did I tbh
15:17:21 <janus> % let (:) :: Int = 5
15:17:21 <yahb> janus: ; <interactive>:8:5: error:; * The constructor `:' should have 2 arguments, but has been given none; * In the pattern: (:); In the pattern: (:) :: Int; In a pattern binding: (:) :: Int = 5; <interactive>:8:5: error:; * Couldn't match expected type `Int' with actual type `[a0]'; * In the pattern: (:); In the pattern: (:) :: Int; In a pattern binding: (:) :: Int = 5
15:17:24 <boxscape> it is special but I don't see why it needs to be
15:17:40 <boxscape> on the term level, fine
15:17:48 <boxscape> but on the type level it shouldn't need to be special
15:17:55 <boxscape> unless I'm missing something
15:17:58 <boxscape> which is quite possible
15:18:22 <tomsmeding> I guess the specialness is lifted because of DataKinds
15:18:43 <boxscape> time to track down a pre-DataKinds ghc version to see if it was special then
15:19:20 <tomsmeding> That would be an old ghc
15:20:42 wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com)
15:20:52 × Guest5293 quits (~chris@81.96.113.213) (Ping timeout: 256 seconds)
15:21:08 <boxscape> actually though if it's valid Haskell98 it should still work with today's GHC unless it's mentioned in the known bugs and infelicities section
15:21:46 <tomsmeding> TIL the datakinds ' doesn't need to be attached to the name; ' A is a fine promoted A
15:22:03 <tomsmeding> https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/exts/data_kinds.html#distinguishing-between-types-and-constructors
15:22:25 <boxscape> -Wno-unticked-promoted-constructors is one of the first things I enable usually
15:22:33 <boxscape> so ghc doesn't tell me to use ticks
15:22:40 <boxscape> oh wait
15:22:45 <boxscape> I misunderstood what you wrote
15:23:32 <tomsmeding> Yeah I was writing about the allowed space
15:24:00 <tomsmeding> And the horrible syntax ' A'
15:24:03 infinity0 joins (~infinity0@occupy.ecodis.net)
15:24:21 <boxscape> ah, nice
15:25:21 × ubert quits (~Thunderbi@178.165.160.157.wireless.dyn.drei.com) (Ping timeout: 248 seconds)
15:27:37 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
15:28:37 × Vajb quits (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
15:29:23 Matthias1 joins (~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
15:32:30 ubert joins (~Thunderbi@178.165.183.198.wireless.dyn.drei.com)
15:33:31 doyougnu joins (~user@c-73-25-202-122.hsd1.or.comcast.net)
15:35:16 × mc47 quits (~mc47@xmonad/TheMC47) (Read error: Connection reset by peer)
15:35:29 burnsidesLlama joins (~burnsides@dhcp168-018.wadham.ox.ac.uk)
15:36:33 × ubert quits (~Thunderbi@178.165.183.198.wireless.dyn.drei.com) (Ping timeout: 248 seconds)
15:37:08 oxide joins (~lambda@user/oxide)
15:38:43 ec joins (~ec@gateway/tor-sasl/ec)
15:38:43 × thyriaen quits (~thyriaen@dynamic-078-055-014-077.78.55.pool.telefonica.de) (Quit: Leaving)
15:38:50 <boxscape> alas, the whitespace between tick and constructor can't include a newline
15:39:42 × burnsidesLlama quits (~burnsides@dhcp168-018.wadham.ox.ac.uk) (Ping timeout: 245 seconds)
15:40:00 × wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:41:38 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
15:42:55 ubert joins (~Thunderbi@77.119.168.246.wireless.dyn.drei.com)
15:47:50 × Matthias1 quits (~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Remote host closed the connection)
15:48:33 fjvallarino joins (~fjvallari@186.136.54.215)
15:48:54 kor1 joins (~kor1@user/kor1)
15:49:20 × chomwitt quits (~chomwitt@athedsl-32301.home.otenet.gr) (Ping timeout: 252 seconds)
15:51:12 amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
15:51:13 Matthias1 joins (~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
15:56:44 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
15:58:16 × norias quits (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Ping timeout: 268 seconds)
15:59:21 × Matthias1 quits (~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Remote host closed the connection)
15:59:40 × wonko quits (~wjc@62.115.229.50) (Ping timeout: 272 seconds)
16:02:38 norias joins (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net)
16:02:40 lbseale joins (~lbseale@user/ep1ctetus)
16:05:21 <tomsmeding> boxscape: not sure how "alas" that is
16:05:51 <boxscape> it depends on how exciting you want your code to be to unsuspecting readers
16:05:52 Matthias1 joins (~Matthias1@2603-8001-b545-4900-756a-c676-ad1d-a3a6.res6.spectrum.com)
16:05:53 <geekosaur> yeh, that just sounds li8ke a way t confuse the reader
16:06:23 <geekosaur> remember that also means you in 6b months
16:06:38 × ubert quits (~Thunderbi@77.119.168.246.wireless.dyn.drei.com) (Ping timeout: 272 seconds)
16:07:39 burnsidesLlama joins (~burnsides@dhcp168-018.wadham.ox.ac.uk)
16:07:59 × agua_pesada quits (~agua_pesa@2804:14c:8793:8e2f:311f:1da6:1cf6:61ea) (Read error: Connection reset by peer)
16:08:00 × markpythonicbitc quits (~markpytho@50.228.44.6) (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:08:30 ubert joins (~Thunderbi@77.119.168.246.wireless.dyn.drei.com)
16:09:02 × MidAutumnMoon quits (~MidAutumn@user/midautumnmoon) (Quit: Leaving for a break - theLounge)
16:09:12 MidAutumnMoon joins (~MidAutumn@user/midautumnmoon)
16:11:05 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
16:11:09 curiousgay joins (~curiousga@77-120-186-48.kha.volia.net)
16:11:18 × xff0x quits (~xff0x@2001:1a81:5238:9600:357e:7c22:5b05:e9dc) (Ping timeout: 256 seconds)
16:11:23 <kuribas> Why does <*> needs to be the same as `ap`?
16:11:43 <kuribas> Wouldn't it make more sense then to have `ap` in the monad class, so it can be paralellized?
16:11:47 xff0x joins (~xff0x@2001:1a81:5238:9600:4e29:abec:ca9f:ff16)
16:12:03 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
16:13:41 × ubert quits (~Thunderbi@77.119.168.246.wireless.dyn.drei.com) (Ping timeout: 268 seconds)
16:13:41 × burnsidesLlama quits (~burnsides@dhcp168-018.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
16:13:47 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
16:15:01 Vajb joins (~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
16:15:19 <kuribas> I just feel some of these "laws" are very "arbitrary".
16:15:57 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
16:15:59 <geekosaur> I think that's just so you can backform an Applicative for an existing Monad by setting <*> = ap
16:16:25 <geekosaur> having toi do with the transitional days of AMP
16:16:46 × dermato quits (~dermatobr@154.21.23.75) (Ping timeout: 272 seconds)
16:17:28 __monty__ joins (~toonn@user/toonn)
16:17:43 <kuribas> right
16:19:27 <geekosaur> also, you can't in general parallelize a Monad, can you?
16:23:00 ec joins (~ec@gateway/tor-sasl/ec)
16:23:39 seiryn joins (~seiryn@2a01cb0409c990003ccf6635f6976a70.ipv6.abo.wanadoo.fr)
16:26:31 <tomsmeding> geekosaur: if ap was defined as <*>, you could potentially parallelise ap
16:26:40 <kuribas> geekosaur: no
16:26:51 chris joins (~chris@81.96.113.213)
16:26:54 chris is now known as Guest2327
16:28:33 dermato joins (~dermatobr@154.21.23.75)
16:28:58 markpythonicbitc joins (~markpytho@2600:380:846c:ec0b:a0cc:2cb7:7089:4f8)
16:29:48 pschorf joins (~user@c-73-77-28-188.hsd1.tx.comcast.net)
16:29:54 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
16:29:54 allbery_b joins (~geekosaur@xmonad/geekosaur)
16:29:57 allbery_b is now known as geekosaur
16:31:08 × Guest2327 quits (~chris@81.96.113.213) (Ping timeout: 252 seconds)
16:31:10 <seiryn> Can we ask for help on this channel ?
16:31:19 <geekosaur> sure
16:32:50 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
16:33:57 × fjvallarino quits (~fjvallari@186.136.54.215) (Quit: Leaving...)
16:34:22 × Vq quits (~vq@90-227-195-41-no77.tbcn.telia.com) (Read error: Connection reset by peer)
16:34:28 <lechner> Hi, I am having a small love affair with yi, the editor. Why was that project abandoned, please? Also, why doesn't Ctrl-y (yank) work over ssh?
16:35:05 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
16:35:20 <dsal> Because you should be using mosh, obviously. :P
16:35:53 <geekosaur> check terminal settings, ctrl-y at least used to be delayed suspend
16:36:21 <dsal> Projects are hard to keep up with. Some of us make hundreds of them to solve small problems and then get lonely because that sort of of application doesn't get a lot of traction.
16:36:56 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 26.3))
16:36:56 <geekosaur> yeh, I think they just ran out of people willing to put in time on it
16:37:34 <geekosaur> and there are already lots of editors
16:37:46 <geekosaur> they're competing with neovim, for example
16:38:22 <seiryn> Aaah nevermind, while trying to be sure about the name of the syntax i realised that i missed a language expension huhu
16:39:09 Vq joins (~vq@90-227-195-41-no77.tbcn.telia.com)
16:39:15 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
16:40:50 × markpythonicbitc quits (~markpytho@2600:380:846c:ec0b:a0cc:2cb7:7089:4f8) (Ping timeout: 272 seconds)
16:41:47 <lechner> geekosaur: on Debian, yi is the only lightweight emacs clone that supports Unicode. There is nothing like it. I even thought about suggesting it to Linus Thorvalds as a replacement for MicroEmacs, which he compiles himself because it cannot be distributed https://www.emacswiki.org/emacs/MicroEmacs
16:42:58 wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com)
16:44:19 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
16:47:00 × vysn quits (~vysn@user/vysn) (Ping timeout: 256 seconds)
16:50:19 × Clint quits (~Clint@user/clint) (Quit: leaving)
16:50:29 Clint joins (~Clint@user/clint)
16:53:20 <sm> emacs clone ? I thought it was more vi like
16:54:24 <shapr> I thought it was both?
16:55:05 <Clint> different keybinding sets do not a clone make
16:55:27 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
16:56:46 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
16:56:51 <sm> https://github.com/yi-editor/yi/issues/1114
17:01:30 × nvmd quits (~nvmd@user/nvmd) (Quit: Later, nerds.)
17:01:38 econo joins (uid147250@user/econo)
17:03:02 × xff0x quits (~xff0x@2001:1a81:5238:9600:4e29:abec:ca9f:ff16) (Ping timeout: 245 seconds)
17:03:58 xff0x joins (~xff0x@2001:1a81:5238:9600:abd9:7ea2:c2a4:a5eb)
17:04:11 jakalx joins (~jakalx@base.jakalx.net)
17:06:26 ec joins (~ec@gateway/tor-sasl/ec)
17:13:57 zebrag joins (~chris@user/zebrag)
17:15:39 justsomeguy joins (~justsomeg@user/justsomeguy)
17:17:43 Erutuon joins (~Erutuon@user/erutuon)
17:18:25 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
17:20:25 × Matthias1 quits (~Matthias1@2603-8001-b545-4900-756a-c676-ad1d-a3a6.res6.spectrum.com) (Remote host closed the connection)
17:21:05 Matthias1 joins (~Matthias1@2603-8001-b545-4900-756a-c676-ad1d-a3a6.res6.spectrum.com)
17:22:27 × kritzefitz quits (~kritzefit@picard.host.weltraumschlangen.de) (Quit: ZNC 1.7.2+deb3 - https://znc.in)
17:22:58 × Matthias1 quits (~Matthias1@2603-8001-b545-4900-756a-c676-ad1d-a3a6.res6.spectrum.com) (Remote host closed the connection)
17:23:08 Matthias1 joins (~Matthias1@2603-8001-b545-4900-756a-c676-ad1d-a3a6.res6.spectrum.com)
17:23:53 mc47 joins (~mc47@xmonad/TheMC47)
17:23:54 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
17:25:13 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
17:30:05 denbrahe[m] joins (~denbrahem@2001:470:69fc:105::19c0)
17:30:47 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
17:31:19 <dsal> Yeah, if you use emacs and someone has a "great modern editor" that's much better and also has emacs key bindings, you'll generally be very disappointed. Key bindings are a minor part of emacs.
17:31:41 <dsal> (which is also architecturally ancient and would be great if something actually *could* replace it, but there have been few attempts)
17:32:10 × Matthias1 quits (~Matthias1@2603-8001-b545-4900-756a-c676-ad1d-a3a6.res6.spectrum.com) ()
17:34:17 × slack1256 quits (~slack1256@181.203.4.196) (Ping timeout: 245 seconds)
17:34:53 <geekosaur> supposedly gnu wants to redo emacs based on guile, but they sure are taking a long time to do it
17:35:01 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
17:35:10 <monochrom> Hell, they still haven't finished Hurd. >:)
17:35:14 slack1256 joins (~slack1256@181.203.118.120)
17:35:26 geekosaur joins (~geekosaur@xmonad/geekosaur)
17:35:56 <monochrom> And I thought I was the greatest procrastinator especially when it comes to finishing and delivery.
17:37:49 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
17:38:10 <dsal> Yeah, I guess one of the hard things is that emacs to me is all the modes I run which would be unlikely to work under guile.
17:38:39 azeem joins (~azeem@176.200.230.183)
17:38:55 <dminuoso> geekosaur: To be fair, "redoing emacs in <insert-language>" is a very popular hobby..
17:39:25 <dminuoso> I wouldn't be surprised if someone has done emacs in elisp - because why not run an editor inside your editor.
17:40:22 <dsal> emacs is mostly just an elisp program already
17:40:23 <geekosaur> worse than that, I think. iirc someone implemented TECO in elisp, then ran the original emacs in it to show how complete it was
17:41:24 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
17:42:10 <monochrom> That's pretty deep and ironic inception. :)
17:43:38 chomwitt joins (~chomwitt@athedsl-32301.home.otenet.gr)
17:46:22 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds)
17:48:45 ec joins (~ec@gateway/tor-sasl/ec)
17:50:17 wonko joins (~wjc@62.115.229.50)
17:54:22 <justsomeguy> I'm writing a simple tool to list broken links on a webpage, given a url. Is there any reason not to use Network.HTTP? I vaguely recall getting errors about not being able to retrieve urls that use HTTPS, but can't seem to replicate it.
17:55:19 <justsomeguy> I thought I'd ask now, while my program is still small, before I've commited to using a particular library.
17:55:27 × azeem quits (~azeem@176.200.230.183) (Ping timeout: 268 seconds)
17:55:28 kritzefitz joins (~kritzefit@picard.host.weltraumschlangen.de)
17:56:41 × epolanski quits (uid312403@id-312403.brockwell.irccloud.com) (Quit: Connection closed for inactivity)
17:58:16 martyall joins (~martyall@066-241-088-129.dynamic.ashlandfiber.net)
17:58:50 chris joins (~chris@81.96.113.213)
17:58:53 chris is now known as Guest9451
17:59:10 <justsomeguy> Actually, I think that was a dumb question. I'll figure it out with some experimentation.
17:59:40 azeem joins (~azeem@176.200.230.183)
18:02:21 × hgolden quits (~hgolden2@cpe-172-114-84-61.socal.res.rr.com) (Remote host closed the connection)
18:03:45 × oxide quits (~lambda@user/oxide) (Ping timeout: 248 seconds)
18:05:30 hgolden joins (~hgolden2@cpe-172-114-84-61.socal.res.rr.com)
18:05:39 oxide joins (~lambda@user/oxide)
18:08:57 vysn joins (~vysn@user/vysn)
18:10:08 <seiryn> Hmmmm, vim syntax highlighting mess up with quasiquote
18:11:58 <dminuoso> I guess syntax highlighting is complicated to do right in Haskell, in particular in the presence of language extensions.
18:12:01 notzmv joins (~zmv@user/notzmv)
18:12:24 <dminuoso> It seems like you cant reasonably do this well and consistently unless you use ghc-lib
18:15:06 <maerwald[m]> seiryn: haha, quasiquotes also break hlint, HLS and hasktags
18:15:29 <maerwald[m]> Depending on how you use them
18:15:56 <seiryn> Quasiquotes, what do you want to destroy ? YES
18:16:08 kspalaiologos joins (~kspalaiol@user/kspalaiologos)
18:19:15 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
18:19:27 <seiryn> What i found is : if you put a string (I.E : something between quote) in quasiquote vim highlight it like a string, but except if it's an expression quasiquote it's not parsed like a string so the highlighting isn't relevant
18:19:54 <seiryn> And it's ugly when you have random quote in your quasiquote
18:22:25 × dyeplexer quits (~dyeplexer@user/dyeplexer) (Ping timeout: 248 seconds)
18:22:46 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
18:24:10 <monochrom> Most highlighters are poorly done.
18:24:54 <monochrom> And I mean criminally negligently done.
18:25:00 <seiryn> Yeaaaah
18:25:32 <seiryn> My eyes : https://i.imgur.com/aaPQ6be.png
18:26:03 <dminuoso> monochrom: Is there research into how this could be done intelligently? I mean if you bindly toss ghc-lib at it, you will get no highlighting on any syntax error.
18:26:11 <monochrom> 99% of string literals are one-line-only, right? And for the 1% that spans multiple lines, the programmer must put some special escape code at the end of each line, right? This is practically true of all languages ever, right?
18:26:53 <yushyin> seiryn: maybe nvim-treesitter does a better job?
18:27:17 <monochrom> So a highlighter that sees an opening quote character and goes into "this is a char/string literal" mode, it stands to reason to at least exit that mode upon newline, right?
18:27:22 <seiryn> yushyin : i don't know but i hope because i can't code in those condition
18:27:27 ubert joins (~Thunderbi@77.119.168.246.wireless.dyn.drei.com)
18:28:41 <monochrom> So I do not mean that a highlighter needs to be intelligent. Regex and FSA are fine, I respect that.
18:28:59 <monochrom> I mean that their authors are criminally dumb.
18:29:01 <seiryn> dminuoso : The default syntax highlighting of vim is very dumb, it doesn't even involve a syntax tree
18:29:41 <dminuoso> seiryn: Did you consider using a custom vim script?
18:29:45 <dminuoso> Perhaps https://github.com/neovimhaskell/haskell-vim ?
18:30:17 <monochrom> Like what fantasy world do they live in such that if they see an opening quote character and then if it isn't closed by the end of that same line they just assume that nothing has gone wrong?
18:30:26 Cajun joins (~Cajun@user/cajun)
18:30:26 <dminuoso> monochrom: I can think a ton of reasons to be criminaly dumb on purpose in a highlighter
18:30:29 ec joins (~ec@gateway/tor-sasl/ec)
18:30:30 <dminuoso> Consider a highlighter in emacs lisp.
18:30:54 <yushyin> seiryn: https://paste.xinu.at/7Li/
18:30:58 <dminuoso> Naive approaches quickly generate high amounts of objects, which can cause GC issues
18:32:04 <monochrom> Well that's the other kind of criminally dumb in terms of even asymptotic costs.
18:32:21 <seiryn> yushyin : Thanks
18:32:24 <monochrom> It's why I respect choosing regexes and FSA and KISS
18:32:43 <monochrom> But within that framework, the problem of runaway string literals is trivial to solve.
18:32:45 <seiryn> Hmmmmm
18:32:52 <seiryn> I try something with the syntax file
18:32:58 <monochrom> or at least s/solve/mitigate/
18:37:22 × norias quits (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Ping timeout: 268 seconds)
18:37:53 × wonko quits (~wjc@62.115.229.50) (Ping timeout: 248 seconds)
18:39:13 × sander quits (~sander@user/sander) (Read error: Connection reset by peer)
18:39:40 sander joins (~sander@user/sander)
18:40:46 × azeem quits (~azeem@176.200.230.183) (Read error: Connection reset by peer)
18:41:00 azeem joins (~azeem@dynamic-adsl-84-220-236-17.clienti.tiscali.it)
18:42:33 JavierNeira[m] joins (~jneiramat@2001:470:69fc:105::d729)
18:47:32 × ubert quits (~Thunderbi@77.119.168.246.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
18:50:28 hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com)
18:53:38 × vysn quits (~vysn@user/vysn) (Remote host closed the connection)
18:56:13 <seiryn> Yeah so you can easily mitigate the problem but vim-treesitter is better
18:58:40 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
18:59:39 × kritzefitz quits (~kritzefit@picard.host.weltraumschlangen.de) (Quit: ZNC 1.7.2+deb3 - https://znc.in)
18:59:53 kritzefitz joins (~kritzefit@picard.host.weltraumschlangen.de)
19:00:03 jneira[m] joins (~jneira@242.red-176-87-52.dynamicip.rima-tde.net)
19:00:39 × slack1256 quits (~slack1256@181.203.118.120) (Remote host closed the connection)
19:01:21 × yoctocell quits (~user@h87-96-130-155.cust.a3fiber.se) (Ping timeout: 248 seconds)
19:01:26 <tomsmeding> monochrom: "I mean that their authors are criminally dumb." -- that's kind of criminally rude
19:02:16 × hendursaga quits (~weechat@user/hendursaga) (Remote host closed the connection)
19:03:10 <tomsmeding> The wonder of open source is that the non-criminally-dumb people can help the criminally-dumb people out in making better software ;)
19:03:13 × adanwan_ quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
19:03:27 × kspalaiologos quits (~kspalaiol@user/kspalaiologos) (Quit: Leaving)
19:05:06 hendursaga joins (~weechat@user/hendursaga)
19:05:14 <monochrom> What if the dumb people outvote the non-dumb people? This has happened before. Good PRs are rejected by stubborn authors every once in a while.
19:06:12 × martyall quits (~martyall@066-241-088-129.dynamic.ashlandfiber.net) (Remote host closed the connection)
19:06:26 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
19:06:45 <tomsmeding> At which point you can fork :)
19:07:29 <tomsmeding> I'm not disagreeing with you, just disagreeing with the wording "criminally dumb"
19:07:34 <tomsmeding> But I'll stop :p
19:08:17 <monochrom> I don't make that kind of strong accusations lightly.
19:09:10 <monochrom> Someone who writes a highlighter for the first time, if they haven't thought of the issue I explained, I wouldn't be complaining. It is not an obvious issue for a first-timer.
19:09:21 × kritzefitz quits (~kritzefit@picard.host.weltraumschlangen.de) (Quit: ZNC 1.7.2+deb3 - https://znc.in)
19:11:39 <monochrom> But a highlighter that has been in production use for 10 years? During which you have seen the runaway string literal problem show up a million times? During which you have learned that there are languages that use unmatched quote characters to stand for something other than string/char literals and so one should do at least a tiny little bit of mitigation? And I just mean mitigation, damage control, you don't have to fully solve the problem?
19:12:07 kritzefitz joins (~kritzefit@picard.host.weltraumschlangen.de)
19:12:28 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
19:13:35 martyall joins (~martyall@097-090-118-246.res.spectrum.com)
19:13:41 <monochrom> And in the context of "I use a simple regex because it is right for 90% of the cases, that's good enough", and then here we see that it is wrong for 90% of the cases?
19:14:10 <monochrom> And the simple fix is simply adding one small thing to your existing regex?
19:14:24 <monochrom> And after all those 10 years the author still hasn't acted?
19:14:26 <dolio> monochrom: Maybe they're highlighting Haskell.
19:14:39 <dolio> "This is valid on a single line\
19:14:56 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
19:15:08 <monochrom> I have already covered that from two sides.
19:15:13 <dolio> :)
19:15:17 × auri quits (~admin@static.46.108.40.188.clients.your-server.de) (Changing host)
19:15:17 auri joins (~admin@fsf/member/auri)
19:15:28 <tomsmeding> monochrom: what if the author hasn't acted? Well, you ask them to act :p
19:16:04 <tomsmeding> Not acting is not criminal, and only implies dumbness if there are no external considerations
19:16:22 <tomsmeding> Chris Done hasn't fixed a lot of bugs in ircbrowse, but is he dumb? I assume not :p
19:16:41 <dolio> Not acting can be criminal.
19:17:17 <tomsmeding> You don't have the author on contract for fixing stuff; if you do and they don't, then criminality enters the picture
19:17:48 <dolio> I think that would be civil.
19:17:53 × martyall quits (~martyall@097-090-118-246.res.spectrum.com) (Ping timeout: 248 seconds)
19:17:58 <tomsmeding> But maybe I'm too much of a sheltered homeboy that gets scared at strong language :p
19:18:08 × wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:18:16 <tomsmeding> dolio: indeed, even then :p
19:19:19 <dolio> I tried writing vim highlighting that correctly recognized bad Haskell strings and it was pretty difficult.
19:19:40 × jneira[m] quits (~jneira@242.red-176-87-52.dynamicip.rima-tde.net) (Remote host closed the connection)
19:20:06 <dolio> Probably not as difficult as correctly recognizing other stuff in vi, though.
19:20:14 <dolio> Vim, even.
19:20:19 × mattil quits (~mattilinn@87-92-39-170.bb.dnainternet.fi) (Quit: Leaving)
19:21:20 geekosaur flashes back totrying to hack around early cperl-mode bugs
19:23:13 <dolio> The problem is that Vim has a system that seems like it should allow you to do some amount of hierarchical and context sensitive parsing, but in practice the features have really weird interactions that make it very difficult to actually parse anything.
19:24:55 tomsmeding 's only knowledge about vim highlighting rules comes from at some point trying to ad-hoc understand enough to change a regex somewhere
19:26:03 <tomsmeding> Also neither sublime text's nor vim's standard LaTeX highlighting works correctly with % within \verb| | blocks or math snippets
19:27:12 × azeem quits (~azeem@dynamic-adsl-84-220-236-17.clienti.tiscali.it) (Ping timeout: 245 seconds)
19:27:52 azeem joins (~azeem@176.200.230.183)
19:29:48 burnsidesLlama joins (~burnsides@dhcp168-018.wadham.ox.ac.uk)
19:31:42 cole36 joins (~cole@2601:600:8180:f3a0:435:b2d0:6cf:edf)
19:31:49 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
19:34:22 × burnsidesLlama quits (~burnsides@dhcp168-018.wadham.ox.ac.uk) (Ping timeout: 272 seconds)
19:36:06 martyall joins (~martyall@097-090-118-246.res.spectrum.com)
19:36:12 norias joins (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net)
19:39:08 jakalx joins (~jakalx@base.jakalx.net)
19:39:38 × martyall quits (~martyall@097-090-118-246.res.spectrum.com) (Remote host closed the connection)
19:41:47 wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com)
19:42:08 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
19:46:19 × cole36 quits (~cole@2601:600:8180:f3a0:435:b2d0:6cf:edf) (Quit: Client closed)
19:47:23 × dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.2)
19:49:34 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
19:52:18 × norias quits (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Ping timeout: 256 seconds)
19:58:39 martyall joins (~martyall@097-090-118-246.res.spectrum.com)
20:00:20 × azeem quits (~azeem@176.200.230.183) (Ping timeout: 272 seconds)
20:05:20 × juhp quits (~juhp@128.106.188.220) (Ping timeout: 256 seconds)
20:05:45 azeem joins (~azeem@176.200.230.183)
20:05:46 obs\ joins (~obscur1ty@user/obs/x-5924898)
20:06:46 markpythonicbitc joins (~markpytho@2601:647:5a00:35:e049:539d:ba89:3861)
20:06:48 juhp joins (~juhp@128.106.188.220)
20:07:07 skykanin joins (~skykanin@115.81-166-221.customer.lyse.net)
20:10:00 × emliunix quits (~emliunix@8.37.43.217) (Remote host closed the connection)
20:10:22 emliunix joins (~emliunix@8.37.43.217)
20:12:16 berberman_ joins (~berberman@user/berberman)
20:13:06 × michalz quits (~michalz@185.246.204.61) (Remote host closed the connection)
20:13:47 × berberman quits (~berberman@user/berberman) (Ping timeout: 268 seconds)
20:20:49 × azeem quits (~azeem@176.200.230.183) (Ping timeout: 248 seconds)
20:21:42 azeem joins (~azeem@176.200.230.183)
20:21:46 × skykanin quits (~skykanin@115.81-166-221.customer.lyse.net) (Quit: WeeChat 3.2)
20:26:09 × azeem quits (~azeem@176.200.230.183) (Ping timeout: 248 seconds)
20:27:24 × wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:27:56 drownbes joins (~igloo@79-206-50-195.sta.estpak.ee)
20:29:13 × drownbes quits (~igloo@79-206-50-195.sta.estpak.ee) (Client Quit)
20:32:09 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
20:33:37 wonko joins (~wjc@62.115.229.50)
20:33:38 Pickchea joins (~private@user/pickchea)
20:33:59 azeem joins (~azeem@176.200.230.183)
20:34:12 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
20:36:23 × oxide quits (~lambda@user/oxide) (Ping timeout: 268 seconds)
20:36:58 oxide joins (~lambda@user/oxide)
20:38:55 × pschorf quits (~user@c-73-77-28-188.hsd1.tx.comcast.net) (Remote host closed the connection)
20:45:50 pschorf joins (~user@c-73-77-28-188.hsd1.tx.comcast.net)
20:49:19 × martyall quits (~martyall@097-090-118-246.res.spectrum.com) (Remote host closed the connection)
20:49:43 × oxide quits (~lambda@user/oxide) (Read error: Connection reset by peer)
20:49:54 × joeyh_ quits (joeyh@kitenet.net) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in)
20:50:27 jgeerds joins (~jgeerds@55d45555.access.ecotel.net)
20:50:28 × h_ quits (rootvegeta@fsf/member/hays) (Remote host closed the connection)
20:51:28 martyall joins (~martyall@097-090-118-246.res.spectrum.com)
20:51:30 × tureba quits (~tureba@tureba.org) (Ping timeout: 240 seconds)
20:51:54 × landonf quits (landonf@mac68k.info) (Ping timeout: 240 seconds)
20:52:26 × wonko quits (~wjc@62.115.229.50) (Ping timeout: 268 seconds)
20:53:19 timCF_ joins (~timCF@m91-129-100-127.cust.tele2.ee)
20:53:31 tureba joins (~tureba@tureba.org)
20:53:37 hays joins (~rootveget@fsf/member/hays)
20:54:07 joeyh joins (joeyh@kitenet.net)
20:55:11 landonf joins (landonf@mac68k.info)
21:00:53 acidjnk joins (~acidjnk@p200300d0c72b95922063193a743f77dc.dip0.t-ipconnect.de)
21:04:09 × timCF_ quits (~timCF@m91-129-100-127.cust.tele2.ee) (Quit: leaving)
21:04:34 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
21:06:19 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
21:07:30 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving)
21:07:43 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
21:10:56 × amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 268 seconds)
21:14:49 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.2)
21:16:10 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
21:17:12 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Remote host closed the connection)
21:17:28 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
21:18:22 × martyall quits (~martyall@097-090-118-246.res.spectrum.com) (Remote host closed the connection)
21:19:08 martyall joins (~martyall@097-090-118-246.res.spectrum.com)
21:25:21 × azeem quits (~azeem@176.200.230.183) (Ping timeout: 248 seconds)
21:25:44 azeem joins (~azeem@176.200.230.183)
21:30:20 × azeem quits (~azeem@176.200.230.183) (Ping timeout: 252 seconds)
21:31:34 azeem joins (~azeem@176.200.230.183)
21:31:54 × martyall quits (~martyall@097-090-118-246.res.spectrum.com) ()
21:32:31 × ystael quits (~ystael@user/ystael) (Ping timeout: 268 seconds)
21:33:05 acidjnk_new joins (~acidjnk@p5487d90a.dip0.t-ipconnect.de)
21:36:36 × acidjnk quits (~acidjnk@p200300d0c72b95922063193a743f77dc.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
21:36:58 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
21:38:03 × dragestil_ quits (~quassel@user/dragestil) (Ping timeout: 268 seconds)
21:41:39 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Remote host closed the connection)
21:42:30 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
21:43:05 dragestil_ joins (~quassel@user/dragestil)
21:44:34 Atum_ joins (~IRC@user/atum/x-2392232)
21:44:55 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
21:45:28 × Tuplanolla quits (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.)
21:45:33 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
21:46:11 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Client Quit)
21:46:40 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
21:47:13 jneira joins (~jneira@28.red-80-28-169.staticip.rima-tde.net)
21:49:07 agua_pesada joins (~agua_pesa@2804:14c:8793:8e2f:311f:1da6:1cf6:61ea)
21:50:24 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 268 seconds)
21:50:59 lavaman joins (~lavaman@98.38.249.169)
21:51:30 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
21:56:27 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
21:57:27 awschnap joins (~lavaman@98.38.249.169)
21:57:27 × lavaman quits (~lavaman@98.38.249.169) (Read error: Connection reset by peer)
21:58:25 × azeem quits (~azeem@176.200.230.183) (Ping timeout: 268 seconds)
21:59:06 azeem joins (~azeem@176.200.230.183)
22:01:39 Erutuon joins (~Erutuon@user/erutuon)
22:03:13 × curiousgay quits (~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 248 seconds)
22:03:58 × jumper149 quits (~jumper149@80.240.31.34) (Quit: WeeChat 3.2)
22:04:26 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
22:04:51 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
22:05:45 burnsidesLlama joins (~burnsides@client-8-91.eduroam.oxuni.org.uk)
22:10:09 × burnsidesLlama quits (~burnsides@client-8-91.eduroam.oxuni.org.uk) (Ping timeout: 248 seconds)
22:12:48 × sqrt2 quits (~ben@80-108-18-7.cable.dynamic.surfer.at) (Read error: Connection reset by peer)
22:13:08 sqrt2 joins (~ben@tunnel330957-pt.tunnel.tserv6.fra1.ipv6.he.net)
22:15:41 tommd joins (~tommd@cpe-76-179-204-251.maine.res.rr.com)
22:15:43 × pmk quits (~user@2a02:587:941a:35d9:8f9c:6cb6:67dc:f5e3) (Remote host closed the connection)
22:17:13 hexfive joins (~eric@50.35.83.177)
22:17:16 × hexfive quits (~eric@50.35.83.177) (Client Quit)
22:19:42 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
22:20:46 × agua_pesada quits (~agua_pesa@2804:14c:8793:8e2f:311f:1da6:1cf6:61ea) (Ping timeout: 256 seconds)
22:20:56 zaquest joins (~notzaques@5.128.210.178)
22:21:34 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
22:22:08 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
22:25:52 × azeem quits (~azeem@176.200.230.183) (Read error: Connection reset by peer)
22:25:52 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
22:26:14 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
22:27:13 azeem joins (~azeem@dynamic-adsl-84-220-236-17.clienti.tiscali.it)
22:31:22 × acidjnk_new quits (~acidjnk@p5487d90a.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
22:32:01 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 248 seconds)
22:32:32 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
22:34:34 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
22:37:06 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
22:38:00 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
22:38:57 geekosaur joins (~geekosaur@xmonad/geekosaur)
22:39:18 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
22:43:11 × chomwitt quits (~chomwitt@athedsl-32301.home.otenet.gr) (Remote host closed the connection)
22:45:08 fresheyeball joins (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net)
22:48:45 × Guest84 quits (~Guest84@2406:3003:2006:447e:9d85:ae5b:bc5f:9191) (Quit: Client closed)
22:50:13 × dextaa quits (~DV@user/dextaa) (Quit: Ping timeout (120 seconds))
22:50:48 × polyphem quits (~polyphem@2a02:810d:640:776c:5ce9:eeb2:9e8b:b083) (Ping timeout: 256 seconds)
22:51:27 <boxscape> Does a RULES pragma like this make sense to improve performance? I'm a little surprised that it accepts the rule without unsafeCoerce, and I wouldn't have expected `test` to still output something sensible if the rule fires
22:51:28 <boxscape> https://paste.tomsmeding.com/O7KCORMk
22:51:50 <boxscape> (in my actual application I don't actually care whether or not the structure of the witness is correct, which made me think about adding this rule to begin with)
22:51:56 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
22:52:01 <boxscape> also, is there a way to see if the rule actually fires?
22:52:49 <dminuoso> boxscape: Is -fenable-rewrite-rules enabled?
22:52:57 <boxscape> ooh that would be smart
22:53:18 <boxscape> hm enabling it doesn't change things
22:54:51 Guest35 joins (~Guest35@190.237.13.129)
22:55:15 <boxscape> ah, but it doesn't fire. Changing the rhs with `unsafeCoerce 4` also doesn't change the result
22:55:19 dextaa joins (~DV@user/dextaa)
22:55:21 <boxscape> s/with/to
22:56:28 <Guest35> Hello, I'm not getting anything from the haskell vscode extension other than code highlighting. So type errors, auto formatting and others are not working. Any ideas? I'm using stack and ghc 8.10.4
22:58:38 <boxscape> (ah, also, -ddump-rule-firings exists, which also doesn't show any firings. Could be I'm still missing something about how to get rules to fire in general)
22:59:14 <glguy> Guest35: I don't know about stack, but if you're using HLS there's a Haskell section in the Output tab
23:00:33 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
23:00:58 <dibblego> Guest35: https://i.imgur.com/ilVgn1q.png
23:01:21 <Guest35> I don't see any Haskell section there, which I guess the haskell extension is not working for some reason
23:01:36 <Guest35> @dibblego yes I'm using that one
23:01:36 <lambdabot> Unknown command, try @list
23:02:22 <Guest35> too used to discord... haha
23:05:16 × azeem quits (~azeem@dynamic-adsl-84-220-236-17.clienti.tiscali.it) (Read error: Connection reset by peer)
23:16:06 × dextaa quits (~DV@user/dextaa) (Ping timeout: 268 seconds)
23:16:51 dextaa joins (~DV@user/dextaa)
23:19:26 Erutuon joins (~Erutuon@user/erutuon)
23:23:50 × seiryn quits (~seiryn@2a01cb0409c990003ccf6635f6976a70.ipv6.abo.wanadoo.fr) (Quit: WeeChat 3.2)
23:28:06 × derelict quits (~derelict@user/derelict) (Quit: WeeChat 3.2)
23:35:32 × jgeerds quits (~jgeerds@55d45555.access.ecotel.net) (Ping timeout: 245 seconds)
23:37:41 × srk quits (~sorki@user/srk) (Ping timeout: 268 seconds)
23:42:05 pavonia joins (~user@user/siracusa)
23:46:35 srk joins (~sorki@user/srk)
23:54:33 × JavierNeira[m] quits (~jneiramat@2001:470:69fc:105::d729) (Ping timeout: 252 seconds)
23:54:34 × srid[m] quits (~sridmatri@2001:470:69fc:105::1c2) (Ping timeout: 252 seconds)
23:54:34 × Deide quits (~deide@user/deide) (Ping timeout: 240 seconds)
23:54:34 × Ollie[m] quits (~ollieocha@2001:470:69fc:105::41a5) (Ping timeout: 240 seconds)
23:54:35 × aveltras[m] quits (~aveltrasm@2001:470:69fc:105::3ef9) (Ping timeout: 240 seconds)
23:54:35 × bb010g quits (~bb010g@2001:470:69fc:105::9a5) (Ping timeout: 240 seconds)
23:54:36 × octeep[m] quits (~octeepmoc@2001:470:69fc:105::695e) (Ping timeout: 240 seconds)
23:54:36 × andreabedini[m] quits (~andreabed@2001:470:69fc:105::c821) (Ping timeout: 240 seconds)
23:54:50 × SimonWeiss[m] quits (~weiss-dma@2001:470:69fc:105::bebd) (Ping timeout: 256 seconds)
23:54:59 × ru0mad[m] quits (~ru0madmat@2001:470:69fc:105::9b2) (Ping timeout: 240 seconds)
23:54:59 × afotgkmnzj7asv3r quits (~afotgkmnz@2001:470:69fc:105::c24b) (Ping timeout: 240 seconds)
23:54:59 × jchia[m] quits (~jchiamatr@2001:470:69fc:105::c50b) (Ping timeout: 240 seconds)
23:54:59 × carmysilna quits (~brightly-@2001:470:69fc:105::2190) (Ping timeout: 240 seconds)
23:54:59 × maerwald[m] quits (~maerwaldm@user/maerwald) (Ping timeout: 252 seconds)
23:55:00 × dualinverter[m] quits (~dualinver@2001:470:69fc:105::16a7) (Ping timeout: 252 seconds)
23:55:06 × jkachmar quits (~jkachmar@2001:470:69fc:105::c72d) (Ping timeout: 252 seconds)
23:55:06 × ac quits (~aloiscoch@2001:470:69fc:105::65) (Ping timeout: 252 seconds)
23:55:06 × lwe[m] quits (~dendrumat@2001:470:69fc:105::2f9b) (Ping timeout: 252 seconds)
23:55:07 × alexfmpe[m] quits (~alexfmpem@2001:470:69fc:105::38ba) (Ping timeout: 252 seconds)
23:55:08 × PotatoHatsue quits (~berberman@2001:470:69fc:105::b488) (Ping timeout: 252 seconds)
23:55:08 × OndejSkup[m] quits (~mimivxmat@2001:470:69fc:105::c300) (Ping timeout: 252 seconds)
23:55:08 × unrooted quits (~unrooted@2001:470:69fc:105::a4a) (Ping timeout: 245 seconds)
23:55:10 × Morrow[m] quits (~morrowmma@2001:470:69fc:105::1d0) (Ping timeout: 268 seconds)
23:55:11 × siraben quits (~siraben@user/siraben) (Ping timeout: 268 seconds)
23:55:11 × ormaaj quits (~ormaaj@user/ormaaj) (Ping timeout: 268 seconds)
23:55:11 × jaror[m] quits (~jaror@2001:470:69fc:105::265) (Ping timeout: 268 seconds)
23:55:11 × ericson2314 quits (~ericson23@2001:470:69fc:105::70c) (Ping timeout: 268 seconds)
23:55:12 × kadoban quits (~kadoban@user/kadoban) (Ping timeout: 268 seconds)
23:55:13 × boxscape quits (~boxscape@user/boxscape) (Ping timeout: 268 seconds)
23:55:13 × Las[m] quits (~lasmatrix@2001:470:69fc:105::74e) (Ping timeout: 268 seconds)
23:55:14 × deuslambda[m] quits (~deuslambd@2001:470:69fc:105::c749) (Ping timeout: 268 seconds)
23:55:14 × justosophy[m] quits (~justosoph@2001:470:69fc:105::572f) (Ping timeout: 268 seconds)
23:55:16 × cdsmith quits (~cdsmithma@2001:470:69fc:105::284) (Ping timeout: 276 seconds)
23:55:16 × fabfianda[m] quits (~fabfianda@2001:470:69fc:105::6db) (Ping timeout: 276 seconds)
23:55:16 × hughjfchen[m] quits (~hughjfche@2001:470:69fc:105::c29d) (Ping timeout: 276 seconds)
23:55:16 × wallymathieu[m] quits (~wallymath@2001:470:69fc:105::16ae) (Ping timeout: 276 seconds)
23:55:16 × fakehacker[m] quits (~fakehacke@2001:470:69fc:105::b5f0) (Ping timeout: 276 seconds)
23:55:17 hiruji` joins (~hiruji@2606:6080:1001:18:8d41:9604:d435:36b6)
23:55:18 × CyrusT[m] quits (~cyrustcru@2001:470:69fc:105::306e) (Ping timeout: 272 seconds)
23:55:18 × oak- quits (~oakuniver@2001:470:69fc:105::fcd) (Ping timeout: 272 seconds)
23:55:22 × hsiktas[m] quits (~hsiktasma@2001:470:69fc:105::30d4) (Ping timeout: 240 seconds)
23:55:22 × jophish quits (~jophish@2001:470:69fc:105::670) (Ping timeout: 240 seconds)
23:55:22 × fgaz quits (~fgaz@2001:470:69fc:105::842) (Ping timeout: 240 seconds)
23:55:22 × kar1 quits (~kar1@2001:470:69fc:105::c308) (Ping timeout: 240 seconds)
23:55:22 × the-coot[m] quits (~the-cootm@2001:470:69fc:105::95f) (Ping timeout: 240 seconds)
23:55:22 × reza[m] quits (~rezaphone@2001:470:69fc:105::3eda) (Ping timeout: 272 seconds)
23:55:22 × schuelermine[m] quits (~schuelerm@user/schuelermine) (Ping timeout: 272 seconds)
23:55:22 × bitonic quits (~bitonic@2001:470:69fc:105::1812) (Ping timeout: 272 seconds)
23:55:22 × vbeatrice[m] quits (~vbeatrice@2001:470:69fc:105::3ebf) (Ping timeout: 272 seconds)
23:55:22 × MatrixTravelerbo quits (~voyagert2@2001:470:69fc:105::22) (Ping timeout: 272 seconds)
23:55:23 × infinisil quits (~infinisil@2001:470:69fc:105::ff8) (Ping timeout: 272 seconds)
23:55:23 × RohitGoswami[m] quits (~rgoswamim@2001:470:69fc:105::16cc) (Ping timeout: 272 seconds)
23:55:24 × ixlun quits (~ixlun@2001:470:69fc:105::41b3) (Ping timeout: 272 seconds)
23:55:24 × dminuoso[m] quits (~dminuosom@2001:470:69fc:105::33bb) (Ping timeout: 272 seconds)
23:55:24 × jesser[m] quits (~jessermat@2001:470:69fc:105::d5ae) (Ping timeout: 272 seconds)
23:55:24 × stoicswe[m] quits (~deadlette@2001:470:69fc:105::d277) (Ping timeout: 272 seconds)
23:55:24 × yin[m] quits (~zwromatri@2001:470:69fc:105::1d4) (Ping timeout: 272 seconds)
23:55:24 × rednaZ[m] quits (~r3dnazmat@2001:470:69fc:105::ba70) (Ping timeout: 272 seconds)
23:55:24 × soft quits (~soft-matr@2001:470:69fc:105::c75) (Ping timeout: 272 seconds)
23:55:24 × thomasjm[m] quits (~thomasjmm@2001:470:69fc:105::c6d9) (Ping timeout: 256 seconds)
23:55:24 × peddie quits (~peddie@2001:470:69fc:105::25d) (Ping timeout: 256 seconds)
23:55:24 × hsek[m] quits (~hsekmatri@2001:470:69fc:105::d18f) (Ping timeout: 256 seconds)
23:55:24 × Tisoxin quits (~ikosit@user/ikosit) (Ping timeout: 256 seconds)
23:55:24 × Magnus[m] quits (~magthetch@2001:470:69fc:105::d1a7) (Ping timeout: 256 seconds)
23:55:32 × Teohehim[m] quits (~teocmatri@2001:470:69fc:105::d327) (Ping timeout: 252 seconds)
23:55:32 × vaibhavsagar[m] quits (~vaibhavsa@2001:470:69fc:105::ffe) (Ping timeout: 245 seconds)
23:55:38 × ServerStatsDisco quits (~serversta@2001:470:69fc:105::1a) (Ping timeout: 252 seconds)
23:55:39 × psydroid quits (~psydroid@user/psydroid) (Ping timeout: 252 seconds)
23:55:48 × marinelli[m] quits (~marinelli@2001:470:69fc:105::2d8) (Ping timeout: 268 seconds)
23:55:48 × sm quits (~sm@plaintextaccounting/sm) (Ping timeout: 268 seconds)
23:55:48 × polykernel quits (~polykerne@user/polykernel) (Ping timeout: 268 seconds)
23:55:48 × Deewiant quits (~deewiant@2001:470:69fc:105::2fd3) (Ping timeout: 268 seconds)
23:55:48 × unclechu quits (~unclechu@2001:470:69fc:105::354) (Ping timeout: 268 seconds)
23:55:49 × maralorn quits (~maralorn@2001:470:69fc:105::251) (Ping timeout: 268 seconds)
23:55:49 × jakefromstatefar quits (~jakefroms@2001:470:69fc:105::15ef) (Ping timeout: 268 seconds)
23:55:49 × bryan[m] quits (~bchreekat@2001:470:69fc:105::16b5) (Ping timeout: 268 seconds)
23:55:54 × zfnmxt quits (~zfnmxtzfn@2001:470:69fc:105::2b32) (Ping timeout: 276 seconds)
23:55:54 × adziahel[m] quits (~adziahelm@2001:470:69fc:105::b4d) (Ping timeout: 276 seconds)
23:55:56 × Orbstheorem quits (~orbstheor@2001:470:69fc:105::a56) (Ping timeout: 272 seconds)
23:56:00 × denbrahe[m] quits (~denbrahem@2001:470:69fc:105::19c0) (Ping timeout: 272 seconds)
23:56:00 × hiruji quits (~hiruji@user/hiruji) (Ping timeout: 272 seconds)
23:56:00 × smichel17[m] quits (~smichel17@2001:470:69fc:105::2d32) (Ping timeout: 272 seconds)
23:56:00 × Drew[m]1 quits (~drewefenw@2001:470:69fc:105::c8c4) (Ping timeout: 272 seconds)
23:56:00 × amesgen[m] quits (~amesgenm]@2001:470:69fc:105::82b) (Ping timeout: 272 seconds)
23:56:41 azeem joins (~azeem@dynamic-adsl-84-220-236-17.clienti.tiscali.it)
23:56:42 meltedbrain_y2k joins (~tekserf@31.4.247.117)

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