Home freenode/#haskell: Logs Calendar

Logs on 2021-03-03 (freenode/#haskell)

00:06:18 × Tario quits (~Tario@201.192.165.173) (Ping timeout: 245 seconds)
00:07:32 <DigitalKiwi> glguy: HELP
00:07:50 <DigitalKiwi> glguy: THERE IS A CHANNEL THAT EVERYONE IS TALKING LIKE THIS IN
00:08:08 LASSULUS is now known as lassulus
00:08:10 <DigitalKiwi> glguy: CAN I MAKE A GLIRC SCRIPT THAT LOWERCASES EVERYTHING?
00:09:00 <monochrom> They must be using 1970s uppercase terminals.
00:09:02 <Axman6> glirc | tr "[:upper:]" "[:lower:]"
00:09:15 <glguy> you could make a Hook, for sure
00:09:17 <DigitalKiwi> Axman6: lol i was trying to avoid that
00:09:22 <monochrom> Or Apple II.
00:10:04 <glguy> http://hackage.haskell.org/package/glirc-2.37/docs/Client-Hook.html#t:MessageHook
00:10:06 <monochrom> I have trouble believing that such a channel is good company in the first place.
00:10:16 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Ping timeout: 240 seconds)
00:12:01 Tario joins (~Tario@200.119.187.170)
00:12:03 × elliott__ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 246 seconds)
00:12:21 × usr25 quits (~usr25@unaffiliated/usr25) (Quit: Leaving)
00:12:59 <Axman6> It's #SQL, so you are correct
00:13:23 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
00:15:08 <DigitalKiwi> Axman6: https://logs.nix.samueldr.com/nixos-chat/2021-03-02#1614727958-1614728056;
00:15:53 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 245 seconds)
00:16:50 <Axman6> It's worse than I imagined
00:17:56 × michaelpj quits (michaelpjm@gateway/shell/matrix.org/x-buxbodhkddveoaqd) (Ping timeout: 240 seconds)
00:18:08 × thunderrd quits (~thunderrd@183.182.112.145) (Ping timeout: 272 seconds)
00:18:26 × jeffcasavant[m] quits (jeffcasava@gateway/shell/matrix.org/x-lucppnoruohzhaik) (Ping timeout: 240 seconds)
00:18:26 × sm[m] quits (simonmicma@gateway/shell/matrix.org/x-olgzldwdbozcvmla) (Ping timeout: 240 seconds)
00:18:30 × freeman42x[m] quits (freeman42x@gateway/shell/matrix.org/x-ytrisqdmzrzpisst) (Ping timeout: 244 seconds)
00:18:55 × kadoban quits (kadobanemp@gateway/shell/matrix.org/x-ivqsxeohuglvlsqy) (Ping timeout: 258 seconds)
00:19:26 jeffcasavant[m] joins (jeffcasava@gateway/shell/matrix.org/x-komviiuaffxezunv)
00:19:32 × alar[m] quits (alarmxalat@gateway/shell/matrix.org/x-ijjeysxxnkrgutme) (Ping timeout: 244 seconds)
00:19:32 × simara[m] quits (simaramatr@gateway/shell/matrix.org/x-yieaikiuesgqpxtf) (Ping timeout: 244 seconds)
00:19:32 × brightly-salty[m quits (brightly-s@gateway/shell/matrix.org/x-prtibkvrqqntdkpm) (Ping timeout: 244 seconds)
00:19:32 × jerin quits (jerinmatri@gateway/shell/matrix.org/x-tmtfndsdvjlsjrsi) (Ping timeout: 244 seconds)
00:19:39 ddellacosta joins (~ddellacos@86.106.143.136)
00:19:56 × bitonic quits (bitonicmat@gateway/shell/matrix.org/x-plynbbjxllctgqmg) (Ping timeout: 240 seconds)
00:19:56 × PotatoHatsue quits (berbermanp@gateway/shell/matrix.org/x-rihddaeggjdzhxqs) (Ping timeout: 240 seconds)
00:20:01 thunderrd joins (~thunderrd@183.182.112.145)
00:20:04 × alexfmpe quits (alexfmpema@gateway/shell/matrix.org/x-jgcuajimrxmycwph) (Ping timeout: 258 seconds)
00:20:32 solomon` joins (4ca8078b@cpe-76-168-7-139.socal.res.rr.com)
00:20:43 × Hanma[m] quits (hanmamatri@gateway/shell/matrix.org/x-uvqceisbsyumooad) (Ping timeout: 272 seconds)
00:21:27 <solomon`> i'm getting this scary error from HLS: `COMMON symbol, size 96 name batch_point_buffer allocated at 0x401ad000`
00:21:48 <solomon`> oops wrong channel
00:22:04 kadoban joins (kadobanemp@gateway/shell/matrix.org/x-psvjfqyhnjjfvaqu)
00:23:35 × ddellacosta quits (~ddellacos@86.106.143.136) (Ping timeout: 240 seconds)
00:24:08 alar[m] joins (alarmxalat@gateway/shell/matrix.org/x-bpvylpwwtlcejjwj)
00:25:19 alexfmpe joins (alexfmpema@gateway/shell/matrix.org/x-girzcdcudxbpysje)
00:25:21 freeman42x[m] joins (freeman42x@gateway/shell/matrix.org/x-swjzfvecjjmfxmen)
00:25:33 Hanma[m] joins (hanmamatri@gateway/shell/matrix.org/x-iwqqtahhpodcbjeb)
00:25:34 meff[m]1 joins (meffsunado@gateway/shell/matrix.org/x-qllhwgzchqvotood)
00:26:12 simara[m] joins (simaramatr@gateway/shell/matrix.org/x-ndigbuadzruuzard)
00:26:16 sm[m] joins (simonmicma@gateway/shell/matrix.org/x-smorkrdiwycaaxbo)
00:26:39 × mputz quits (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 260 seconds)
00:26:40 × Tario quits (~Tario@200.119.187.170) (Read error: Connection reset by peer)
00:26:41 elliott__ joins (~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
00:26:54 Tario joins (~Tario@201.192.165.173)
00:27:43 brightly-salty[m joins (brightly-s@gateway/shell/matrix.org/x-cporoyepggngxrys)
00:27:56 jerin joins (jerinmatri@gateway/shell/matrix.org/x-uiruxsqbuirnuhcm)
00:28:38 michaelpj joins (michaelpjm@gateway/shell/matrix.org/x-niomjibmmrgwzzyy)
00:28:53 bitonic joins (bitonicmat@gateway/shell/matrix.org/x-tcjvcnippiduczse)
00:28:56 PotatoHatsue joins (berbermanp@gateway/shell/matrix.org/x-eaqrdmjzoipzuify)
00:30:55 mputz joins (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de)
00:31:52 <DigitalKiwi> Axman6: https://mostlyabsurd.com/files/2021-03-03-003039_2880x1800_scrot.png
00:32:07 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
00:32:18 <zebrag> :t (liftAp (Just (+3))) <*> (liftAp (Just 3)) -- And that is not `Just 6`?
00:32:19 <lambdabot> error:
00:32:20 <lambdabot> • Variable not in scope: liftAp :: Maybe (a1 -> a1) -> f (a0 -> b)
00:32:20 <lambdabot> • Perhaps you meant one of these:
00:33:01 <zebrag> (stack install free)
00:37:15 bennofs_ joins (~quassel@dslb-188-103-040-158.188.103.pools.vodafone-ip.de)
00:38:33 <Axman6> DigitalKiwi: I think you dun flipped up
00:38:33 × sablib quits (~sablib@59.173.152.160) (Read error: Connection reset by peer)
00:39:00 sablib joins (~sablib@171.113.165.91)
00:39:09 <monochrom> If you lowercase everything, you may butcher some youtube URLs. Watch over for that.
00:39:26 × mputz quits (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 240 seconds)
00:40:54 × bennofs__ quits (~quassel@dslb-094-222-091-028.094.222.pools.vodafone-ip.de) (Ping timeout: 245 seconds)
00:42:24 conal joins (~conal@64.71.133.70)
00:43:34 × plutoniix quits (~q@node-ule.pool-125-24.dynamic.totinternet.net) (Quit: Leaving)
00:43:35 rajivr joins (uid269651@gateway/web/irccloud.com/x-ayknupbaawowskzf)
00:45:45 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:cd5c:37fd:94ce:ea47) (Quit: My MacBook has gone to sleep. ZZZzzz…)
00:47:17 <zebrag> `case (Pure (+3) :: Ap Maybe (Int -> Int)) <*> (Pure 3) of {Pure x -> x; Ap _ _ -> undefined}` It's returning `6`, I'm a bit disappointed. I was expecting `undefined`, or at the very least `Just 6`.
00:47:40 × crobbins quits (~crobbins@2600:1700:48eb:8490:dd46:64cd:ab2e:66bc) (Remote host closed the connection)
00:49:16 × d34df00d quits (~d34df00d@104-14-27-213.lightspeed.austtx.sbcglobal.net) (Ping timeout: 240 seconds)
00:50:16 × sablib quits (~sablib@171.113.165.91) (Ping timeout: 240 seconds)
00:52:19 <monochrom> Wait a second, I don't know Ap, but I would expect Pure is Ap's pure, so Pure f <*> Pure x = Pure (f x) no getting Maybe involved because you aren't even invoking the Ap case.
00:52:28 sablib joins (~sablib@171.113.165.91)
00:53:23 × m0rphism1 quits (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 245 seconds)
00:54:05 <zebrag> thinking hard...
00:54:26 × sw1nn quits (~sw1nn@2a00:23c6:2385:3a00:9310:964a:9231:59c9) (Ping timeout: 240 seconds)
00:54:52 × Aquazi quits (uid312403@gateway/web/irccloud.com/x-negexpmuxmakobfg) (Quit: Connection closed for inactivity)
00:55:05 <monochrom> "pure f <*> pure x = pure (f x)" is straight from an Applicative law.
00:55:30 <zebrag> Maybe... I'll try harder to involve the Ap case
00:55:59 <monochrom> Your earlier liftAp question is the interesting one.
00:56:07 COLE-H is now known as cole-h
00:56:35 <zebrag> yes, when I use liftAp, I get answers I don't yet understand
00:56:36 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
00:58:45 × geyaeb quits (~geyaeb@gateway/tor-sasl/geyaeb) (Ping timeout: 268 seconds)
00:58:46 × fiQ2 quits (~fiQ@mirkk.ninja) (Quit: ZNC - https://znc.in)
00:58:47 × Philonous quits (~Philonous@unaffiliated/philonous) (Quit: ZNC - https://znc.in)
00:58:55 geyaeb_ joins (~geyaeb@gateway/tor-sasl/geyaeb)
00:59:16 Philonous joins (~Philonous@unaffiliated/philonous)
00:59:17 fiQ2 joins (~fiQ@mirkk.ninja)
01:01:18 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 245 seconds)
01:01:46 d34df00d joins (~d34df00d@104-14-27-213.lightspeed.austtx.sbcglobal.net)
01:02:08 <monochrom> The definition of Ap looks suspiciously like "a list of f things to do".
01:03:49 <monochrom> Ap (the data constructor) sounds like a list node, Pure sounds like marking end of list.
01:03:56 × sablib quits (~sablib@171.113.165.91) (Ping timeout: 240 seconds)
01:04:16 <zebrag> I was about to ask ;)
01:04:50 <zebrag> I see...
01:05:30 <zebrag> `:t case (liftAp (Just 4)) of {Pure x -> x; Ap apfa pafab -> undefined}` is returning undefined
01:05:48 <zebrag> I have to "evaluate" the undefined thing
01:05:54 sablib joins (~sablib@171.113.165.91)
01:05:56 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
01:06:29 <monochrom> I took a look at the source code. liftAp a = Ap a (Pure id).
01:06:36 <zebrag> hum
01:06:38 <zebrag> nice
01:06:42 <zebrag> haven't seen that
01:07:57 sw1nn joins (~sw1nn@2a00:23c7:622f:2c00:df3:76c2:ae90:b3b4)
01:11:01 × zaquest quits (~notzaques@5.128.210.178) (Quit: Leaving)
01:11:11 × Rudd0 quits (~Rudd0@185.189.115.103) (Ping timeout: 265 seconds)
01:11:17 <monochrom> I think Ap is a singly linked list of "f things to do". So I think its <*> is concatenating two such lists. liftAp is making a singleton, thus "Ap x (Pure id)".
01:12:11 <monochrom> To be sure, there is more. Each "f thing to do" also has an "answer" (of type 'a').
01:12:22 × heatsink quits (~heatsink@2600:1700:bef1:5e10:2d2c:7153:bdbb:6201) (Remote host closed the connection)
01:12:58 <monochrom> Here is what you do (or what you expect the computer to do) for those answers.
01:13:23 <zebrag> that raises an error: :t case (liftAp (Just (4 :: Int))) of {Ap a b -> a; _ -> undefined}
01:13:24 × sm2n quits (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca) (Remote host closed the connection)
01:13:42 sm2n joins (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca)
01:13:54 <zebrag> that doesn't: case (liftAp (Just (4 :: Int))) of {Ap a b -> 7; _ -> undefined}
01:14:15 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 256 seconds)
01:14:18 zaquest joins (~notzaques@5.128.210.178)
01:14:46 <zebrag> "because type variable ‘a1’ would escape its scope"
01:15:12 <zebrag> gadt...
01:15:39 <monochrom> The first "f thing" to do in the list --- so you're looking at the first node, say Ap (m :: f a) (ms :: Ap f (a->b)) --- well that m gives you an answer of type a. Then recursively the things in the rest of the list, ms, when the dust settles it gives you an answer of type a->b. The expectation is you apply the latter to the former to get a final answer.
01:16:21 <zebrag> ok
01:16:42 <monochrom> So I expect <*> to be like (++) in terms of the data structure, but also additional complication to honour the processing of answers.
01:16:52 × FortuneZero quits (3223b878@50.35.184.120) (Quit: Connection closed)
01:17:55 <zebrag> `:t case (liftAp (Just (4 :: Int))) of {Ap a (Pure b) -> b a; _ -> undefined}` "occur check error"
01:18:03 heatsink joins (~heatsink@2600:1700:bef1:5e10:2d2c:7153:bdbb:6201)
01:19:38 <zebrag> beside that the sentence with "f thing" is very interesting
01:20:54 <monochrom> Have you seen or written fmap for Ap?
01:21:45 <monochrom> ho hum Ap has to be a GADT I guess
01:22:04 <zebrag> Just as you said, forgot to lift it
01:22:12 <zebrag> `case (liftAp (Just (4 :: Int))) of {Ap a (Pure b) -> b <$> a; _ -> undefined}`
01:22:15 <monochrom> no deriving functor sob sob
01:23:19 <zebrag> Now with all that I get a `Just 4`
01:25:06 <zebrag> I do not yet have the correct intuition about "functor" as a "f thing" to do. That intuition seems pivotal with free applicative
01:25:22 <zebrag> But I still don't get it well
01:26:43 <zebrag> In the paper https://arxiv.org/abs/1403.0749 they speak about it a lot, but I don't yet have the grasp of it
01:26:51 <monochrom> Hrm, I'm surprised that Functor (Ap f) does not need Functor f. I need to rethink this.
01:26:56 nitrix_ is now known as nitrix
01:27:14 × hendursa1 quits (~weechat@gateway/tor-sasl/hendursaga) (Quit: hendursa1)
01:27:33 hendursaga joins (~weechat@gateway/tor-sasl/hendursaga)
01:28:45 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
01:28:55 <zebrag> that's weird; even though we don't see the requirement they use `fmap` of `f`
01:30:50 epicte7us joins (~epictetus@ip72-194-215-136.sb.sd.cox.net)
01:31:11 <zebrag> hum, I'm mistaken
01:34:40 × ep1ctetus quits (~epictetus@ip72-194-215-136.sb.sd.cox.net) (Ping timeout: 276 seconds)
01:35:29 × nineonin_ quits (~nineonine@50.216.62.2) (Ping timeout: 260 seconds)
01:35:35 ddellacosta joins (~ddellacos@86.106.143.10)
01:39:56 × ddellacosta quits (~ddellacos@86.106.143.10) (Ping timeout: 240 seconds)
01:43:11 × heatsink quits (~heatsink@2600:1700:bef1:5e10:2d2c:7153:bdbb:6201) (Remote host closed the connection)
01:44:07 <monochrom> Functor f is not needed because the Ap case is an existential type.
01:44:52 <monochrom> So you're trying to code up fmap :: (x->y) -> Ap f x -> Ap f y, and you're coding the Ap case.
01:44:56 × sm2n quits (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca) (Ping timeout: 240 seconds)
01:45:25 × apache801 quits (~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 256 seconds)
01:45:39 <monochrom> fmap (f :: x->y) (Ap (m :: t) (ms :: Ap f (t->x)) = Ap ??? ???
01:45:43 jacks2 joins (~bc8134e3@217.29.117.252)
01:46:25 <monochrom> This is existential in t. "for some type t that you will not be told what". So first of all you will never be doing "fmap f m".
01:46:29 <monochrom> Err sorry, typo
01:46:38 <monochrom> fmap (f :: x->y) (Ap (m :: f t) (ms :: Ap f (t->x)) = Ap ??? ???
01:47:09 × Sheilong quits (uid293653@gateway/web/irccloud.com/x-oegwsfxufkjwphyx) ()
01:48:17 <monochrom> And if you don't use "fmap" on m, you won't be using f's fmap ever.
01:48:40 <zebrag> (reading, was afk)
01:49:11 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
01:49:17 × epicte7us quits (~epictetus@ip72-194-215-136.sb.sd.cox.net) (Read error: Connection reset by peer)
01:49:30 drbean_ joins (~drbean@TC210-63-209-35.static.apol.com.tw)
01:49:32 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
01:49:52 <zebrag> (Ap case existential, check)
01:50:00 heatsink joins (~heatsink@2600:1700:bef1:5e10:2d2c:7153:bdbb:6201)
01:51:48 × leah2 quits (~leah@vuxu.org) (Ping timeout: 260 seconds)
01:52:25 apache801 joins (~rishi@wsip-70-168-153-252.oc.oc.cox.net)
01:53:26 leah2 joins (~leah@vuxu.org)
01:54:15 <zebrag> I manually lifted the `b` there: `case (liftAp (Just (4 :: Int))) of {Ap a (Pure b) -> b <$> a; _ -> undefined}`
01:54:33 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds)
01:55:12 <zebrag> But isn't `a` escaping then?
01:55:48 <zebrag> (maybe a silly question)
01:55:57 <monochrom> b=id, that exposes a's type.
01:56:22 <zebrag> without troubling the compiler
01:56:47 <zebrag> ok
01:57:34 <monochrom> Oh nevermind, what I said doesn't help, the compiler does ban it.
01:57:45 <zebrag> what?
01:57:45 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
01:58:18 <zebrag> what is banned?
01:58:29 <monochrom> case Ap [4] (Pure id) of Ap x _ -> x = type error "because type variable ‘a’ would escape its scope"
01:59:06 <zebrag> that's why I lifted the `b`
01:59:07 <monochrom> I guess it has to be runAp.
01:59:58 <monochrom> Oh! Then it's OK, b's type is known, a's type can come from b's type, no more mystery.
02:00:17 <zebrag> `case Ap [4] (Pure id) of Ap x (Pure b) -> b <$> x`
02:00:25 × heatsink quits (~heatsink@2600:1700:bef1:5e10:2d2c:7153:bdbb:6201) (Remote host closed the connection)
02:00:28 <zebrag> [4]
02:02:02 <zebrag> I was thinking you can free a value from the existential warden by sneaking in a function
02:02:42 <monochrom> You did.
02:02:43 <zebrag> and Bob's your uncle, the variable escapes
02:03:02 × TimWolla quits (~timwolla@2a01:4f8:150:6153:beef::6667) (Ping timeout: 264 seconds)
02:04:06 × Chai-T-Rex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 268 seconds)
02:04:25 × comboy_ quits (~quassel@tesuji.pl) (Ping timeout: 260 seconds)
02:06:04 <zebrag> I don't know if the metaphor could have any sort of validity, though. If only because I don't yet master the existential types, at all.
02:07:20 Chai-T-Rex joins (~ChaiTRex@gateway/tor-sasl/chaitrex)
02:07:57 × kodein quits (~kodein@217.146.82.202) (Remote host closed the connection)
02:09:08 × solomon` quits (4ca8078b@cpe-76-168-7-139.socal.res.rr.com) (Quit: Connection closed)
02:12:34 <zebrag> "b's type is known": nice. `a` doesn't escape anymore. (still reading...)
02:14:07 <monochrom> OK, here is a better story.
02:14:52 <monochrom> You start with Ap [4] (Pure id) :: Ap [] Integer. And we say we forget two types: [4]'s type, and id's domain type.
02:15:12 comboy joins (~quassel@tesuji.pl)
02:15:33 <monochrom> But id's codomain type Integer is known.
02:15:52 <zebrag> "honour the precessing of answers". I suppose it's about the lhs of `<*>` is to be processed before the rhs, in case there is a `state`, or as it is the case with parsers.
02:15:56 × thunderrd quits (~thunderrd@183.182.112.145) (Ping timeout: 272 seconds)
02:16:21 ddellacosta joins (~ddellacos@86.106.143.227)
02:16:23 TimWolla joins (~timwolla@2a01:4f8:150:6153:beef::6667)
02:16:36 × apache801 quits (~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 240 seconds)
02:17:23 × viluon quits (uid453725@gateway/web/irccloud.com/x-fpwdjwiyfpigsxnc) (Quit: Connection closed for inactivity)
02:18:40 apache801 joins (~rishi@wsip-70-168-153-252.oc.oc.cox.net)
02:18:59 nbloomf joins (~nbloomf@2600:1700:ad14:3020:6892:934d:985d:8f37)
02:19:39 <zebrag> processing*
02:20:23 nineonine joins (~nineonine@50.216.62.2)
02:20:54 × ddellacosta quits (~ddellacos@86.106.143.227) (Ping timeout: 245 seconds)
02:21:26 <monochrom> I am now wondering why it is not "Ap :: f (a->b) -> Ap f a -> Ap f b".
02:21:46 heatsink joins (~heatsink@2600:1700:bef1:5e10:2d2c:7153:bdbb:6201)
02:21:48 <zebrag> exactly, just what I was thinking
02:22:15 thunderrd joins (~thunderrd@183.182.112.145)
02:22:23 <zebrag> maybe they are `flip` addicts
02:23:52 ukboi joins (~ukboi@139.28.218.148)
02:24:53 <zebrag> Or because, early applicatives had this signature
02:25:22 <monochrom> If I do that, I incur a "Functor f" requirement.
02:26:21 × boxscape quits (4ff0baf3@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.243) (Ping timeout: 264 seconds)
02:26:32 <zebrag> By all means. And ditch the flips.
02:26:56 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
02:28:04 <monochrom> Ah I can't finish fmap.
02:28:12 sz0_ joins (uid110435@gateway/web/irccloud.com/x-tlpyvfiuvwdjqrhp)
02:28:51 <monochrom> Err nevermind, I can.
02:29:58 × sw1nn quits (~sw1nn@2a00:23c7:622f:2c00:df3:76c2:ae90:b3b4) (*.net *.split)
02:29:58 × michaelpj quits (michaelpjm@gateway/shell/matrix.org/x-niomjibmmrgwzzyy) (*.net *.split)
02:29:58 × sm[m] quits (simonmicma@gateway/shell/matrix.org/x-smorkrdiwycaaxbo) (*.net *.split)
02:29:58 × joe[m]3 quits (joemonoida@gateway/shell/matrix.org/x-zrgraxvdmbpvqofd) (*.net *.split)
02:29:58 × moobar quits (sid171730@gateway/web/irccloud.com/x-lxdmnqustlyookkh) (*.net *.split)
02:29:58 × unclechu quits (unclechuma@gateway/shell/matrix.org/x-tqwhdmxbxpfopxbc) (*.net *.split)
02:29:58 × fgaz quits (fgazmatrix@gateway/shell/matrix.org/x-altyhdajrdgkwiga) (*.net *.split)
02:29:58 × mentaal[m] quits (mentaalmat@gateway/shell/matrix.org/x-cldzerqnoqwflcto) (*.net *.split)
02:29:58 × Liyang[m] quits (liyangmatr@gateway/shell/matrix.org/x-pppuhernsulwjyww) (*.net *.split)
02:29:58 × darkcodi[m] quits (darkcodima@gateway/shell/matrix.org/x-yuxcrrjvakxjaoby) (*.net *.split)
02:29:58 × mud quits (kadobanmat@gateway/shell/matrix.org/x-apivwpznfnnlclpi) (*.net *.split)
02:29:58 × johnnyboy[m] quits (gifumatrix@gateway/shell/matrix.org/x-taasofpihtwizvlh) (*.net *.split)
02:29:58 × l8star__ quits (~l8star@business-90-187-113-149.pool2.vodafone-ip.de) (*.net *.split)
02:29:58 × sz0 quits (uid110435@gateway/web/irccloud.com/x-jnsxmdloooyyfwrd) (*.net *.split)
02:29:58 × natim87 quits (sid286962@gateway/web/irccloud.com/x-ggglpztnteraezah) (*.net *.split)
02:29:58 × banjiewen__ quits (sid115913@gateway/web/irccloud.com/x-rsmfwpptfrqcdppn) (*.net *.split)
02:29:58 × systemfault quits (sid267009@gateway/web/irccloud.com/x-mjidzbagddabkzax) (*.net *.split)
02:29:58 × luite quits (sid387799@gateway/web/irccloud.com/x-ohgaypzpftwfeuju) (*.net *.split)
02:29:58 × lortabac quits (~lortabac@51.158.65.124) (*.net *.split)
02:29:58 × shapr quits (~shapr@haskell/developer/shapr) (*.net *.split)
02:30:02 sz0_ is now known as sz0
02:33:15 sw1nn joins (~sw1nn@2a00:23c7:622f:2c00:df3:76c2:ae90:b3b4)
02:33:15 michaelpj joins (michaelpjm@gateway/shell/matrix.org/x-niomjibmmrgwzzyy)
02:33:15 sm[m] joins (simonmicma@gateway/shell/matrix.org/x-smorkrdiwycaaxbo)
02:33:15 joe[m]3 joins (joemonoida@gateway/shell/matrix.org/x-zrgraxvdmbpvqofd)
02:33:15 moobar joins (sid171730@gateway/web/irccloud.com/x-lxdmnqustlyookkh)
02:33:15 unclechu joins (unclechuma@gateway/shell/matrix.org/x-tqwhdmxbxpfopxbc)
02:33:15 fgaz joins (fgazmatrix@gateway/shell/matrix.org/x-altyhdajrdgkwiga)
02:33:15 mentaal[m] joins (mentaalmat@gateway/shell/matrix.org/x-cldzerqnoqwflcto)
02:33:15 Liyang[m] joins (liyangmatr@gateway/shell/matrix.org/x-pppuhernsulwjyww)
02:33:15 darkcodi[m] joins (darkcodima@gateway/shell/matrix.org/x-yuxcrrjvakxjaoby)
02:33:15 mud joins (kadobanmat@gateway/shell/matrix.org/x-apivwpznfnnlclpi)
02:33:15 johnnyboy[m] joins (gifumatrix@gateway/shell/matrix.org/x-taasofpihtwizvlh)
02:33:15 l8star__ joins (~l8star@business-90-187-113-149.pool2.vodafone-ip.de)
02:33:15 natim87 joins (sid286962@gateway/web/irccloud.com/x-ggglpztnteraezah)
02:33:15 banjiewen__ joins (sid115913@gateway/web/irccloud.com/x-rsmfwpptfrqcdppn)
02:33:15 systemfault joins (sid267009@gateway/web/irccloud.com/x-mjidzbagddabkzax)
02:33:15 luite joins (sid387799@gateway/web/irccloud.com/x-ohgaypzpftwfeuju)
02:33:15 lortabac joins (~lortabac@51.158.65.124)
02:33:15 shapr joins (~shapr@haskell/developer/shapr)
02:33:36 × Tario quits (~Tario@201.192.165.173) (Ping timeout: 240 seconds)
02:33:58 × heatsink quits (~heatsink@2600:1700:bef1:5e10:2d2c:7153:bdbb:6201) (Remote host closed the connection)
02:34:05 × dixie quits (~dixie@real.wilbury.sk) (Ping timeout: 256 seconds)
02:34:28 × sdressel_ quits (~sdressel@pwning.de) (Ping timeout: 276 seconds)
02:34:28 × madnificent quits (~madnifice@static.210.74.63.178.clients.your-server.de) (Ping timeout: 276 seconds)
02:35:56 × renzhi quits (~renzhi@2607:fa49:653f:eb00::5bc7) (Ping timeout: 240 seconds)
02:36:22 <monochrom> I think <*> is very troublesome with "Ap :: f (a->b) -> Ap f a -> Ap f b".
02:36:28 × pja quits (~phil@2a02:8010:6098:0:f2de:f1ff:fe2c:3d9) (Ping timeout: 265 seconds)
02:37:42 × dansho quits (~dansho@ec2-52-69-239-82.ap-northeast-1.compute.amazonaws.com) (Quit: Leaving)
02:37:43 × dbmikus quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 276 seconds)
02:37:59 heatsink joins (~heatsink@2600:1700:bef1:5e10:2d2c:7153:bdbb:6201)
02:38:57 × drbean_ quits (~drbean@TC210-63-209-35.static.apol.com.tw) (Ping timeout: 264 seconds)
02:40:08 deviantfero joins (~deviantfe@190.150.27.58)
02:40:45 Lord_of_Life_ joins (~Lord@unaffiliated/lord-of-life/x-0885362)
02:42:55 × Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 240 seconds)
02:42:55 Lord_of_Life_ is now known as Lord_of_Life
02:43:46 <monochrom> OK, not very troublesome, I got it, but it's a bit more awkward.
02:44:12 × Wuzzy quits (~Wuzzy@p5b0df7c2.dip0.t-ipconnect.de) (Remote host closed the connection)
02:44:36 × apache801 quits (~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 240 seconds)
02:44:43 madnificent joins (~madnifice@static.210.74.63.178.clients.your-server.de)
02:44:54 sm2n joins (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca)
02:45:35 dixie joins (~dixie@real.wilbury.sk)
02:45:48 sdressel joins (~sdressel@pwning.de)
02:47:29 × sm2n quits (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca) (Remote host closed the connection)
02:47:43 sm2n joins (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca)
02:48:11 renzhi joins (~renzhi@2607:fa49:653f:eb00::296e)
02:48:24 × heatsink quits (~heatsink@2600:1700:bef1:5e10:2d2c:7153:bdbb:6201) (Remote host closed the connection)
02:48:54 × pavonia quits (~user@unaffiliated/siracusa) (Quit: Bye!)
02:49:28 × sm2n quits (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca) (Read error: Connection reset by peer)
02:49:36 notzmv joins (~zmv@unaffiliated/zmv)
02:49:42 knupfer joins (~Thunderbi@200116b82cfd6c00951237cec1956766.dip.versatel-1u1.de)
02:50:15 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
02:50:30 heatsink joins (~heatsink@2600:1700:bef1:5e10:2d2c:7153:bdbb:6201)
02:51:03 sm2n joins (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca)
02:52:23 <monochrom> https://paste.tomsmeding.com/Ld3vOJIn
02:55:06 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 256 seconds)
02:55:42 Tario joins (~Tario@201.192.165.173)
02:57:18 <zebrag> indeed
02:57:22 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
02:58:14 × xff0x quits (~xff0x@2001:1a81:53bf:4d00:76e3:7146:e0fd:c933) (Ping timeout: 264 seconds)
03:00:00 xff0x joins (~xff0x@2001:1a81:53fc:b400:9e6f:7ec7:a06c:c48c)
03:00:41 × heatsink quits (~heatsink@2600:1700:bef1:5e10:2d2c:7153:bdbb:6201) (Remote host closed the connection)
03:00:49 × tinhatcat quits (~tsranso@2600:1700:ae40:21c8:883b:8e1b:48a:92f0) (Quit: Leaving)
03:01:23 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:6892:934d:985d:8f37) (Quit: My MacBook has gone to sleep. ZZZzzz…)
03:02:27 × alx741 quits (~alx741@186.178.108.117) (Quit: alx741)
03:02:43 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
03:02:57 × urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna)
03:03:47 ollierees joins (~ollierees@host86-158-135-255.range86-158.btcentralplus.com)
03:04:08 solomon joins (4ca8078b@cpe-76-168-7-139.socal.res.rr.com)
03:04:10 solomon is now known as solomon`
03:04:10 × fl0_id quits (~fl0_id@claudia.s7t.de) (Ping timeout: 256 seconds)
03:04:14 × reactormonk1 quits (~reactormo@mehl.schokokeks.org) (Ping timeout: 272 seconds)
03:04:14 × ManiacTwister quits (~Twister@2a01:4f8:171:4de::40:2) (Ping timeout: 264 seconds)
03:05:19 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 260 seconds)
03:05:22 fosterite joins (~fosterite@2600:6c46:7800:fecf:dc70:c510:31c6:3b4)
03:07:08 × mnrmnaugh quits (~mnrmnaugh@unaffiliated/mnrmnaugh) (Read error: Connection reset by peer)
03:09:24 dbmikus joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
03:09:47 <zebrag> There are four implementation there: https://ro-che.info/articles/2013-03-31-flavours-of-free-applicative-functors, three of them with functor requirement.
03:10:08 <zebrag> imo it's an interesting simple idea.
03:10:20 × xelxebar quits (~xelxebar@gateway/tor-sasl/xelxebar) (Quit: ZNC 1.7.2+deb3 - https://znc.in)
03:10:42 xelxebar joins (~xelxebar@gateway/tor-sasl/xelxebar)
03:11:12 <zebrag> I'll read your paste more thoroughly later.
03:11:23 <zebrag> I suppose it will still be there.
03:11:49 <zebrag> Thanks a lot for, everything.
03:13:19 heatsink joins (~heatsink@2600:1700:bef1:5e10:2d2c:7153:bdbb:6201)
03:15:41 FinnElija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
03:15:41 finn_elija is now known as Guest29895
03:15:41 FinnElija is now known as finn_elija
03:16:38 fl0_id joins (~fl0_id@2a01:4f8:171:4de::40:2)
03:16:40 reactormonk1 joins (~reactormo@mehl.schokokeks.org)
03:17:28 ManiacTwister joins (~Twister@claudia.s7t.de)
03:19:00 <zebrag> Just putting the relevant links here: http://web.jaguarpaw.co.uk/~tom/blog/posts/2012-09-09-towards-free-applicatives.html, https://www.eyrie.org/~zednenem/2013/05/27/freeapp, http://arxiv.org/abs/1403.0749, https://hackage.haskell.org/package/free/docs/Control-Applicative-Free.html
03:19:20 × Guest29895 quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 268 seconds)
03:19:45 nbloomf joins (~nbloomf@2600:1700:ad14:3020:9170:144e:46d9:ed03)
03:24:36 × nineonine quits (~nineonine@50.216.62.2) (Ping timeout: 240 seconds)
03:27:01 __minoru__shirae joins (~shiraeesh@109.166.56.62)
03:27:59 × elliott__ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 245 seconds)
03:29:02 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
03:29:14 × sm2n quits (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca) (Ping timeout: 260 seconds)
03:29:21 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 264 seconds)
03:29:36 × dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 240 seconds)
03:30:12 × heatsink quits (~heatsink@2600:1700:bef1:5e10:2d2c:7153:bdbb:6201) (Remote host closed the connection)
03:30:51 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
03:30:57 dibblego joins (~dibblego@haskell/developer/dibblego)
03:33:19 × __minoru__shirae quits (~shiraeesh@109.166.56.62) (Ping timeout: 260 seconds)
03:35:42 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 265 seconds)
03:36:04 heatsink joins (~heatsink@2600:1700:bef1:5e10:2d2c:7153:bdbb:6201)
03:36:16 <swarmcollective> :t nub
03:36:17 <lambdabot> Eq a => [a] -> [a]
03:36:26 elliott__ joins (~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
03:36:39 <swarmcollective> @src nub
03:36:40 <lambdabot> nub = nubBy (==)
03:36:40 <lambdabot> --OR
03:36:40 <lambdabot> nub l = go l []
03:36:40 <lambdabot> where go [] _ = []
03:36:40 <lambdabot> go (x:xs) ls
03:36:42 <lambdabot> | x `elem` ls = go xs ls
03:36:44 <lambdabot> | otherwise = x : go xs (x:ls)
03:37:09 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
03:37:34 × dcoutts__ quits (~duncan@85.186.125.91.dyn.plus.net) (Remote host closed the connection)
03:37:40 dcoutts_ joins (~dcoutts@unaffiliated/dcoutts)
03:37:59 dcoutts__ joins (~duncan@85.186.125.91.dyn.plus.net)
03:38:00 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
03:38:08 × howdoi quits (uid224@gateway/web/irccloud.com/x-ufymsxtwwagrydka) (Quit: Connection closed for inactivity)
03:39:47 sm2n joins (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca)
03:40:05 conal joins (~conal@64.71.133.70)
03:40:32 × zebrag quits (~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
03:40:51 zebrag joins (~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr)
03:42:04 × dcoutts quits (~dcoutts@unaffiliated/dcoutts) (Ping timeout: 276 seconds)
03:43:45 pincel joins (~pyon@unaffiliated/pyon)
03:43:56 augnun joins (~augnun@2804:14c:658b:41bb:fb9:bc81:b181:b275)
03:44:15 × theDon quits (~td@94.134.91.242) (Ping timeout: 240 seconds)
03:44:40 plutoniix joins (~q@184.82.199.169)
03:46:27 theDon joins (~td@muedsl-82-207-238-151.citykom.de)
03:47:20 ubert1 joins (~Thunderbi@p200300ecdf25d90ee6b318fffe838f33.dip0.t-ipconnect.de)
03:47:59 nineonine joins (~nineonine@50.216.62.2)
03:48:15 × ubert quits (~Thunderbi@p200300ecdf25d9c5e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
03:48:15 ubert1 is now known as ubert
03:50:21 justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311)
03:51:51 × sm2n quits (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca) (Ping timeout: 246 seconds)
03:52:55 × zebrag quits (~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
03:53:14 × slack1256 quits (~slack1256@45.4.2.52) (Remote host closed the connection)
03:55:04 sm2n joins (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca)
03:56:42 <olligobber> @src print
03:56:42 <lambdabot> print x = putStrLn (show x)
03:56:51 <olligobber> I don't know what I expected
03:56:56 <olligobber> @src putStrLn
03:56:56 <lambdabot> putStrLn s = do putStr s; putChar '\n'
03:57:00 <olligobber> lol
03:57:06 <olligobber> @src putStr
03:57:06 <lambdabot> putStr s = hPutStr stdout s
03:57:12 <olligobber> mmhmm
03:57:16 <olligobber> @src hPutStr
03:57:16 <lambdabot> Source not found. There are some things that I just don't know.
03:57:21 <olligobber> great
04:00:15 × Tops2 quits (~Tobias@dyndsl-095-033-025-007.ewe-ip-backbone.de) (Ping timeout: 240 seconds)
04:00:26 pja joins (~phil@2a02:8010:6098:0:f2de:f1ff:fe2c:3d9)
04:02:32 × jpds_ quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
04:03:01 × spamlessj quits (~spamlessj@2a01:4f8:141:1329::2) (Ping timeout: 272 seconds)
04:03:04 jpds_ joins (~jpds@gateway/tor-sasl/jpds)
04:04:49 × nineonine quits (~nineonine@50.216.62.2) (Ping timeout: 260 seconds)
04:10:15 × fosterite quits (~fosterite@2600:6c46:7800:fecf:dc70:c510:31c6:3b4) ()
04:10:38 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
04:12:02 Rudd0 joins (~Rudd0@185.189.115.103)
04:13:12 <monochrom> @src is just a database of handwritten code to show ideas.
04:13:16 × dbmikus quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 276 seconds)
04:13:36 Stanley00 joins (~stanley00@unaffiliated/stanley00)
04:13:54 <monochrom> Neither authoritative nor realistic.
04:15:04 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 245 seconds)
04:16:00 <olligobber> oh
04:16:02 spamlessj joins (~spamlessj@2a01:4f8:141:1329::2)
04:16:03 × solomon` quits (4ca8078b@cpe-76-168-7-139.socal.res.rr.com) (Ping timeout: 240 seconds)
04:20:58 geowiesnot_bis joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
04:22:15 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
04:22:35 <{abby}> you can find the actual source for putStrLn by finding it in the documentation for the base package and clicking the source link, but it's not really important
04:22:56 × knupfer quits (~Thunderbi@200116b82cfd6c00951237cec1956766.dip.versatel-1u1.de) (Ping timeout: 240 seconds)
04:23:24 mnrmnaugh joins (~mnrmnaugh@unaffiliated/mnrmnaugh)
04:23:55 × polyphem quits (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 272 seconds)
04:25:04 <koz_> @src foldl'
04:25:04 <lambdabot> foldl' f a [] = a
04:25:04 <lambdabot> foldl' f a (x:xs) = let a' = f a x in a' `seq` foldl' f a' xs
04:25:11 <koz_> nceat.
04:25:31 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
04:26:20 Tario joins (~Tario@201.192.165.173)
04:27:25 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
04:28:10 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
04:28:39 conal joins (~conal@64.71.133.70)
04:30:32 <olligobber> I expected putStr = foldM_ putChar or something
04:32:58 × conal quits (~conal@64.71.133.70) (Ping timeout: 245 seconds)
04:33:03 × gienah quits (~mwright@gentoo/developer/gienah) (Read error: Network is unreachable)
04:33:22 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:9170:144e:46d9:ed03) (Quit: My MacBook has gone to sleep. ZZZzzz…)
04:35:09 × geowiesnot_bis quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 265 seconds)
04:35:43 × ollierees quits (~ollierees@host86-158-135-255.range86-158.btcentralplus.com) (Quit: WeeChat 2.9)
04:39:44 <pincel> Does it make sense to use finger trees with noncommutative monoids? All examples that I have seen use commutative monoids.
04:40:38 × mnrmnaugh quits (~mnrmnaugh@unaffiliated/mnrmnaugh) (Quit: Leaving)
04:41:14 mnrmnaugh joins (~mnrmnaugh@unaffiliated/mnrmnaugh)
04:42:25 dbmikus joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
04:43:12 <olligobber> noncommutative monoid? you mean a magma?
04:43:20 <pincel> No.
04:43:31 <olligobber> oh wait, I'm thinking of associative
04:44:09 <pincel> It would not be a monoid without the associative property.
04:44:26 <olligobber> that's why I thought it was weird
04:46:17 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
04:47:36 × dbmikus quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 240 seconds)
04:47:56 gienah joins (~mwright@gentoo/developer/gienah)
04:49:38 nineonine joins (~nineonine@50.216.62.2)
04:50:29 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
04:50:53 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 245 seconds)
04:51:31 rayyyy joins (~nanoz@gateway/tor-sasl/nanoz)
04:54:38 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 245 seconds)
04:57:52 × puke quits (~vroom@217.138.252.56) (Quit: puke)
05:01:22 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 276 seconds)
05:01:33 aggin joins (~ecm@103.88.87.46)
05:02:07 × aggin quits (~ecm@103.88.87.46) (Client Quit)
05:05:25 geowiesnot_bis joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
05:06:19 adpx joins (658fac65@101-143-172-101f2.kns1.eonet.ne.jp)
05:06:58 × sz0 quits (uid110435@gateway/web/irccloud.com/x-tlpyvfiuvwdjqrhp) (Quit: Connection closed for inactivity)
05:08:52 d1rges joins (~d1rges@2001-b011-8011-1df2-9c8d-cdf4-5812-0511.dynamic-ip6.hinet.net)
05:11:18 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 245 seconds)
05:14:05 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
05:14:49 × Tario quits (~Tario@201.192.165.173) (Ping timeout: 260 seconds)
05:26:58 ddellacosta joins (~ddellacos@86.106.143.188)
05:27:14 × d1rges quits (~d1rges@2001-b011-8011-1df2-9c8d-cdf4-5812-0511.dynamic-ip6.hinet.net) (Quit: Leaving)
05:27:24 wmacmil joins (~wmacmil@c83-252-138-144.bredband.comhem.se)
05:30:05 <c_wraith> I don't see a problem with the monoid being non-commutative.
05:31:11 <c_wraith> the value in a particular node is always the combination of that node and its children's monoids.
05:31:18 × ddellacosta quits (~ddellacos@86.106.143.188) (Ping timeout: 245 seconds)
05:31:34 <c_wraith> The association may change, but the order won't.
05:33:15 sicklorkin joins (~adsf@s206-116-49-76.bc.hsia.telus.net)
05:34:45 × Guest50271 quits (~textual@zrcout.mskcc.org) (Ping timeout: 264 seconds)
05:35:36 <sicklorkin> I just updated a script that envokes stack i.e. -- stack -- resolver lts-17.4 script; and now I'm getting errors Module Foo.Bar appears in multiple packages: baz hoge and was wondering where I should start looking?
05:37:05 <sicklorkin> I found a package imports propostal suggesting ` import "baz" Foo.Bar` but it didn't fix the issue
05:37:54 × wmacmil quits (~wmacmil@c83-252-138-144.bredband.comhem.se) (Ping timeout: 246 seconds)
05:37:57 <sicklorkin> import Foo.Bar from "containers" didn't work either
05:38:50 <sicklorkin> https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/packages/package-imports-proposal
05:39:50 <sicklorkin> nm.. i had a syntax issue
05:40:12 dbmikus joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
05:42:07 <sicklorkin> needed PackageImports
05:57:01 × tsaka__ quits (~torstein@2a02:587:1b14:d00:5ec3:abec:812c:b3e2) (Ping timeout: 272 seconds)
05:57:45 × vicfred quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving)
05:59:51 × elliott__ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
06:00:13 michalz joins (~user@185.246.204.61)
06:00:28 ddellacosta joins (~ddellacos@86.106.143.110)
06:02:36 aqd joins (~aqd@84.20.147.33)
06:02:57 × dbmikus quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 264 seconds)
06:03:27 × carlomagno1 quits (~cararell@148.87.23.10) (Quit: Leaving.)
06:04:20 jamm_ joins (~jamm@unaffiliated/jamm)
06:05:03 apache801 joins (~rishi@wsip-70-168-153-252.oc.oc.cox.net)
06:05:43 × ddellacosta quits (~ddellacos@86.106.143.110) (Ping timeout: 276 seconds)
06:08:26 × jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 240 seconds)
06:12:00 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
06:12:09 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Client Quit)
06:15:43 × gioyik_ quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 268 seconds)
06:18:05 sicklorkin parts (~adsf@s206-116-49-76.bc.hsia.telus.net) ()
06:18:06 CMCDragonkai1 joins (~Thunderbi@60-242-118-130.tpgi.com.au)
06:20:49 × sm2n quits (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca) (Ping timeout: 256 seconds)
06:21:06 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:23:05 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
06:25:31 sord937 joins (~sord937@gateway/tor-sasl/sord937)
06:30:30 sm2n joins (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca)
06:31:38 × Philonous quits (~Philonous@unaffiliated/philonous) (Ping timeout: 265 seconds)
06:31:52 Philonous joins (~Philonous@unaffiliated/philonous)
06:33:46 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
06:35:36 × forgottenone quits (~forgotten@176.42.24.53) (Ping timeout: 240 seconds)
06:36:13 aggin joins (~ecm@103.88.87.46)
06:38:24 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 245 seconds)
06:39:27 forgottenone joins (~forgotten@176.42.25.89)
06:40:44 sm2n_ joins (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca)
06:41:18 × apache801 quits (~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 245 seconds)
06:41:54 × ukboi quits (~ukboi@139.28.218.148) (Remote host closed the connection)
06:41:56 × nineonine quits (~nineonine@50.216.62.2) (Ping timeout: 240 seconds)
06:43:43 × sm2n quits (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca) (Ping timeout: 265 seconds)
06:45:40 danvet joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
06:46:09 danvet_ joins (~danvet@212-51-149-181.fiber7.init7.net)
06:46:18 sm2n joins (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca)
06:47:41 × sm2n_ quits (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca) (Ping timeout: 260 seconds)
06:49:07 wmacmil joins (~wmacmil@c83-252-138-144.bredband.comhem.se)
06:52:15 × Foritus quits (~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Quit: ლ(ಠ益ಠლ) .:. <Ashley> my porn is hidden in a folder called "BBC Micro Emulator")
06:53:24 Foritus joins (~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
06:54:41 Boomerang joins (~Boomerang@2a05:f6c7:2179:0:9428:7cc:4edb:1705)
06:57:38 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
06:57:46 beng-nl1 joins (~beng-nl@217.146.82.202)
07:01:33 mananamenos joins (~mananamen@193.red-88-11-66.dynamicip.rima-tde.net)
07:04:13 × danvet_ quits (~danvet@212-51-149-181.fiber7.init7.net) (Ping timeout: 276 seconds)
07:04:42 × forgottenone quits (~forgotten@176.42.25.89) (Quit: Konversation terminated!)
07:05:11 <siraben> Why do I have instance Monoid s => Monad (State s) instead of `Monad (State s)` when the monad is derived? http://ix.io/2Rwb
07:05:20 <siraben> As far as I can tell it's coming from the Applicative instance for `(,) s`
07:06:42 <koz_> Compose of two Monads isn't a Monad.
07:06:56 <koz_> Literally oldest trick in the book. :P
07:07:00 <siraben> I know
07:07:05 <siraben> I'm trying to derive the state monad from an adjunction
07:07:30 <siraben> `newtype State s a = State (Compose ((->) s) ((,) s) a) deriving (Functor, Applicative, Monad)`
07:07:34 <koz_> That's why your derivation fails.
07:07:43 <koz_> It's also why you should _always_ explicitly derive.
07:07:59 <koz_> If you'd written it using, say, DerivingVia, you'd have seen this much earlier.
07:08:00 <siraben> It's worked before here: https://gist.github.com/siraben/9c4f5ec972d876f741210ae16ee82192#file-adjunctions-hs-L32
07:08:07 <siraben> Yeah, how would I use deriving via?
07:08:15 <siraben> I have `instance Adjoint f g => Monad (Compose g f) where`
07:08:32 <siraben> it's worked before but I didn't like that instance I put in just to make GHC compile*
07:09:32 <koz_> You'd need to have written 'deriving (Monad) via (Compose ...)
07:09:34 <koz_> '.
07:09:37 bitmagie joins (~Thunderbi@200116b80698c2004c47218aeec9552a.dip.versatel-1u1.de)
07:10:08 <koz_> Although actually, I don't think that would have helped.
07:10:16 <koz_> Ignore me, I dunno what I'm on about. :P
07:10:56 <siraben> I tried looking online for examples of the state monad via the curry/uncurry adjunction, but to no avail
07:11:35 ddellacosta joins (~ddellacos@86.106.143.201)
07:11:41 <siraben> Hm, `Monad (State s)’ is not a unary constraint, as expected by a deriving clause`
07:11:48 <siraben> added the line `deriving (Monad (State s)) via (Compose ((->) s) ((,) s) a)`
07:12:33 × CMCDragonkai1 quits (~Thunderbi@60-242-118-130.tpgi.com.au) (Ping timeout: 245 seconds)
07:13:03 × rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 268 seconds)
07:13:10 nineonine joins (~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2)
07:13:29 × aggin quits (~ecm@103.88.87.46) (Quit: WeeChat 3.0.1)
07:14:01 × nineonine quits (~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2) (Remote host closed the connection)
07:14:13 <koz_> Still get the same constraint problem?
07:14:24 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
07:14:44 <siraben> need to look into deriving via
07:15:03 nineonine joins (~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2)
07:15:03 cfricke joins (~cfricke@unaffiliated/cfricke)
07:15:17 <koz_> You don't need that 'a'
07:15:19 <koz_> It'd be
07:15:34 <siraben> This works,
07:15:36 <siraben> newtype State s a = State (Compose ((->) s) ((,) s) a)
07:15:36 <siraben> deriving (Functor, Applicative)
07:15:36 <siraben> deriving Monad via (Compose ((->) s) ((,) s))
07:15:41 <koz_> Yep.
07:15:43 <siraben> however I still have a monoid constraint on the state
07:15:48 <siraben> instance Monoid s => Monad (State s)
07:15:52 <koz_> Hmmm, I wonder why.
07:15:54 × ddellacosta quits (~ddellacos@86.106.143.201) (Ping timeout: 245 seconds)
07:16:06 <siraben> I think it's definitely because of the applicative instance of `(,) s`
07:16:10 <siraben> I have this:
07:16:11 <siraben> `instance (Applicative g, Applicative f, Adjoint f g) => Monad (Compose g f) where`
07:16:28 <siraben> so it chooses the instance for `(,) s` that requires the type to be monoidial
07:16:44 <koz_> > liftA2 (+) ("foo", 1) ("bar", 2)
07:16:46 <lambdabot> ("foobar",3)
07:16:48 <siraben> I should just make another pair type and have it always choose the right elem or something
07:16:50 <koz_> Yup.
07:17:07 <koz_> So you do get a Monad, just not the one you expected.
07:17:53 <edwardk> siraben: the problem is there are several ways to compose a functor and a monad to make a monad, and they don't all lead to the two pieces being compatible applicatives, and to the result being compatible with the applicative for Compose f g
07:18:08 <koz_> edwardk: Does this make a lawful Monad?
07:18:11 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
07:18:12 <koz_> (as in, this specific case)
07:18:54 <edwardk> iirc not unless you change the Applicative of (Compose g f)
07:19:26 × nineonine quits (~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2) (Ping timeout: 240 seconds)
07:19:57 <edwardk> in general you don't want both part of the Compose to be Applicative
07:19:57 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
07:20:05 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
07:20:57 <edwardk> http://web.cecs.pdx.edu/~mpj/pubs/RR-1004.pdf is a nice paper (from 1993!) where Mark P Jones of hugs fame and Luc Duponcheel go through a few ways to compose pointed functors with monads to get a monad.
07:21:03 graf_blutwurst joins (~user@2001:171b:226e:adc0:cc81:8132:7f95:7a39)
07:21:10 <edwardk> this is sort of a precursor to the monad transformer work we got in the end
07:23:31 toorevitimirp joins (~tooreviti@117.182.182.60)
07:25:12 <mananamenos> hi, in ghci repl I input `1` or `Nothing` and get this warning *<interactive>:10:1: warning: [-Wtype-defaults]..*. I tried to do `:set -Wtype-defaults` and it hasn't help. The warning still pops up everytime before printing the defaulted type value
07:25:29 <koz_> mananamenos: It's because both '1' and 'Nothing' can range in type.
07:25:31 <koz_> :t 1
07:25:33 <lambdabot> Num p => p
07:25:39 <koz_> So we dunno what p you want.
07:25:42 <koz_> Likewise.
07:25:44 <koz_> :t Nothing
07:25:46 <lambdabot> Maybe a
07:25:51 <koz_> So we dunno what 'a' you want.
07:26:02 <koz_> Normally this would come from context.
07:26:05 <koz_> Here you have none.
07:26:10 <koz_> So this is why you get that warning.
07:26:18 <koz_> As opposed to, say
07:26:21 <koz_> :t 1 :: Float
07:26:23 <lambdabot> Float
07:26:25 <koz_> Or
07:26:30 <koz_> :t Nothing :: Maybe Bool
07:26:32 <lambdabot> Maybe Bool
07:26:48 <koz_> I have to specify signatures here because there's no context to inform me.
07:26:49 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
07:26:55 × Rudd0 quits (~Rudd0@185.189.115.103) (Remote host closed the connection)
07:26:59 <mananamenos> koz_, oh right, with Maybe case im wrong, but with 1 i thought that with that :set something-default i can force the ghci to default to Int or whatever that :set something-default decides
07:27:10 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
07:27:10 <koz_> It already does this anyway.
07:27:29 <koz_> I _believe_ the default for whole-number literals is Integer?
07:27:44 <koz_> But I'd say this is not a behaviour you should rely on.
07:27:58 <mananamenos> yes, id does but first printing that 5 lines warning :) which is why im asking if it's posible to remove it at least for the ghci session time
07:28:22 × cads quits (~cads@ip-64-72-99-232.lasvegas.net) (Read error: Connection reset by peer)
07:28:23 <koz_> You wanna do -Wno-type-defaults
07:28:26 × neiluj quits (~jco@unaffiliated/neiluj) (Remote host closed the connection)
07:28:34 <koz_> For -Wfoo, you turn it off with -Wno-foo
07:29:10 <koz_> . o O (so if we had -Wno-do-this-thing, to turn it off would be -Wno-no-do-this-thing?)
07:30:05 neiluj joins (~jco@91-167-203-101.subs.proxad.net)
07:30:10 × neiluj quits (~jco@91-167-203-101.subs.proxad.net) (Changing host)
07:30:10 neiluj joins (~jco@unaffiliated/neiluj)
07:30:54 dbmikus joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
07:31:04 <mananamenos> koz_, thank you!
07:31:11 <koz_> mananamenos: No worries.
07:33:12 kenran joins (~kenran@b2b-37-24-119-190.unitymedia.biz)
07:33:48 tsaka__ joins (~torstein@athedsl-258913.home.otenet.gr)
07:35:21 × deviantfero quits (~deviantfe@190.150.27.58) (Ping timeout: 264 seconds)
07:36:28 bobiusbillius joins (~bobiusbil@2a00:23c7:9909:5b01:909a:85aa:703a:457c)
07:37:19 × dbmikus quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 256 seconds)
07:40:24 × Tarutaev quits (~Tarutaev@90.200.185.163) (Ping timeout: 246 seconds)
07:40:24 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
07:40:45 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
07:43:45 × kam1 quits (~kam1@5.125.82.63) (Ping timeout: 264 seconds)
07:46:03 dhouthoo joins (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be)
07:46:19 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds)
07:46:49 Varis joins (~Tadas@unaffiliated/varis)
07:46:54 chele joins (~chele@ip5b40237d.dynamic.kabel-deutschland.de)
07:47:22 deviantfero joins (~deviantfe@190.150.27.58)
07:49:11 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
07:49:52 × graf_blutwurst quits (~user@2001:171b:226e:adc0:cc81:8132:7f95:7a39) (Remote host closed the connection)
07:49:54 Zivert joins (~Zivert@90.200.185.163)
07:49:56 × tsaka__ quits (~torstein@athedsl-258913.home.otenet.gr) (Ping timeout: 265 seconds)
07:50:11 graf_blutwurst joins (~user@adsl-178-38-234-220.adslplus.ch)
07:50:25 Aquazi joins (uid312403@gateway/web/irccloud.com/x-tgakpwzpocvqwkje)
07:51:43 × deviantfero quits (~deviantfe@190.150.27.58) (Ping timeout: 245 seconds)
07:52:50 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
07:52:51 nineonine joins (~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2)
07:53:49 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 245 seconds)
07:54:38 × nineonine quits (~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2) (Remote host closed the connection)
07:55:33 coot joins (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
07:55:40 nineonine joins (~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2)
07:56:11 × mananamenos quits (~mananamen@193.red-88-11-66.dynamicip.rima-tde.net) (Remote host closed the connection)
07:56:38 mananamenos joins (~mananamen@193.red-88-11-66.dynamicip.rima-tde.net)
07:57:34 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds)
08:00:04 × nineonine quits (~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2) (Ping timeout: 258 seconds)
08:00:06 × danso quits (~dan@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Quit: WeeChat 3.0)
08:02:57 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
08:04:13 × kjak quits (~kjak@pool-108-45-56-21.washdc.fios.verizon.net) (Ping timeout: 260 seconds)
08:04:47 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
08:05:54 kjak joins (~kjak@pool-108-45-56-21.washdc.fios.verizon.net)
08:06:27 Lycurgus joins (~niemand@cpe-45-46-139-165.buffalo.res.rr.com)
08:07:25 Yumasi joins (~guillaume@2a01:e0a:5cb:4430:4f52:603c:a9c0:87e8)
08:09:19 <tomsmeding> koz_: I think it would rather be -Wdo-this-thing ;)
08:09:40 <koz_> tomsmeding: Yeah, I was just being silly.
08:10:29 <tomsmeding> would be a fun easter egg, to let -W(no-no-)*x be equivalent to -Wx
08:10:30 × adpx quits (658fac65@101-143-172-101f2.kns1.eonet.ne.jp) (Quit: Connection closed)
08:10:45 dminuoso idly thinks about how configuring ipv6 nd router advertisements on cisco requires something like `no ipv6 nd ra suppress`
08:11:01 <dminuoso> Where "activate" is considered "dont suppress"
08:11:04 <tomsmeding> and mildly discomforting for intuitionists
08:11:20 × teardown quits (~user@gateway/tor-sasl/mrush) (Remote host closed the connection)
08:11:36 <koz_> tomsmeding: Rofl.
08:11:42 × heatsink quits (~heatsink@2600:1700:bef1:5e10:2d2c:7153:bdbb:6201) (Remote host closed the connection)
08:11:42 teardown joins (~user@gateway/tor-sasl/mrush)
08:11:54 <koz_> Constructivism: Two wrongs don't make a right.
08:12:32 <Lycurgus> did you make that up?
08:12:42 <koz_> Lycurgus: Yes.
08:12:57 <Uniaika> koz_: I was about to say that yeah
08:12:58 <Uniaika> :D
08:13:01 <Lycurgus> i see a standup career in ur future
08:13:10 <koz_> Lycurgus: I... don't think this is wise.
08:13:14 tomsmeding thinks I've seen it before somewhere
08:13:16 <koz_> I am fond of making jokes about 3 people get.
08:13:25 <koz_> tomsmeding: It's not exactly a novel idea.
08:15:13 <opqdonut> however a right makes two wrongs
08:15:18 <opqdonut> and three wrongs are still wrong
08:21:27 poljar joins (~poljar@93-139-44-107.adsl.net.t-com.hr)
08:23:06 L1Cafe6 joins (~L1Cafe@kydara.com)
08:23:22 × alp quits (~alp@163.172.83.213) (Remote host closed the connection)
08:23:25 × zfnmxt quits (~zfnmxt@unaffiliated/zfnmxt) (Ping timeout: 272 seconds)
08:23:28 × L1Cafe quits (~L1Cafe@kydara.com) (Read error: Connection reset by peer)
08:23:29 L1Cafe6 is now known as L1Cafe
08:23:40 alp joins (~alp@163.172.83.213)
08:23:56 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
08:24:03 × poljar1 quits (~poljar@93-139-44-107.adsl.net.t-com.hr) (Ping timeout: 272 seconds)
08:24:21 × sm2n quits (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca) (Read error: Connection reset by peer)
08:24:42 × texasmynsted quits (~texasmyns@99.96.221.112) (Ping timeout: 272 seconds)
08:24:42 sm2n joins (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca)
08:24:49 zfnmxt joins (~zfnmxt@unaffiliated/zfnmxt)
08:24:59 texasmynsted joins (~texasmyns@99.96.221.112)
08:28:24 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 245 seconds)
08:28:50 KMEIN is now known as kmein
08:29:57 × jacks2 quits (~bc8134e3@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout))
08:32:37 × wmacmil quits (~wmacmil@c83-252-138-144.bredband.comhem.se) (Ping timeout: 276 seconds)
08:32:49 × bitmagie quits (~Thunderbi@200116b80698c2004c47218aeec9552a.dip.versatel-1u1.de) (Quit: bitmagie)
08:33:18 × bitmapper quits (uid464869@gateway/web/irccloud.com/x-aqvovigjeqvpxetm) (Quit: Connection closed for inactivity)
08:33:35 × ericsagnes quits (~ericsagne@2405:6580:0:5100:3056:df9b:393a:c87f) (Ping timeout: 240 seconds)
08:34:55 nineonine joins (~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2)
08:36:15 kritzefitz joins (~kritzefit@fw-front.credativ.com)
08:36:45 × nineonine quits (~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2) (Remote host closed the connection)
08:37:02 m0rphism1 joins (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
08:37:21 nineonine joins (~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2)
08:40:16 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
08:40:35 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Client Quit)
08:40:47 royal_screwup218 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
08:41:26 × nineonine quits (~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2) (Ping timeout: 240 seconds)
08:41:26 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
08:41:27 × chenshen quits (~chenshen@2620:10d:c090:400::5:3b8c) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
08:41:51 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
08:43:06 × geyaeb_ quits (~geyaeb@gateway/tor-sasl/geyaeb) (Ping timeout: 268 seconds)
08:43:24 × kiltzman quits (~k1ltzman@195.189.99.96) (Ping timeout: 240 seconds)
08:43:55 × Chobbes quits (~Chobbes@pool-98-115-239-235.phlapa.fios.verizon.net) (Ping timeout: 240 seconds)
08:44:14 × sdrodge quits (~sdrodge@unaffiliated/sdrodge) (Ping timeout: 245 seconds)
08:44:19 × abrar_ quits (~abrar@static-108-30-103-121.nycmny.fios.verizon.net) (Ping timeout: 272 seconds)
08:44:21 geyaeb joins (~geyaeb@gateway/tor-sasl/geyaeb)
08:44:39 × chirpsalot quits (~Chirps@pool-98-115-239-235.phlapa.fios.verizon.net) (Ping timeout: 245 seconds)
08:44:45 × khisanth_ quits (~Khisanth@24.sub-174-244-147.myvzw.com) (Ping timeout: 256 seconds)
08:44:46 ubert1 joins (~Thunderbi@p548c9a44.dip0.t-ipconnect.de)
08:44:55 × matryoshka quits (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Ping timeout: 240 seconds)
08:45:16 × royal_screwup218 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
08:45:25 × jpds_ quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
08:45:29 × hiroaki_ quits (~hiroaki@2a02:8108:8c40:2bb8:b4e:b96c:b479:6a8f) (Ping timeout: 272 seconds)
08:45:47 jpds_ joins (~jpds@gateway/tor-sasl/jpds)
08:45:49 ericsagnes joins (~ericsagne@2405:6580:0:5100:3952:4f6a:8da:bef6)
08:45:53 Guest_67 joins (cfcf7fd1@207.207.127.209)
08:46:09 khisanth_ joins (~Khisanth@24.sub-174-244-147.myvzw.com)
08:46:28 × Guest_67 quits (cfcf7fd1@207.207.127.209) (Client Quit)
08:46:30 × Sgeo quits (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
08:46:48 Chobbes joins (~Chobbes@pool-98-115-239-235.phlapa.fios.verizon.net)
08:46:56 × ubert quits (~Thunderbi@p200300ecdf25d90ee6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
08:46:57 ubert1 is now known as ubert
08:47:08 × Lycurgus quits (~niemand@cpe-45-46-139-165.buffalo.res.rr.com) (Quit: Exeunt)
08:47:26 abrar_ joins (~abrar@static-108-30-103-121.nycmny.fios.verizon.net)
08:48:44 chirpsalot joins (~Chirps@pool-98-115-239-235.phlapa.fios.verizon.net)
08:49:10 cgadski joins (~textual@a95-95-106-208.cpe.netcabo.pt)
08:49:28 sdrodge joins (~sdrodge@unaffiliated/sdrodge)
08:49:48 kiltzman joins (~k1ltzman@195.189.99.96)
08:50:04 matryoshka joins (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
08:53:42 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
08:57:12 jamm_ joins (~jamm@unaffiliated/jamm)
08:57:24 hiroaki_ joins (~hiroaki@2a02:8108:8c40:2bb8:4198:736b:7066:258b)
08:59:56 × kjak quits (~kjak@pool-108-45-56-21.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
09:00:05 × toorevitimirp quits (~tooreviti@117.182.182.60) (Remote host closed the connection)
09:00:51 knupfer joins (~Thunderbi@200116b824ca5e004cef4013fe9dd744.dip.versatel-1u1.de)
09:01:16 × MarcelineVQ quits (~anja@198.254.199.42) (Ping timeout: 240 seconds)
09:02:02 kjak joins (~kjak@pool-108-45-56-21.washdc.fios.verizon.net)
09:02:29 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
09:03:32 MarcelineVQ joins (~anja@198.254.199.42)
09:07:34 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 260 seconds)
09:08:24 × cgadski quits (~textual@a95-95-106-208.cpe.netcabo.pt) (Quit: My MacBook has gone to sleep. ZZZzzz…)
09:08:48 mayleesia joins (4d0b95c6@dynamic-077-011-149-198.77.11.pool.telefonica.de)
09:08:48 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
09:08:57 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
09:09:07 × coot quits (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Read error: Connection reset by peer)
09:09:16 hendursa1 joins (~weechat@gateway/tor-sasl/hendursaga)
09:10:10 cgadski joins (~textual@a95-95-106-208.cpe.netcabo.pt)
09:10:20 fendor joins (~fendor@91.141.0.81.wireless.dyn.drei.com)
09:10:51 × hendursaga quits (~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 268 seconds)
09:12:05 heatsink joins (~heatsink@2600:1700:bef1:5e10:2d2c:7153:bdbb:6201)
09:16:35 × heatsink quits (~heatsink@2600:1700:bef1:5e10:2d2c:7153:bdbb:6201) (Ping timeout: 240 seconds)
09:19:00 <hc_> Sigh, why do people on the haskell mailing list apologize for cross-posting so often, only to cross-post their stuff?
09:19:14 × DataComputist quits (~lumeng@50.43.26.251) (Ping timeout: 260 seconds)
09:19:59 seiryn joins (~seiryn@2a01cb0409c990003ccf6635f6976a70.ipv6.abo.wanadoo.fr)
09:21:00 <opqdonut> well surely, if they didn't cross-post, they wouldn't need to apologise!
09:22:21 wmacmil joins (~wmacmil@c83-248-104-92.bredband.comhem.se)
09:22:21 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
09:22:32 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
09:25:09 × sm2n quits (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca) (Ping timeout: 265 seconds)
09:25:29 × ubert quits (~Thunderbi@p548c9a44.dip0.t-ipconnect.de) (Remote host closed the connection)
09:25:44 ubert joins (~Thunderbi@p200300ecdf25d90eca5b76fffe29f233.dip0.t-ipconnect.de)
09:25:56 × knupfer quits (~Thunderbi@200116b824ca5e004cef4013fe9dd744.dip.versatel-1u1.de) (Ping timeout: 240 seconds)
09:26:25 mouseghost joins (~draco@wikipedia/desperek)
09:28:47 Franciman joins (~francesco@host-82-49-79-189.retail.telecomitalia.it)
09:28:49 × cgadski quits (~textual@a95-95-106-208.cpe.netcabo.pt) (Quit: My MacBook has gone to sleep. ZZZzzz…)
09:29:58 <seiryn> I was wondering : If i write a constant function (like fac10 :: Int, defined by fac10 = factorial 10) , Will this function be evaluated during compilationn or runtime ?
09:30:46 sm2n joins (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca)
09:30:46 × mjacob quits (~mjacob@unaffiliated/mjacob) (Read error: Connection reset by peer)
09:31:10 cgadski joins (~textual@a95-95-106-208.cpe.netcabo.pt)
09:31:56 chenshen joins (~chenshen@2620:10d:c090:400::5:3b8c)
09:32:00 × cgadski quits (~textual@a95-95-106-208.cpe.netcabo.pt) (Client Quit)
09:33:25 kuribas joins (~user@ptr-25vy0ia12wjqyp3p35k.18120a2.ip6.access.telenet.be)
09:36:28 × chenshen quits (~chenshen@2620:10d:c090:400::5:3b8c) (Client Quit)
09:36:41 mjacob joins (~mjacob@unaffiliated/mjacob)
09:36:45 × sm2n quits (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca) (Ping timeout: 265 seconds)
09:36:51 ddellacosta joins (~ddellacos@86.106.143.84)
09:37:24 sm2n joins (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca)
09:40:24 <hololeap> seiryn: not 100% sure, but i think it will be evaluated at runtime each time it is called, unless you implement memoization of some kind. however, ghc might optimize it somehow with -O/-O1/-O2
09:42:10 × ddellacosta quits (~ddellacos@86.106.143.84) (Ping timeout: 276 seconds)
09:42:47 × sm2n quits (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca) (Read error: Connection reset by peer)
09:42:48 sm2n_ joins (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca)
09:46:23 sm2n joins (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca)
09:47:14 tsaka__ joins (~torstein@athedsl-258913.home.otenet.gr)
09:48:13 × sm2n_ quits (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca) (Ping timeout: 256 seconds)
09:50:00 DataComputist joins (~lumeng@50.43.26.251)
09:51:09 × dsrt^ quits (dsrt@ip98-184-89-2.mc.at.cox.net) ()
09:53:40 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
09:54:08 clynamen_ joins (~clynamen@net-93-66-1-11.cust.vodafonedsl.it)
09:55:29 × clynamen quits (~clynamen@net-93-66-1-11.cust.vodafonedsl.it) (Ping timeout: 245 seconds)
09:56:13 <MarcelineVQ> seiryn: once during runtime the first time it's used, each time the program is run. also that's not a function, functions have -> in the type, e.g. Int -> Int or Char -> Char -> String
09:56:13 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
09:56:37 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
09:57:18 thc202 joins (~thc202@unaffiliated/thc202)
09:58:16 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
09:58:19 × sm2n quits (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca) (Ping timeout: 260 seconds)
09:58:29 <seiryn> MarcelineVO : Thanks, and how it's called then ? I don't know the correct term
10:00:53 <MarcelineVQ> fact10 is a value of Int, nothing special :>
10:02:23 lprd joins (~jon@2a01cb0002954401ccf39439e30a9187.ipv6.abo.wanadoo.fr)
10:03:40 <MarcelineVQ> in haskell functions are also values, Int just isn't the type of a function. fac10 is a value of Int, tail is a value of [a] -> [a], tail happens to be a function and fac10 doesn't
10:04:37 × hnOsmium0001 quits (uid453710@gateway/web/irccloud.com/x-emslfebnrfzacuco) (Quit: Connection closed for inactivity)
10:05:44 saitamaplus joins (uid272474@gateway/web/irccloud.com/x-ubvhdubmvytegxuj)
10:06:02 son0p joins (~son0p@181.58.39.182)
10:07:23 vs^ joins (vs@ip98-184-89-2.mc.at.cox.net)
10:08:29 gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh)
10:08:35 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
10:11:59 Rudd0 joins (~Rudd0@185.189.115.103)
10:12:59 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 245 seconds)
10:13:10 heatsink joins (~heatsink@2600:1700:bef1:5e10:b5:5f2:242:2b9e)
10:13:10 knupfer joins (~Thunderbi@dynamic-046-114-148-091.46.114.pool.telefonica.de)
10:13:21 × MidAutumnHotaru quits (~MidAutumn@unaffiliated/midautumnhotaru) (Quit: Ping timeout (120 seconds))
10:13:29 × knupfer quits (~Thunderbi@dynamic-046-114-148-091.46.114.pool.telefonica.de) (Client Quit)
10:13:39 MidAutumnHotaru joins (~MidAutumn@unaffiliated/midautumnhotaru)
10:13:50 knupfer joins (~Thunderbi@dynamic-046-114-148-091.46.114.pool.telefonica.de)
10:15:39 sz0 joins (uid110435@gateway/web/irccloud.com/x-gudvzeidxnskkkra)
10:17:35 × heatsink quits (~heatsink@2600:1700:bef1:5e10:b5:5f2:242:2b9e) (Ping timeout: 240 seconds)
10:18:09 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
10:22:24 TV is now known as tv
10:24:30 ixlun joins (~user@213.205.241.12)
10:27:24 × jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
10:28:33 jamm_ joins (~jamm@unaffiliated/jamm)
10:30:55 × knupfer quits (~Thunderbi@dynamic-046-114-148-091.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
10:32:08 Habib joins (~Habib@178.159.3.177)
10:32:47 <Habib> does anyone know when hackage switched from http basic auth to http digest auth?
10:33:01 × jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 258 seconds)
10:35:16 knupfer joins (~Thunderbi@dynamic-046-114-148-091.46.114.pool.telefonica.de)
10:35:41 <Habib> i've lost access to my account and i'm stuck in a catch-22: it won't let me reset it as it says my account details don't exist — perhaps because it's an account that needs to be upgraded? — but i can't upgrade either because that requires me to know my password, which i clearly don't (despite having it saved in my keychain), but i can't reset it because…
10:36:00 saitamaplus is now known as CodeAlways
10:37:23 cgadski joins (~textual@a95-95-106-208.cpe.netcabo.pt)
10:37:54 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
10:38:40 <MarcelineVQ> trying asking in #hackage if you don't get a respone here
10:39:15 <Habib> thanks @MarcelineVQ: i've emailed the trustees already but was unaware of their irc channel
10:39:53 Rudd0^ joins (~Rudd0@185.189.115.108)
10:40:30 fiddlerwoaroof is now known as edwlan
10:40:53 ClaudiusMaximus joins (~claude@191.123.199.146.dyn.plus.net)
10:40:53 × ClaudiusMaximus quits (~claude@191.123.199.146.dyn.plus.net) (Changing host)
10:40:53 ClaudiusMaximus joins (~claude@unaffiliated/claudiusmaximus)
10:42:24 × Rudd0 quits (~Rudd0@185.189.115.103) (Ping timeout: 246 seconds)
10:43:45 × poscat1 quits (~poscat@123.116.89.28) (Ping timeout: 264 seconds)
10:44:02 kam1 joins (~kam1@5.125.82.63)
10:44:36 poscat joins (~poscat@123.116.89.28)
10:46:53 <Habib> huh, looks like it fixed itself; i had this problem last night so i may have been doing my password wrong
10:46:59 <Habib> i was pasting it tho
10:47:54 edwlan is now known as fiddlerwoaroof
10:48:04 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
10:48:08 <Habib> hmm… still won't let me upgrade tho
10:49:12 <Habib> hmm… i wonder if the upgrade step on the backend worked even though it just presented the auth dialog again, and then i was able to login after that
10:49:15 × wmacmil quits (~wmacmil@c83-248-104-92.bredband.comhem.se) (Ping timeout: 265 seconds)
10:49:20 fiddlerwoaroof is now known as edwlan
10:49:33 edwlan is now known as fiddlerwoaroof
10:50:20 × cgadski quits (~textual@a95-95-106-208.cpe.netcabo.pt) (Quit: My MacBook has gone to sleep. ZZZzzz…)
10:50:21 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
10:50:43 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
10:52:34 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 260 seconds)
10:52:42 cgadski joins (~textual@a95-95-106-208.cpe.netcabo.pt)
10:59:34 × sablib quits (~sablib@171.113.165.91) (Read error: Connection reset by peer)
10:59:37 elfets joins (~elfets@37.201.23.96)
10:59:57 × cgadski quits (~textual@a95-95-106-208.cpe.netcabo.pt) (Quit: My MacBook has gone to sleep. ZZZzzz…)
11:00:08 sablib joins (~sablib@59.173.154.87)
11:05:36 × poscat quits (~poscat@123.116.89.28) (Ping timeout: 240 seconds)
11:07:09 whyohwhy joins (9353c965@clients-xsf-101.upc.es)
11:07:10 poscat joins (~poscat@123.116.89.28)
11:08:02 jamm_ joins (~jamm@unaffiliated/jamm)
11:08:21 wmacmil joins (~wmacmil@84.216.157.27)
11:09:57 × graf_blutwurst quits (~user@adsl-178-38-234-220.adslplus.ch) (Remote host closed the connection)
11:10:24 <whyohwhy> Hi all! Quick question regarding traversing lists: I want to apply a sliding overlapping window with certain coefficients ([Float] with length n), to a long input data ([Int] with length k). I am thinking on a recursive process of "take n xs", "zipWith * win ()" and "drop n/2 xs", but to me it seems as if i'm falling into a trap by my knowledge of
11:10:24 <whyohwhy> other programming languages. To obtain the results, I would also have to append, and at the same time recursively call this function until all the input data has been processed.
11:10:41 <mananamenos> hi, i've just installed haskell-server-language from nixpkgs many things seems to work. However, creating a new module, I get this error: LSP :: No [cradle](https://github.com/mpickering/hie-bios#hie-bios) found for src/Foo.hs.
11:10:56 graf_blutwurst joins (~user@2001:171b:226e:adc0:cc81:8132:7f95:7a39)
11:12:15 × jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 240 seconds)
11:13:13 <mouseghost> whyohwhy, overlapping?
11:13:46 <whyohwhy> mouseghost The window moves n/2 every iteration, instead of n if there was no overlap
11:14:13 <Boomerang> Is the output twice as long as the input?
11:15:23 <whyohwhy> Yes, approximately depending on if the number of input samples are a multiple of the window size
11:15:53 <mouseghost> whyohwhy, does it start aligned?
11:16:08 <mouseghost> and end so?
11:17:38 <mouseghost> it sounds to me like you could change the window from n to n/2 length, but idk, maybe im seeing it wrong
11:17:38 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
11:17:48 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
11:18:10 <whyohwhy> it starts aligned, yes
11:18:37 <Boomerang> > let slidy _ [] = []; slidy window xs = zipWith (*) window xs ++ slidy window (drop (length window `div` 2) xs) in slidy [1..4] [1..10]
11:18:39 <lambdabot> [1,4,9,16,3,8,15,24,5,12,21,32,7,16,27,40,9,20]
11:18:58 <whyohwhy> Can I post links to images?
11:19:45 <whyohwhy> Boomerang the result would need to be segmented though, but I guess that can be done afterwards as they are equally spaced segments
11:19:57 <whyohwhy> Hmmm let me try to understand the code
11:20:04 <Boomerang> Ah so you don't append?
11:20:15 <Boomerang> That should be easier then :)
11:20:23 <whyohwhy> The result needs to be FFT'ed afterwards
11:20:31 <Boomerang> > let slidy _ [] = []; slidy window xs = zipWith (*) window xs : slidy window (drop (length window `div` 2) xs) in slidy [1..4] [1..10]
11:20:32 <whyohwhy> This is part of the Short-time fourier transform
11:20:34 <lambdabot> [[1,4,9,16],[3,8,15,24],[5,12,21,32],[7,16,27,40],[9,20]]
11:21:00 <whyohwhy> So i'm guessing having it segmented is more efficient for the processing afterwards
11:21:55 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:22:26 × mayleesia quits (4d0b95c6@dynamic-077-011-149-198.77.11.pool.telefonica.de) (Quit: Connection closed)
11:23:04 <whyohwhy> Boomerang that looks about what I'd expect, yes! I will try with the rest of the code and see if the result is mathematically correct. Thanks a bunch!
11:23:29 <Boomerang> If you need it segmented you might as well avoid appending :) What I wrote is exactly what you described originally ^^
11:23:47 <whyohwhy> The main problem I'm having with Haskell is in the little details
11:23:58 __monty__ joins (~toonn@unaffiliated/toonn)
11:23:58 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
11:24:34 <Boomerang> Performance wise this is probably fine if you need it to be a list. But if you're in FFT land you might want to think if a list is the best data structure
11:24:48 <whyohwhy> The idea is to move this through clash to VHDL
11:25:02 <Boomerang> Oh then you need to use a Vec
11:25:08 <Boomerang> Clash doesn't synthesise lists
11:25:15 <whyohwhy> ouch good to know before I begin
11:27:13 <Boomerang> Unfortunately this kind of transformation on Vec is not the most straight forward to implement because it heavily relies on types for the lengths
11:28:24 <whyohwhy> You mean vec works bitwise?
11:28:31 <Boomerang> whyohwhy, maybe #clash-lang would be a better place to ask questions. But can you give more information about how the data is coming in, are you applying one window per cycle/all at once
11:28:46 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 276 seconds)
11:29:49 <whyohwhy> Boomerang I wanted to start from the beginning with pure Haskell, and then move it to Clash, which is why I'm first doing a simulation in pure Haskell to see how it would work. But yes, seems like in this case having the final system in mind has a lot of repercussions on how I approach the problem.
11:30:20 <Boomerang> Clash can't synthesis lists because it doesn't statically know what resources it needs
11:30:21 × plutoniix quits (~q@184.82.199.169) (Quit: Leaving)
11:30:36 <Boomerang> You can still simulate clash code with Vec in pure Haskell
11:30:58 <whyohwhy> In the FPGA, the samples will come serially, and the windowing should happen when the n samples have been ingested
11:31:27 <Boomerang> Nice! And then output the n*2 samples at once?
11:31:40 <whyohwhy> Yes, that was very very important. I will start again with Vec of course
11:32:14 <whyohwhy> I think it will be more efficient if the n samples are output as they arrive, because then they can start being FFT'ed for posterior processing
11:32:22 <whyohwhy> then at some point all of that will go to the DMA
11:33:28 <Boomerang> Would the windowing/multiplication I would use a mealy machine (there is a clash function for this)
11:33:45 <whyohwhy> I still have mealy machines on my to-do list
11:33:59 <Boomerang> Then use 2 Vec as part of your state (so you can accumulate input with the offset)
11:34:35 <Boomerang> I think you can get away with only using 2 multipliers that way
11:35:13 <whyohwhy> one for the sample*window coef and the other ?
11:35:32 <whyohwhy> shifting?
11:35:43 <Boomerang> Oh yeah sorry I was assuming the window coeficients were static. Are they?
11:36:10 <whyohwhy> The window can be in a register, as it will be static yes
11:36:14 <Boomerang> And yes shifting. If your input comes in serially sample by sample, you need to shift them into the Vecs in your state
11:36:15 romesrf joins (~romesrf@44.190.189.46.rev.vodafone.pt)
11:36:15 <whyohwhy> Both the length and coefficients
11:36:45 <whyohwhy> Understood!
11:36:59 <whyohwhy> I don't want to bother you any more, I'll get to work with all this new information
11:37:04 <whyohwhy> Thanks a lot!
11:37:30 <Boomerang> For the output type, you'll probably want to output `Maybe (Vec n a)`
11:37:36 <romesrf> hey! i was wondering if anyone knew how to get the first number that satisfies a condition
11:38:17 <romesrf> i have "divisibleByList x [1..20]" return True or False if x is divisible by all numbers from 1 to 20
11:38:45 jamm_ joins (~jamm@unaffiliated/jamm)
11:39:02 <romesrf> I want to try multiple numbers of x until the condition is satisfied, and was trying something like > take 1 [x | x <- [20..], divisibleByList x [1..20]]
11:39:23 Feuermagier joins (~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6)
11:40:00 <whyohwhy> Boomerang duly noted! Thanks again for everything!
11:40:41 <Boomerang> whyohwhy, do ask more questions if you need. Getting started in Clash can be hard
11:40:54 <xsperry> :t takeWhile -- romesrf
11:40:55 <lambdabot> (a -> Bool) -> [a] -> [a]
11:41:11 <whyohwhy> Boomerang I probably will, it seems a bit daunting
11:44:57 × tessier quits (~treed@kernel-panic/copilotco) (Ping timeout: 256 seconds)
11:46:31 × redmp quits (~redmp@172.58.38.139) (Quit: leaving)
11:46:56 barnowl joins (~myles@gateway/tor-sasl/barnowl)
11:47:24 × wmacmil quits (~wmacmil@84.216.157.27) (Ping timeout: 260 seconds)
11:47:58 cgadski joins (~textual@a95-95-106-208.cpe.netcabo.pt)
11:50:46 asdfaaaa joins (3d1a23ba@61-26-35-186.rev.home.ne.jp)
11:51:03 Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas)
11:54:07 asdfaaaa parts (3d1a23ba@61-26-35-186.rev.home.ne.jp) ()
11:54:25 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
11:55:11 × ClaudiusMaximus quits (~claude@unaffiliated/claudiusmaximus) (Quit: ->)
11:57:58 × barnowl quits (~myles@gateway/tor-sasl/barnowl) (Quit: barnowl)
11:58:09 barnowl joins (~barnowl@gateway/tor-sasl/barnowl)
11:58:09 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
11:58:24 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
11:59:13 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds)
11:59:55 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
12:01:36 whald joins (~trem@2a02:810a:8100:11a6:ce1b:d0ec:5466:a331)
12:04:26 __minoru__shirae joins (~shiraeesh@109.166.56.89)
12:04:38 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 245 seconds)
12:05:34 boxscape joins (4ff0baf3@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.243)
12:09:39 mputz joins (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de)
12:10:11 royal_screwup218 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
12:10:24 bahamas joins (~lucian@unaffiliated/bahamas)
12:14:28 heatsink joins (~heatsink@2600:1700:bef1:5e10:b5:5f2:242:2b9e)
12:15:36 × geowiesnot_bis quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds)
12:17:15 pavonia joins (~user@unaffiliated/siracusa)
12:17:22 <romesrf> --xsperry takeWhile doesn't resolve my problem since i still have to specify a max value for the list from where to takeWhile, i've tried to get it to work with no result
12:17:35 jpds_ is now known as jpds
12:17:49 <cheater> romesrf: you want a fold
12:17:58 <romesrf> :t fold
12:17:59 <lambdabot> (Foldable t, Monoid m) => t m -> m
12:18:09 <romesrf> i'll look into it, thank you
12:18:15 × royal_screwup218 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
12:18:25 <romesrf> i'm just learning haskell, so Foldable and Monoid is something i don't know yet :)
12:18:26 <cheater> well not the function fold
12:18:30 <cheater> you want /a/ fold
12:18:31 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
12:18:35 royal_screwup218 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
12:18:39 <cheater> go read up on the differences between foldr and foldl
12:18:45 <cheater> there's that wiki page
12:18:52 <romesrf> Okay, I will
12:18:55 × heatsink quits (~heatsink@2600:1700:bef1:5e10:b5:5f2:242:2b9e) (Ping timeout: 240 seconds)
12:18:55 <tdammers> (also foldl and foldl')
12:18:59 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
12:19:32 <tdammers> ((although at this level, it boils down to "use foldl', not foldl, because Trust Me™))
12:20:06 <cheater> tdammers: it's the same wiki page
12:20:06 <romesrf> > trust me™ahahahahahaha
12:20:08 <lambdabot> error: Variable not in scope: trust :: t1 -> t0error:
12:20:08 <lambdabot> • Variable not in scope: me
12:20:08 <lambdabot> • Perhaps you meant one of these:
12:20:23 <romesrf> how do i tag people in the channel? (using weechat - also new to it)
12:20:38 <tdammers> you just write their nick without further decorations
12:20:44 <tdammers> like so: romesrf
12:20:49 <romesrf> beatiful +1
12:20:58 <boxscape> romesrf if you type the beginning of someone's name weechat will let you complete it by hitting `tab` as well
12:21:06 <tdammers> a common format is "nick: message" though
12:21:10 <romesrf> really nice!
12:21:22 <tdammers> and yeah, weechat completion does that automatically at the beginning of a message
12:21:31 × lawid quits (~quassel@dslb-090-186-208-048.090.186.pools.vodafone-ip.de) (Quit: lawid)
12:22:08 <mananamenos> I have Main.hs which import Foo.hs. When running `cabal new-build` I get a warning: These modules are needed for compilation but not listed in your .cabal file's other-modules: Foo. Why? To remove this warning I have to add Foo to other-modules in .cabal file.
12:22:45 × __minoru__shirae quits (~shiraeesh@109.166.56.89) (Ping timeout: 264 seconds)
12:22:48 <merijn> mananamenos: What's the question?
12:23:53 lawid joins (~quassel@dslb-090-186-208-048.090.186.pools.vodafone-ip.de)
12:24:31 <mananamenos> merijn, I thought that having `hs-source-dirs: src` and having all the module in src dir is enough. Or do I have to each and every module name now in other-modules so I dont see that warning.
12:24:41 × royal_screwup218 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
12:25:02 royal_screwup218 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
12:25:28 <merijn> You have to list every module, yes
12:28:07 × fendor quits (~fendor@91.141.0.81.wireless.dyn.drei.com) (Remote host closed the connection)
12:29:04 × cocreature quits (~cocreatur@eirene.uberspace.de) (Read error: Connection reset by peer)
12:32:02 cocreature joins (~cocreatur@eirene.uberspace.de)
12:32:03 ddellacosta joins (~ddellacos@86.106.143.58)
12:32:21 × ubert quits (~Thunderbi@p200300ecdf25d90eca5b76fffe29f233.dip0.t-ipconnect.de) (Remote host closed the connection)
12:32:21 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
12:32:34 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
12:32:42 ubert joins (~Thunderbi@p200300ecdf25d90ee6b318fffe838f33.dip0.t-ipconnect.de)
12:34:12 × Stanley00 quits (~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
12:34:52 Stanley00 joins (~stanley00@unaffiliated/stanley00)
12:36:43 × ddellacosta quits (~ddellacos@86.106.143.58) (Ping timeout: 245 seconds)
12:39:20 × Stanley00 quits (~stanley00@unaffiliated/stanley00) (Ping timeout: 256 seconds)
12:41:28 × augnun quits (~augnun@2804:14c:658b:41bb:fb9:bc81:b181:b275) (Quit: WeeChat 3.0.1)
12:42:13 × vs^ quits (vs@ip98-184-89-2.mc.at.cox.net) ()
12:43:10 massma joins (~user@dyn-160-39-62-152.dyn.columbia.edu)
12:43:36 <romesrf> foldl is really nice
12:44:08 <romesrf> i found a beautiful solution for problem euler 5 (im redoing them to learn haskell)
12:44:23 <romesrf> (i didn't write it tho, so i'm gonna still try with what i was doing but...)
12:44:26 <romesrf> foldl' lcm 1 [1..20]
12:46:01 × massma quits (~user@dyn-160-39-62-152.dyn.columbia.edu) (Client Quit)
12:46:01 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
12:46:10 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
12:46:22 massma joins (~user@dyn-160-39-62-152.dyn.columbia.edu)
12:48:25 carlomagno joins (~cararell@148.87.23.6)
12:55:56 × bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 240 seconds)
12:56:16 romesrf_ joins (~romesrf@44.190.189.46.rev.vodafone.pt)
12:57:58 Wuzzy joins (~Wuzzy@p5b0df7c2.dip0.t-ipconnect.de)
12:58:37 × romesrf quits (~romesrf@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds)
12:58:52 dsrt^ joins (dsrt@ip98-184-89-2.mc.at.cox.net)
12:59:37 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
12:59:37 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
12:59:45 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
13:03:16 × royal_screwup218 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
13:03:36 royal_screwup218 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
13:05:10 × cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0.1)
13:05:31 ubert2 joins (~Thunderbi@p548c9a44.dip0.t-ipconnect.de)
13:05:46 geekosaur joins (82650c7a@130.101.12.122)
13:05:57 larryba joins (~bc8134e3@217.29.117.252)
13:06:28 <larryba> hi
13:06:34 <boxscape> hey
13:06:39 <larryba> why does fastnub work with infinite lists, but fastnub2 doesn't? https://paste.tomsmeding.com/NKhLSTgc
13:06:56 × ubert quits (~Thunderbi@p200300ecdf25d90ee6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
13:06:56 ubert2 is now known as ubert
13:08:05 cfricke joins (~cfricke@unaffiliated/cfricke)
13:08:29 × royal_screwup218 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds)
13:09:04 bahamas joins (~lucian@188.27.48.99)
13:09:04 × bahamas quits (~lucian@188.27.48.99) (Changing host)
13:09:05 bahamas joins (~lucian@unaffiliated/bahamas)
13:10:28 Alleria joins (~textual@mskresolve-a.mskcc.org)
13:10:35 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
13:10:52 Alleria is now known as Guest42328
13:11:14 rayyyy joins (~nanoz@gateway/tor-sasl/nanoz)
13:11:14 × knupfer quits (~Thunderbi@dynamic-046-114-148-091.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
13:12:00 <larryba> I added ghci output. https://paste.tomsmeding.com/5FPIT809
13:12:30 <cheater> :t fastnub2
13:12:31 <lambdabot> error: Variable not in scope: fastnub2
13:12:48 <larryba> it is defined in paste
13:12:48 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
13:13:21 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
13:13:38 <cheater> i think it's because it's foldr
13:13:56 <maerwald[m]> larryba: https://wiki.haskell.org/Foldr_Foldl_Foldl%27
13:14:15 × bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 265 seconds)
13:14:24 <larryba> foldr works with infinite lists, for example map can be defined with it
13:14:45 <maerwald[m]> larryba: doit isn't lazy in it's second arg
13:15:08 alx741 joins (~alx741@186.178.108.117)
13:15:30 <maerwald[m]> It needs both args evaluated to do any work
13:15:33 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 256 seconds)
13:15:33 tinhatcat joins (~tsranso@2600:1700:ae40:21c8:7809:8a12:3c22:c849)
13:15:42 <larryba> fst part of tuple is, though?
13:15:52 heatsink joins (~heatsink@2600:1700:bef1:5e10:b5:5f2:242:2b9e)
13:15:53 liyang joins (~liyang@90.253.54.54)
13:16:00 <maerwald[m]> That's irrelevant
13:16:29 <larryba> can this be written with foldr to handle infinite lists?
13:16:32 <cheater> larryba: foldr will start from the right, which will try to define the first element of the list by looking at every further element
13:16:39 <cheater> no, but maybe with foldl' ?
13:16:44 <maerwald[m]> Check the link i gave you
13:16:50 × matryoshka quits (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Read error: Connection reset by peer)
13:17:00 bahamas joins (~lucian@188.27.48.99)
13:17:01 × bahamas quits (~lucian@188.27.48.99) (Changing host)
13:17:01 bahamas joins (~lucian@unaffiliated/bahamas)
13:17:01 <larryba> cheater, I think foldl' never works with infinite lists
13:17:02 fendor joins (~fendor@91.141.0.81.wireless.dyn.drei.com)
13:17:18 <cheater> idk, i'm haskell newb
13:17:49 Tario joins (~Tario@201.192.165.173)
13:18:42 × son0p quits (~son0p@181.58.39.182) (Quit: Lost terminal)
13:18:47 <maerwald[m]> You're not streaming the output like in the other function
13:20:15 × heatsink quits (~heatsink@2600:1700:bef1:5e10:b5:5f2:242:2b9e) (Ping timeout: 240 seconds)
13:22:37 <Franciman> Hi, I am using servant for a web app, but I noticed that if I use the wrong Content-Type for backends, I just receive a 415 error response
13:22:41 × seiryn quits (~seiryn@2a01cb0409c990003ccf6635f6976a70.ipv6.abo.wanadoo.fr) (Quit: WeeChat 3.0)
13:22:48 forgottenone joins (~forgotten@176.88.30.190)
13:22:48 <Franciman> I would like to put some more info in the body of the response, how can I do it?
13:24:42 × perrier-jouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.0.1)
13:24:58 zebrag joins (~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr)
13:25:53 perrier-jouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
13:26:13 × tinhatcat quits (~tsranso@2600:1700:ae40:21c8:7809:8a12:3c22:c849) (Quit: Leaving)
13:29:02 chisui joins (59f77c97@i59F77C97.versanet.de)
13:29:45 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
13:30:27 × beng-nl1 quits (~beng-nl@217.146.82.202) (Remote host closed the connection)
13:30:31 Sheilong joins (uid293653@gateway/web/irccloud.com/x-ywkwdxdlophboxsa)
13:31:42 nineonine joins (~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2)
13:34:48 bitmapper joins (uid464869@gateway/web/irccloud.com/x-nrzgwioszwcozpng)
13:34:50 Tario joins (~Tario@201.192.165.173)
13:35:19 × bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 260 seconds)
13:35:45 wmacmil joins (~wmacmil@c83-252-138-144.bredband.comhem.se)
13:35:55 × nineonine quits (~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2) (Ping timeout: 240 seconds)
13:39:31 __minoru__shirae joins (~shiraeesh@109.166.56.89)
13:39:35 <maerwald[m]> larryba: when can the first Set insert happen?
13:40:23 <larryba> at the first call of doit
13:41:06 <maerwald[m]> That's not how the evaluation works
13:42:05 <Taneb> Franciman: I *think* you can use serveWithContext rather than serve here
13:42:29 <Franciman> Taneb, you mean I need to pass the ErrorFormatters, right?
13:42:46 <Franciman> I already do that, but none of the formatters deals with the mismatch of Content-Types
13:43:30 son0p joins (~son0p@181.136.122.143)
13:43:41 <maerwald[m]> S.insert and S.member both arent lazy like (:)
13:43:50 <Franciman> in fact, reading the code of servant-server, it just returns an err415, no matter what
13:44:03 <Franciman> when it finds a Content-Type it can not deal with
13:44:13 <maerwald[m]> The second argument to foldr is reached after your input list is exhausted
13:44:19 <maerwald[m]> That is never
13:44:27 <maerwald[m]> So you never reach S.empty
13:44:37 <larryba> hmm
13:44:44 urodna joins (~urodna@unaffiliated/urodna)
13:45:30 <larryba> so it can't be written with foldr?
13:45:34 <Taneb> Franciman: ugh, that's annoying
13:46:09 <maerwald[m]> I don't think so when you're dealing with a Set in the second argument
13:46:09 × __minoru__shirae quits (~shiraeesh@109.166.56.89) (Ping timeout: 264 seconds)
13:47:03 × Digit quits (~user@fsf/member/digit) (Ping timeout: 272 seconds)
13:47:04 × AWizzArd quits (~code@unaffiliated/awizzard) (Read error: Connection reset by peer)
13:47:14 ddellacosta joins (~ddellacos@86.106.143.58)
13:48:27 <Sheilong> hello
13:48:57 × jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
13:49:09 × graf_blutwurst quits (~user@2001:171b:226e:adc0:cc81:8132:7f95:7a39) (Remote host closed the connection)
13:49:12 <boxscape> hi
13:49:51 graf_blutwurst joins (~user@2001:171b:226e:adc0:cc81:8132:7f95:7a39)
13:51:06 <Franciman> Taneb, I am afraid I shall have to freakin fork
13:51:07 × sablib quits (~sablib@59.173.154.87) (Read error: Connection reset by peer)
13:51:25 berberman_ joins (~berberman@unaffiliated/berberman)
13:51:43 sablib joins (~sablib@59.173.153.33)
13:51:43 × ddellacosta quits (~ddellacos@86.106.143.58) (Ping timeout: 245 seconds)
13:52:22 AWizzArd joins (~code@gehrels.uberspace.de)
13:52:30 nbloomf joins (~nbloomf@2600:1700:ad14:3020:a840:3c23:1bcc:872e)
13:52:39 × berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 272 seconds)
13:54:15 × romesrf_ quits (~romesrf@44.190.189.46.rev.vodafone.pt) (Quit: WeeChat 3.0.1)
13:55:16 __minoru__shirae joins (~shiraeesh@109.166.56.89)
13:55:44 × vchlup_ quits (~vchlup@nat.brnet.cz) (Ping timeout: 260 seconds)
13:56:07 × aqd quits (~aqd@84.20.147.33) (Quit: Textual IRC Client: www.textualapp.com)
13:57:30 Habib parts (~Habib@178.159.3.177) ()
13:58:54 × raym quits (~ray@45.64.220.3) (Quit: leaving)
14:00:03 × srk quits (~sorki@gateway/tor-sasl/sorki) (Remote host closed the connection)
14:00:03 × hexo quits (~hexo@gateway/tor-sasl/hexo) (Remote host closed the connection)
14:00:17 srk joins (~sorki@gateway/tor-sasl/sorki)
14:00:18 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
14:00:22 hexo joins (~hexo@gateway/tor-sasl/hexo)
14:00:26 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
14:02:11 <Taneb> :(
14:04:23 hyperisco joins (~hyperisco@d192-186-117-226.static.comm.cgocable.net)
14:04:34 romesrf joins (~romesrf@44.190.189.46.rev.vodafone.pt)
14:05:04 × mputz quits (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 260 seconds)
14:05:54 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:a840:3c23:1bcc:872e) (Quit: My MacBook has gone to sleep. ZZZzzz…)
14:08:30 bahamas joins (~lucian@unaffiliated/bahamas)
14:08:44 vchlup_ joins (~vchlup@nat.brnet.cz)
14:09:03 × geekosaur quits (82650c7a@130.101.12.122) (Ping timeout: 240 seconds)
14:09:11 × alx741 quits (~alx741@186.178.108.117) (Quit: alx741)
14:10:09 × __minoru__shirae quits (~shiraeesh@109.166.56.89) (Ping timeout: 264 seconds)
14:10:10 nbloomf joins (~nbloomf@2600:1700:ad14:3020:a840:3c23:1bcc:872e)
14:11:20 mayleesia joins (4d0b95c6@dynamic-077-011-149-198.77.11.pool.telefonica.de)
14:13:19 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:a840:3c23:1bcc:872e) (Client Quit)
14:13:24 __minoru__shirae joins (~shiraeesh@109.166.56.89)
14:14:21 × bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 264 seconds)
14:15:31 urodna_ joins (~urodna@unaffiliated/urodna)
14:16:01 nineonine joins (~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2)
14:16:07 knupfer joins (~Thunderbi@i5E86B4BE.versanet.de)
14:16:18 geekosaur joins (82650c7a@130.101.12.122)
14:17:19 × mnrmnaugh quits (~mnrmnaugh@unaffiliated/mnrmnaugh) (Ping timeout: 260 seconds)
14:17:35 × abrar_ quits (~abrar@static-108-30-103-121.nycmny.fios.verizon.net) (Ping timeout: 240 seconds)
14:17:57 × kjak quits (~kjak@pool-108-45-56-21.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
14:17:58 abrar_ joins (~abrar@static-108-30-103-121.nycmny.fios.verizon.net)
14:17:58 × urodna quits (~urodna@unaffiliated/urodna) (Ping timeout: 245 seconds)
14:17:59 × sdrodge quits (~sdrodge@unaffiliated/sdrodge) (Ping timeout: 245 seconds)
14:18:29 × DataComputist quits (~lumeng@50.43.26.251) (Ping timeout: 260 seconds)
14:18:32 × Chobbes quits (~Chobbes@pool-98-115-239-235.phlapa.fios.verizon.net) (Ping timeout: 265 seconds)
14:19:10 mnrmnaugh joins (~mnrmnaugh@unaffiliated/mnrmnaugh)
14:19:25 kjak joins (~kjak@pool-108-45-56-21.washdc.fios.verizon.net)
14:19:35 deviantfero joins (~deviantfe@190.150.27.58)
14:20:06 alx741 joins (~alx741@186.178.108.117)
14:21:08 sdrodge joins (~sdrodge@unaffiliated/sdrodge)
14:21:12 vostorga joins (~vostorga@178.239.168.171)
14:22:20 × cgadski quits (~textual@a95-95-106-208.cpe.netcabo.pt) (Quit: My MacBook has gone to sleep. ZZZzzz…)
14:22:20 × sablib quits (~sablib@59.173.153.33) (Read error: Connection reset by peer)
14:22:22 Sgeo joins (~Sgeo@ool-18b98aa4.dyn.optonline.net)
14:22:43 sablib joins (~sablib@59.173.153.33)
14:22:50 DataComputist joins (~lumeng@50.43.26.251)
14:24:21 Chobbes joins (~Chobbes@pool-98-115-239-235.phlapa.fios.verizon.net)
14:25:15 × fendor quits (~fendor@91.141.0.81.wireless.dyn.drei.com) (Ping timeout: 256 seconds)
14:25:19 × vchlup_ quits (~vchlup@nat.brnet.cz) (Read error: Connection reset by peer)
14:25:47 vchlup_ joins (~vchlup@nat.brnet.cz)
14:30:33 × ephemera_ quits (~E@122.34.1.187) (Quit: ephemera_)
14:31:46 <sm[m]> g'day all. Could you possible see why adding the either at line 13 causes the error shown ? https://paste.tomsmeding.com/ZhIL34zZ
14:31:47 <sm[m]> possibly
14:33:53 <dminuoso> either id (const (Right ())
14:34:04 <dminuoso> Missing a closen parenthesis.
14:34:08 <sm[m]> DOH missing parenthesis. Thank you
14:34:29 matryoshka joins (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
14:35:35 × aarvar quits (~foewfoiew@2601:602:a080:fa0:176:cad2:9667:c008) (Ping timeout: 240 seconds)
14:38:44 <dminuoso> sm[m]: For what its worth, ghc did tell you that mismatching brackets could have been the cause... :)
14:38:46 sm2n joins (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca)
14:40:09 × rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 268 seconds)
14:41:10 × mayleesia quits (4d0b95c6@dynamic-077-011-149-198.77.11.pool.telefonica.de) (Quit: Connection closed)
14:41:10 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
14:41:32 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
14:42:06 <sm[m]> dminuoso: you're so right.. time to stop
14:42:21 <sm[m]> could not see it :)
14:44:52 rayyyy joins (~nanoz@gateway/tor-sasl/nanoz)
14:45:39 bahamas joins (~lucian@unaffiliated/bahamas)
14:46:10 dunj3 joins (~dunj3@p200300f61714a669de906847d1a6f7e3.dip0.t-ipconnect.de)
14:47:06 × geekosaur quits (82650c7a@130.101.12.122) (Quit: Connection closed)
14:47:26 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Read error: Connection reset by peer)
14:49:39 × lprd quits (~jon@2a01cb0002954401ccf39439e30a9187.ipv6.abo.wanadoo.fr) (Quit: WeeChat 3.0.1)
14:50:55 × bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 276 seconds)
14:54:35 × matryoshka quits (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Ping timeout: 240 seconds)
14:54:35 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
14:55:07 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
14:56:14 × michalz quits (~user@185.246.204.61) (Remote host closed the connection)
15:00:01 Deide joins (~Deide@217.155.19.23)
15:02:57 × Tario quits (~Tario@201.192.165.173) (Ping timeout: 264 seconds)
15:04:09 × curiousgay quits (~gay@178.217.208.8) (Ping timeout: 264 seconds)
15:04:27 Tario joins (~Tario@201.192.165.173)
15:05:32 Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
15:05:38 Xatenev joins (~xatenev@ip4d149fe7.dynamic.kabel-deutschland.de)
15:05:40 Xatenev parts (~xatenev@ip4d149fe7.dynamic.kabel-deutschland.de) ("Leaving")
15:10:09 matryoshka joins (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
15:12:49 Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas)
15:13:51 polyphem joins (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889)
15:17:09 curiousgay joins (~gay@178.217.208.8)
15:17:15 heatsink joins (~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d)
15:17:44 × romesrf quits (~romesrf@44.190.189.46.rev.vodafone.pt) (Quit: WeeChat 3.0.1)
15:19:26 × nineonine quits (~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2) (Ping timeout: 240 seconds)
15:21:29 cgadski joins (~textual@a95-95-106-208.cpe.netcabo.pt)
15:21:35 × heatsink quits (~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d) (Ping timeout: 240 seconds)
15:22:48 × perrier-jouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.0.1)
15:23:34 × cgadski quits (~textual@a95-95-106-208.cpe.netcabo.pt) (Max SendQ exceeded)
15:24:43 × whyohwhy quits (9353c965@clients-xsf-101.upc.es) (Ping timeout: 240 seconds)
15:25:31 graf_blu` joins (~user@adsl-178-38-234-220.adslplus.ch)
15:25:56 × graf_blutwurst quits (~user@2001:171b:226e:adc0:cc81:8132:7f95:7a39) (Ping timeout: 240 seconds)
15:28:30 bahamas joins (~lucian@unaffiliated/bahamas)
15:28:31 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
15:28:43 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
15:30:08 crobbins joins (~crobbins@2601:2c1:200:ec50:348f:be0d:685a:dd48)
15:30:16 × crobbins quits (~crobbins@2601:2c1:200:ec50:348f:be0d:685a:dd48) (Remote host closed the connection)
15:30:54 crobbins joins (~crobbins@2601:2c1:200:ec50:3dc3:9105:3490:1be2)
15:31:45 perrier-jouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
15:31:46 nbloomf joins (~nbloomf@2600:1700:ad14:3020:a840:3c23:1bcc:872e)
15:33:42 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
15:35:49 crobbins_ joins (~crobbins@2601:2c1:200:ec50:348f:be0d:685a:dd48)
15:38:27 <Philonous> Franciman, Maybe it's enough to plug a middleware in front of servant that catches 415 and adds the body
15:38:38 aggin joins (~ecm@103.88.87.46)
15:38:52 <Philonous> Not exactly the most elegant solution, but possibly better than forking servant.
15:38:55 × crobbins quits (~crobbins@2601:2c1:200:ec50:3dc3:9105:3490:1be2) (Ping timeout: 240 seconds)
15:39:13 <aggin> why does haskell-language-server take a lot of ram
15:39:30 <merijn> aggin: Takes about the same ram as GHC
15:39:58 <Philonous> Was about to say, because ghc does, and haskell-language-server runs ghc in the background
15:40:29 <merijn> Not really in the background, it uses GHC directly as library
15:40:48 coot joins (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
15:40:50 fendor joins (~fendor@91.141.0.81.wireless.dyn.drei.com)
15:40:56 <aggin> merijn: idk why, but when running it with lsp-haskell in emacs it takes like 1gb ram when opening a single file
15:42:09 <aggin> I can't tell if it's just my setup, that is why I wanted to ask here
15:42:31 × coot quits (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Client Quit)
15:42:35 × cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0.1)
15:43:00 coot joins (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
15:43:22 <merijn> GHC is not the most lean compiler, so "maybe"
15:43:26 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Read error: Connection reset by peer)
15:43:32 <merijn> It also depends on how you measure RAM, tbh
15:46:25 <merijn> I wouldn't expect hls to be particularly lightweight, though
15:48:58 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
15:49:19 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
15:49:44 <__minoru__shirae> perhaps someone should extract modules from ghc
15:50:00 <__minoru__shirae> to make hls lightweight
15:50:35 <merijn> Which modules do you imagine can get extracted?
15:50:35 <__minoru__shirae> so that it doesn't load the unneeded parts of ghc
15:50:36 × elliott_ quits (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
15:50:50 <merijn> __minoru__shirae: There isn't really an "unneeded" part
15:51:00 <merijn> I mean, what would you remove?
15:51:34 elliott_ joins (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
15:51:36 <__minoru__shirae> I imagine that hls needs parsing, building and analyzing the syntax tree parts
15:51:50 <__minoru__shirae> it doesn't need the optimizer
15:51:55 carlomagno1 joins (~cararell@148.87.23.6)
15:52:14 <__minoru__shirae> but I don't know the internals of course
15:52:33 × curiousgay quits (~gay@178.217.208.8) (Remote host closed the connection)
15:52:56 × carlomagno quits (~cararell@148.87.23.6) (Ping timeout: 240 seconds)
15:53:02 <merijn> I doubt the optimiser takes up so much time/space and more importantly, that sorta thing would involve fundamentally rearchitecting GHC in *drastic* ways
15:53:23 <merijn> Which is not to say that it is a bad idea, just that it is unrealistic :p
15:53:31 curiousgay joins (~gay@178.217.208.8)
15:54:16 <merijn> GHC wasn't designed/implemented to be tiny and resource constrained and retro-actively fixing that sorta thing is hard and takes considerable engineering effort
15:54:31 <Philonous> larryba, Yes, it can be written with foldr
15:54:46 <Philonous> In fact, any recursive function on lists can be written as a foldr
15:55:35 × loli quits (~loli@024-171-017-003.res.spectrum.com) (Remote host closed the connection)
15:55:42 × mouseghost quits (~draco@wikipedia/desperek) (Quit: mew wew)
15:55:57 loli joins (~loli@024-171-017-003.res.spectrum.com)
15:56:02 <dminuoso> __minoru__shirae: hls already is lightweight. It doesn't do code generation.
15:56:18 <merijn> dminuoso: It does, selectively
15:56:39 <dolio> It also doesn't just use ghc.
15:56:45 <larryba> .
15:57:02 <larryba> Philonous, how? what should the type of doit be?
15:57:03 <dolio> It's got like a dozen other tools linked into it, no? :)
15:57:08 <merijn> dminuoso: Sure, but it's probably safe to say GHC is likely the most considerable space hog
15:57:10 <merijn> eh
15:57:17 <merijn> s/dminuoso/dolio
15:57:30 <merijn> dolio: ghcide on my project eats ~4GB, so...
15:57:39 <merijn> And that only has ghc and hie-bios afaik :p
15:57:43 <dolio> Heh.
15:58:03 <dolio> Are all the other things asynchronous?
15:58:06 <merijn> Granted, I have more than 1 file
15:58:06 <aggin> welp, looks like I have to keep using haskell-ghci instead ig
15:58:13 <aggin> all I wanted was just some completion
15:58:16 <Philonous> larryba: doit :: Ord a => a -> (Set a -> [a]) -> Set a -> [a]
15:58:33 <__minoru__shirae> so people who write syntax analyzers for IDEs duplicate the logic of the compiler, right?
15:58:36 <merijn> dolio: It's surprisingly fast, though, so there's that
15:58:45 <merijn> __minoru__shirae: Yes
15:58:49 × kenran quits (~kenran@b2b-37-24-119-190.unitymedia.biz) (Ping timeout: 245 seconds)
15:58:58 <__minoru__shirae> but hls people decided to use a shortcut, but payed by using a lot of ram
15:58:58 <merijn> __minoru__shirae: Well, usually only partially
15:58:59 <pjb> __minoru__shirae: in general syntax is easy.
15:59:05 <merijn> __minoru__shirae: It's not a shortcut
15:59:09 <kuribas> merijn: perhaps the GRIN work could help in redesigning GHC?
15:59:27 <merijn> __minoru__shirae: You'd have to basically reimplement all of GHC from scratch to support code compiled with GHC
15:59:30 <dolio> The problem is that reimplementing GHC outside of GHC is infeasbile.
15:59:42 <merijn> __minoru__shirae: Sure, you can implement Haskell98 in your checker for hls
15:59:51 <dolio> People have tried it with much smaller bits of GHC, and it didn't work out well.
15:59:51 <merijn> __minoru__shirae: And it'd be fast!
16:00:01 <Philonous> larryba, You do have to post-process the output of the fold, but that's trivial (and not recursive)
16:00:02 <merijn> __minoru__shirae: It'd only support, like, 10% of hackage, though
16:00:09 <dolio> Like, just the parsing.
16:00:31 kderme joins (4fa758c1@ppp079167088193.access.hol.gr)
16:00:54 <merijn> __minoru__shirae: People don't want a checker that runs on "Haskell, as long as you don't use any GHC extension". They want it to work on *all* stuff they compile with GHC and support all extensions, and do typechecking
16:01:01 <__minoru__shirae> maybe duplicate the needed ghc code, omitting the unneeded parts
16:01:16 <merijn> __minoru__shirae: I'm not sure which "unneeded" parts you imagine exist
16:01:25 <dolio> The end result is that it's a lot of work, GHC releases routinely make it (temporarily) obselete, and it never quite matches what GHC accepts anyway.
16:01:26 <larryba> Philonous, I don't get it? accumulator is a function?
16:01:30 <merijn> You can't even leave out code generation
16:01:31 <Philonous> larryba, Yes
16:01:34 <merijn> Because that breaks TH
16:01:38 <Philonous> larryba, That's the trick
16:02:04 <merijn> __minoru__shirae: Also, what do you think all the C/C++ LSP tools do?
16:02:10 <merijn> __minoru__shirae: They just embed all of LLVM
16:02:19 <merijn> Because anything else is insanity
16:02:29 <Philonous> larryba, Do you want to see the complete solution or would you rather figure it out on your own?
16:02:43 × bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 256 seconds)
16:02:43 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
16:02:54 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
16:02:57 <__minoru__shirae> merjin: so if you want convenience of any language server, you generally have to pay with your ram?
16:02:57 <merijn> Just look at clangd
16:03:05 <merijn> __minoru__shirae: Well, yes
16:03:29 <merijn> __minoru__shirae: You need a compiler, and generally you want the one that you *actually* use. Not a crappy, half done reimplementation
16:03:34 <larryba> Philonous, I will try it on my own first
16:03:44 <swarmcollective> RAM is a lot cheaper than your time, in most cases.
16:04:05 <__minoru__shirae> merjin: unless language designers create a lightweight language server themselves
16:04:09 <merijn> If you design your compiler to be cheap ahead of time it can be fairly efficient
16:04:34 <merijn> __minoru__shirae: Sure, but that takes a lot of effort
16:04:46 <merijn> So then the question becomes: Does anyone who is *paying* care?
16:04:47 <aggin> merijn: but why does hls take so much more ram than other LSP's
16:04:51 <merijn> The answer is: no
16:04:59 <aggin> gopls takes only 100 mb ram on my system
16:05:06 <aggin> when opening a single file
16:05:18 <merijn> aggin: Go's compiler was from the start engineered to be resource low
16:05:38 <merijn> aggin: I wouldn't be surprised of clangd took 1GB for 1 C++ file either
16:05:40 <yushyin> c++ LSP server are also very RAM hungry
16:05:48 <kuribas> go is also a cripled language
16:05:50 <merijn> Making decades old compilers resource efficient is *hard*
16:06:11 <merijn> It's not that it *can't* be done, it just that it's not worth the time of anyone involved
16:06:13 <kuribas> ghc does A LOT more than go, removing abstractions, etc...
16:06:41 <merijn> GHC is fairly resource heavy, so people who use it to compile already need RAM for that anyway
16:06:44 × jrqc quits (~rofl@96.78.87.197) (Ping timeout: 245 seconds)
16:06:46 <kuribas> it's also a thankless job that nobody wants to do, unless it's needed.
16:06:58 × chisui quits (59f77c97@i59F77C97.versanet.de) (Quit: Connection closed)
16:07:11 chisui joins (59f77c97@i59F77C97.versanet.de)
16:07:20 ClaudiusMaximus joins (~claude@191.123.199.146.dyn.plus.net)
16:07:23 <swarmcollective> Logically, it seems an Assembly Language LSP would be quite efficient. :D
16:07:33 × ClaudiusMaximus quits (~claude@191.123.199.146.dyn.plus.net) (Changing host)
16:07:33 ClaudiusMaximus joins (~claude@unaffiliated/claudiusmaximus)
16:07:44 <swarmcollective> Is it worth spending more time writing the code to save on RAM usage?
16:07:45 stree joins (~stree@68.36.8.116)
16:07:52 <merijn> Most people have laptops (or even phones) with multiple GBs of RAM, so there's just not much incentive to make GHC small as long as the code it produces is
16:07:56 conal joins (~conal@64.71.133.70)
16:07:58 <aggin> yushyin: clangd doesn't take much resources for me
16:07:59 newbie76 joins (4cbf11e9@node-17-233.flex.volo.net)
16:08:09 <merijn> aggin: On C or on C++?
16:08:14 <aggin> both
16:08:16 robwebbjr joins (ac3a109d@172.58.16.157)
16:09:48 jrqc joins (~rofl@96.78.87.197)
16:09:56 × ericsagnes quits (~ericsagne@2405:6580:0:5100:3952:4f6a:8da:bef6) (Ping timeout: 240 seconds)
16:10:47 alecs joins (~alecs@151.62.127.229)
16:10:47 <merijn> Quick test show clangd using about 1GB on a file for me here
16:11:06 <aggin> Is it part of some big project or something ?
16:11:09 <yushyin> I've projects where ccls takes up to 2GB RSS
16:11:18 <merijn> aggin: Not that big, but lots of template stuff
16:11:57 <merijn> aggin: Anyway, GHC isn't optimised for tiny systems and people are trying to optimise it, but that's mostly focussed on compile speed, not RAM usage
16:12:33 <merijn> I'm sure any efforts to make it thriftier/smaller would be welcome, but it's just not that big a problem in practice, unless you try to, like, compile on a netbook
16:12:42 <merijn> To which the simple solution would be: don't :p
16:13:28 <aggin> well I guess I should stick with using ghci for autocompletion
16:13:38 <aggin> all I wanted was some autocompletion
16:13:45 × curiousgay quits (~gay@178.217.208.8) (Ping timeout: 264 seconds)
16:14:10 vicfred joins (~vicfred@unaffiliated/vicfred)
16:15:55 <robwebbjr> Hi. I'm working Haskell From First Principles and this (https://paste.tomsmeding.com/46ZIqwk9) example has me confused.
16:16:06 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
16:16:13 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
16:16:20 <newbie76> I have a really basic question. I just set up my first haskell project directory. I have a working package.yaml file that hpack uses to generate the stack.yaml file. I have Docker for Mac installed. I'm trying to figure out how to a) create a local Docker image of my project and b) write a Dockerfile such that a CI service can create a docker image
16:16:21 <newbie76> from it when I push to git. Getting lots of errors and finding very little guidance in online resources. My first attempt at a Dockerfile is this : "FROM haskell:8
16:16:21 <newbie76> ADD .
16:16:22 <newbie76> RUN stack build
16:16:22 <newbie76> CMD stack exec"
16:16:23 <newbie76> And in my user-level stack config file I've enabled docker, but can't figure out where the resolver specification should go or if I should just try to use an image? This doesn't work:
16:16:23 <newbie76> "docker:
16:16:24 <newbie76>     enable: true
16:16:24 <newbie76>     repo: "fpco/stack-build"
16:16:25 <newbie76>     resolver: lts-9.5"
16:16:25 <newbie76> Any help is very much appreciated - thanks for reading.
16:16:30 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
16:16:50 <swarmcollective> @where paste
16:16:51 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
16:17:13 <merijn> robwebbjr: Any clue *what* part has you confused? ;)
16:18:02 heatsink joins (~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d)
16:18:06 × aggin quits (~ecm@103.88.87.46) (Quit: WeeChat 3.0.1)
16:18:22 <robwebbjr> 1) What happens to b and 2) why does myAny even [1..] stop recurring when it reaches 2?
16:18:28 <Taneb> robwebbjr: should that say "Bool" rather than "Book"?
16:18:41 <merijn> Taneb: presumably ;)
16:19:08 <merijn> > foldr f z [1..5]
16:19:10 <lambdabot> f 1 (f 2 (f 3 (f 4 (f 5 z))))
16:19:38 <robwebbjr> merijn: sorry, on phone and inexperienced with irc
16:20:13 <merijn> robwebbjr: Now, let's imagine we're using "even :: Int -> Bool". If we fill in your lambda in that example we'd get:
16:20:22 <robwebbjr> Yes, Bool
16:20:54 <dolio> larryba: Don't spend too much time. Even the right perspective to approach the problem to work out the answer may not be terribly obvious.
16:21:02 <merijn> robwebbjr: (||) (even 1) ((||) (even 2) ...)
16:21:12 <newbie76> could anyone here help me with an hpack / stack / docker setup issue?
16:21:25 <robwebbjr> False for 1 then True for 2
16:21:42 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
16:21:52 × vchlup_ quits (~vchlup@nat.brnet.cz) (Remote host closed the connection)
16:22:01 <merijn> robwebbjr: Right, but || shortcuts, so once the left side is True you don't have to evaluate the right side
16:22:15 × heatsink quits (~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d) (Ping timeout: 240 seconds)
16:22:18 vchlup_ joins (~vchlup@nat.brnet.cz)
16:22:28 <merijn> robwebbjr: So once you evaluate "even 2 || ..." (where ... is the infinite recursive fold), you never bother computing ...
16:22:32 <__minoru__shirae> newbie76: resolver specification is project-specific, no?
16:22:37 <merijn> robwebbjr: You can simply return True immediately
16:22:44 ericsagnes joins (~ericsagne@2405:6580:0:5100:42a8:8650:90d4:54bc)
16:23:00 <merijn> robwebbjr: Because "True || x = True"
16:23:18 <merijn> > True || undefined
16:23:20 <lambdabot> True
16:23:26 <merijn> > False || undefined
16:23:28 <lambdabot> *Exception: Prelude.undefined
16:23:34 <__minoru__shirae> newbie76: I mean, if I'm not mistaken, the resolver specification belongs to the project, not to the environment
16:23:43 <merijn> robwebbjr: (just imagine "undefined" being an infinite recursion instead)
16:24:12 <newbie76> I don't know, maybe. It's sort of complicated because stack init generates the stack.yaml file, right? and if I try to specify anything related to docker in that file before building (by echoing those lines in after running "stack init"), that doesn't work
16:25:14 danso joins (~dan@2001:1970:52e7:d000:96b8:6dff:feb3:c009)
16:25:17 <merijn> Why would you run "stack init" in a docker container, that sounds very confused
16:25:43 <robwebbjr> merijn: OK, so 1) the b is irrelevant because short circuit is baked into (||) and 2) the fold stops because, well, short circuit is baked into the fold.
16:26:23 <robwebbjr> I meant baked into the (||)
16:26:29 <merijn> robwebbjr: Well, not so much baked into the fold as much as "the definition of foldr allows the short-circuit of it's argument function to affect the fold"
16:26:40 Stanley00 joins (~stanley00@unaffiliated/stanley00)
16:26:49 <newbie76> I am very confused. Do you not need to run stack in a docker container? if so, why not? isn't it the build tool for your code? or are docker containers only used as sort of a place to put the folder with executables after you've built it?
16:26:50 <merijn> > foldr f z [1..5]
16:26:52 <lambdabot> f 1 (f 2 (f 3 (f 4 (f 5 z))))
16:27:21 <__minoru__shirae> short-circuiting works only with foldr
16:27:25 chenshen joins (~chenshen@2620:10d:c090:400::5:9f47)
16:27:27 <__minoru__shirae> iirc
16:27:29 <robwebbjr> Yes, sorry about that. I get it. Thank you so much for your help!
16:27:33 <merijn> newbie76: stack init generates an initial scaffold for a project. You are supposed to have a manually created stack.yaml that defines your project and then use that to build
16:27:40 <merijn> robwebbjr: For contrast, compare:
16:27:43 ep1ctetus joins (~epictetus@ip72-194-215-136.sb.sd.cox.net)
16:27:46 <merijn> > foldl f z [1..5]
16:27:48 <lambdabot> f (f (f (f (f z 1) 2) 3) 4) 5
16:28:36 ADG1089__ joins (~aditya@122.163.250.138)
16:28:40 <merijn> Note how you need to evaluate all recursive calls (or reach the end of the list) to evaluate anything
16:28:41 heatsink joins (~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d)
16:28:49 × fendor quits (~fendor@91.141.0.81.wireless.dyn.drei.com) (Ping timeout: 245 seconds)
16:28:56 <merijn> That's why foldl can't short circuit (and thus not do anything with an infinite list)
16:28:57 <cheater> this is the 10th foldl tutorial today in this channel
16:29:21 <merijn> cheater: That's down from the 50 per day when I started years ago ;)
16:29:30 <robwebbjr> _minoru_shirae: Oh, short circuit only works with foldr? That's good to know!
16:29:33 <cheater> merijn: the day hasn't even started. give it time
16:29:36 sagax joins (~sagax_nb@213.138.71.146)
16:29:41 <merijn> cheater: It's 17.30 here :p
16:29:42 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
16:30:04 <newbie76> okay, "stack init" is really only used once at the beginning of creating a project, after "stack new"?
16:30:05 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
16:30:40 <merijn> I don't use stack, but I'm willing to bet you 20 bucks on "yes" :p
16:30:56 × Stanley00 quits (~stanley00@unaffiliated/stanley00) (Ping timeout: 240 seconds)
16:31:01 <merijn> cheater: It's easy to forget how hard and confusing folds are at first!
16:31:42 <robwebbjr> Thanks everyone. The Haskell Book should mention that foldr short circuits, it would probably save many newbies much confusion!
16:31:42 <merijn> robwebbjr: If you wanna get sidetracked pondering folds for some time, here's a good link: https://tsouanas.org/teaching/fun/2019.2/doc/hutton-fold.pdf :)
16:32:01 <oafs> oh cool, I didn't know lambdabot could "expand" functions like that
16:32:13 <oafs> does it do that if you just use an unbound variable in a call?
16:32:20 <newbie76> okay, thanks lol. at least now I'm getting a new error: "Could not pull Docker image: fpco/stack-build:lts-9. There may not be an image on the registry for your resolver's LTS version in your configuration file."
16:32:23 <merijn> oafs: It's actually using
16:32:27 <merijn> @hackage simple-reflect
16:32:27 <lambdabot> https://hackage.haskell.org/package/simple-reflect
16:32:29 <oafs> > x : y : []
16:32:30 <merijn> Which defines
16:32:31 <lambdabot> [x,y]
16:32:33 <merijn> :t f
16:32:35 <lambdabot> FromExpr a => a
16:32:37 <merijn> :t x
16:32:38 <lambdabot> Expr
16:32:39 <merijn> : y
16:32:57 <merijn> oafs: So the hack is that 'f', 'z', 'x' and 'y' aren't unbound ;)
16:32:58 <robwebbjr> merijn Thanks for the link
16:33:39 <oafs> well that's interesting lol
16:33:58 <merijn> oafs: That package is arcane magic, it's fun to study :)
16:34:51 <boxscape> > foldr (⊕) z [a,b,c,d]
16:34:54 <lambdabot> a ⊕ (b ⊕ (c ⊕ (d ⊕ z)))
16:35:06 <boxscape> > foldl (⊕) z [a,b,c,d]
16:35:08 <lambdabot> (((z ⊕ a) ⊕ b) ⊕ c) ⊕ d
16:35:10 <boxscape> nice
16:35:14 <oafs> nifty
16:35:27 <merijn> Same as this lambdabot specific hack
16:35:31 <merijn> @src asAppliedTo
16:35:31 <lambdabot> f `asAppliedTo` a = f where _ = f a
16:35:31 <lambdabot> infixl 0 `asAppliedTo`
16:35:47 × ADG1089__ quits (~aditya@122.163.250.138) (Remote host closed the connection)
16:35:49 <cheater> merijn: yes, i too get lost in folds sometimes.
16:35:50 <merijn> :t forM_
16:35:52 <lambdabot> (Foldable t, Monad m) => t a -> (a -> m b) -> m ()
16:35:59 <merijn> :t forM_ `asAppliedTo` []
16:36:01 <lambdabot> Monad m => [a] -> (a -> m b) -> m ()
16:36:02 <boxscape> % :t +d forM_
16:36:03 <yahb> boxscape: Monad m => [a] -> (a -> m b) -> m ()
16:36:14 × chenshen quits (~chenshen@2620:10d:c090:400::5:9f47) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
16:36:47 fendor joins (~fendor@91.141.0.81.wireless.dyn.drei.com)
16:37:19 × hiroaki_ quits (~hiroaki@2a02:8108:8c40:2bb8:4198:736b:7066:258b) (Ping timeout: 272 seconds)
16:38:15 <Philonous> merijn, No, »stack new« creates an initial scaffold, »stack init« tries to guess a stack configuration for an existing cabal project
16:38:37 chenshen joins (~chenshen@2620:10d:c090:400::5:9f47)
16:38:51 <ezzieyguywuf> can I install QuickCheck-2.14.2 with old-random AND new random? http://dpaste.com/4ZHD6SSFU
16:38:58 <Philonous> Oh, sorry, you're still right, you wouldn't want to run that in your build system anyway
16:38:58 <ezzieyguywuf> or is this not the intent of the flag?
16:39:05 <edwardk> i'm going to let a bunch of domains go in a few months. they've been lurking on my godaddy account. if anybody here (especially someone I know, and especially if you'll put them to use) wants homotopygroup.com, coinductive.com or monoidal.io let me know. (there are a bunch of others, but those are the ones that sounded haskelly)
16:39:07 <merijn> Philonous: Well, that doesn't invalidate my statement that you certainly *don't* wanna run it in your build pipeline ;)
16:40:10 ADG1089__ joins (~aditya@122.163.250.138)
16:40:11 <Philonous> merijn, Yeah, noticed right after I wrote it, sorry :>
16:40:18 <monochrom> ezzieyguywuf: You cannot.
16:40:32 <ezzieyguywuf> monochrom: is there a particular reason why?
16:40:49 <ezzieyguywuf> I thought cabal, like, fixed all there dependency conflict issues by just storing things in separate sub directories
16:40:59 <merijn> ezzieyguywuf: Well, what would that even mean?
16:41:10 <edwardk> "free to a good home"
16:41:11 <monochrom> Hrm, I don't know the old-random flag. But I still guess it means going with an old version of random.
16:41:20 <newbie76> merijn thanks for the help, getting further along now
16:41:23 <merijn> ezzieyguywuf: v2-build does, Setup.hs as used to package distro packages does not
16:41:34 <ezzieyguywuf> merijn: yea, b/c random-1.2.0 has breaking changes, and so I may have some deps that haven't upgraded to the new random yet
16:41:41 <merijn> ezzieyguywuf: Distro packages are installed in a single global database and all need to be compatible
16:41:44 <ezzieyguywuf> so I could realistically need both old random and new random
16:41:44 × ixlun quits (~user@213.205.241.12) (Read error: Connection reset by peer)
16:41:57 <monochrom> I think 1.2's "break" changes are mild.
16:42:01 <merijn> ezzieyguywuf: v2-build installs all of them and kinda "dynamically creates a per project database"
16:42:08 <ezzieyguywuf> merijn: I'm trying this with cabal itself at the moment, not any packaging stuff
16:42:19 <__minoru__shirae> edwardk: is monoidal io a thing?
16:42:29 <__minoru__shirae> I mean using IO as a monoid?
16:42:40 <merijn> ezzieyguywuf: "cabal install --lib" registers stuff in an (implicit) global database
16:42:42 epicte7us joins (~epictetus@ip72-194-215-136.sb.sd.cox.net)
16:42:55 <merijn> ezzieyguywuf: So the solution is, don't use "install --lib" ;)
16:43:00 <ezzieyguywuf> lol!!!
16:43:00 ixlun joins (~user@213.205.241.12)
16:43:02 <monochrom> But generally it doesn't make sense for one build of QuickCheck (or one build of any library or exe) to use two builds of something.
16:43:16 <edwardk> __minoru__shirae: instance Monoid a => Monoid (IO a) exists
16:43:16 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
16:43:19 <ezzieyguywuf> hm, let me try to work up an example using only cabal
16:43:23 <monochrom> And note that I use the word "build". Not even "version". More anal than "version".
16:43:28 <ezzieyguywuf> to see if I can duplicate the use-case I'm running in to in gentoo
16:43:32 <merijn> ezzieyguywuf: Generally you just let "cabal build" in your project install things
16:43:36 <ezzieyguywuf> b/c I bet cabal "Just Works™" , but I want to know how
16:43:41 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
16:44:07 <edwardk> __minoru__shirae: but it was acquired mostly as a '.io' as a trendy '.com' equivalent domain thing back when .io was a trendy .com equivalent.
16:44:48 <merijn> edwardk: Unrelatedly, I'd probably recommend migrating domains to a less terrible registrar if possible >.>
16:44:59 <edwardk> merijn: i already did for everything that mattered.
16:45:08 <merijn> edwardk: Good :)
16:45:36 × ep1ctetus quits (~epictetus@ip72-194-215-136.sb.sd.cox.net) (Ping timeout: 240 seconds)
16:45:45 <ezzieyguywuf> namesilo
16:46:03 <edwardk> i only looked at my godaddy account when someone snuck into my account and tried to transfer a gajillion domains out of it. it was painful enough to get things back that i'm in the process of just closing out the godaddy account, hence the 'free to a good home' bit for anything that seems someone might find it worth having, but not worth going through the trouble of moving for myself. =)
16:46:56 × vchlup_ quits (~vchlup@nat.brnet.cz) (Remote host closed the connection)
16:47:02 × crobbins_ quits (~crobbins@2601:2c1:200:ec50:348f:be0d:685a:dd48) (Remote host closed the connection)
16:47:02 <edwardk> apparently godaddy requires email approval to transfer out a domain, which is the way i recalled it. However they _don't_ require email approval to add an extra delegated approved email user... who can then approve all the transfers.
16:47:17 vchlup_ joins (~vchlup@nat.brnet.cz)
16:47:17 × kritzefitz quits (~kritzefit@fw-front.credativ.com) (Remote host closed the connection)
16:47:35 <edwardk> (the account was set up in the time before 2fa was a thing, and apparently the password leaked by the same channel as my twitter account did, as both predated my use of a password manager)
16:47:37 crobbins joins (~crobbins@2601:2c1:200:ec50:c32:8193:5ae6:63eb)
16:47:51 × robwebbjr quits (ac3a109d@172.58.16.157) (Quit: Connection closed)
16:48:02 <edwardk> ezzieyguywuf: i mostly use namecheap, which is where comonad.com is parked.
16:48:14 jamm_ joins (~jamm@unaffiliated/jamm)
16:48:17 <edwardk> its meh, but its also already configured and forgotten ;)
16:49:12 <ezzieyguywuf> nice
16:49:22 hiroaki_ joins (~hiroaki@2a02:8108:8c40:2bb8:92d3:a4a2:1db6:e0dd)
16:50:12 <ezzieyguywuf> (omg kmett spoke directly to me!!)
16:50:12 ezzieyguywuf 's heart is all aflutter
16:50:15 <edwardk> at one point i had something like 1000 domains, then godaddy all-but-silently let them all lapse because of an expired credit card, so they were already on my terrible vendor list.
16:50:16 × rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Quit: Leaving)
16:51:19 <Philonous> 1000 domains, is squatting that profitable?
16:51:21 edwardk gets back on topic for the channel.
16:51:41 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
16:51:47 <edwardk> Philonous: i wound up pretty far in the black. mainly because i got in when you could still get 3 letter domains, etc.
16:51:47 <__minoru__shirae> edwardk: 1000 domains? you don't pay for a domain every year?
16:52:29 <edwardk> i basically ran a dictionary through whois in 1995 or so and grabbed everything worth grabbing that i found.
16:54:28 <edwardk> __minoru__shirae: A friend and I sold crucial.com for ~35k, which basically kept everything in the black ever since in total dollars. i'd let them bleed out slowly til around 2010 when i lost most of them in the aforementioned godaddy incident. So yeah, they'd bleed a bit of money every year, but in total? No problem.
16:56:08 <Philonous> I think I pay like 15€pa. per domain, so 1k domains over 15 years would have amounted to, what, 225k€? Your registrar must have been much cheaper
16:56:49 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
16:56:58 <edwardk> Philonous: that wasn't the only one that sold =)
16:57:07 <Philonous> Or you made a lot more than 35k in the nickle-and-dime domains
16:57:08 <Philonous> Yeah
16:57:16 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
16:57:39 kritzefitz joins (~kritzefit@212.86.56.80)
16:57:47 <edwardk> and I bled the list down, etc.
16:59:22 bennofs__ joins (~quassel@dslb-188-103-040-158.188.103.pools.vodafone-ip.de)
16:59:29 × fendor quits (~fendor@91.141.0.81.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
16:59:45 <falsifian> Does anyone know a way to get Cabal to output the time used to build each dependency when I run cabal build or cabal install? Start/end times for a parallel build would be even better.
17:00:34 <edwardk> all right, since there's no nibbles here, will try twitter. more math folks there =)
17:01:04 × vicfred quits (~vicfred@unaffiliated/vicfred) (*.net *.split)
17:01:05 × perrier-jouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (*.net *.split)
17:01:05 × son0p quits (~son0p@181.136.122.143) (*.net *.split)
17:01:05 × boxscape quits (4ff0baf3@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.243) (*.net *.split)
17:01:05 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (*.net *.split)
17:01:05 × clynamen_ quits (~clynamen@net-93-66-1-11.cust.vodafonedsl.it) (*.net *.split)
17:01:05 × khisanth_ quits (~Khisanth@24.sub-174-244-147.myvzw.com) (*.net *.split)
17:01:05 × mananamenos quits (~mananamen@193.red-88-11-66.dynamicip.rima-tde.net) (*.net *.split)
17:01:05 × pincel quits (~pyon@unaffiliated/pyon) (*.net *.split)
17:01:05 × dixie quits (~dixie@real.wilbury.sk) (*.net *.split)
17:01:05 × madnificent quits (~madnifice@static.210.74.63.178.clients.your-server.de) (*.net *.split)
17:01:05 × zaquest quits (~notzaques@5.128.210.178) (*.net *.split)
17:01:05 × bennofs_ quits (~quassel@dslb-188-103-040-158.188.103.pools.vodafone-ip.de) (*.net *.split)
17:01:05 × roconnor quits (~roconnor@host-104-157-194-235.dyn.295.ca) (*.net *.split)
17:01:05 × MasseR quits (~MasseR@51.15.143.128) (*.net *.split)
17:01:05 × juri_ quits (~juri@178.63.35.222) (*.net *.split)
17:01:05 × grumble quits (~Thunderbi@freenode/staff/grumble) (*.net *.split)
17:01:05 × egp_ quits (~egp_@2.95.74.168) (*.net *.split)
17:01:05 × tanuki quits (~quassel@173.168.154.189) (*.net *.split)
17:01:05 × ezzieyguywuf quits (~Unknown@unaffiliated/ezzieyguywuf) (*.net *.split)
17:01:05 × epta quits (~m@nuda.space) (*.net *.split)
17:01:05 × zopsi quits (~zopsi@irc.dir.ac) (*.net *.split)
17:01:05 × xcin quits (~x@159.203.132.140) (*.net *.split)
17:01:05 × Jesin quits (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (*.net *.split)
17:01:05 × mawk quits (mawk@serveur.io) (*.net *.split)
17:01:05 × sujeet quits (sujeet@unaffiliated/freeboson) (*.net *.split)
17:01:05 × totoro2021 quits (~t@unaffiliated/totoro2021) (*.net *.split)
17:01:05 × rkrishnan quits (~rkrishnan@rkrishnan.org) (*.net *.split)
17:01:05 × jle` quits (~mstksg@unaffiliated/mstksg) (*.net *.split)
17:01:05 × sim590 quits (~sim590@modemcable090.207-203-24.mc.videotron.ca) (*.net *.split)
17:01:05 × xsarnik0 quits (xsarnik@gateway/shell/fi.muni.cz/x-pkbyatoowiwuqtjg) (*.net *.split)
17:01:05 × aidecoe quits (~aidecoe@unaffiliated/aidecoe) (*.net *.split)
17:01:05 × stilgart quits (~Christoph@chezlefab.net) (*.net *.split)
17:01:05 × Jajik quits (xchlup2@gateway/shell/fi.muni.cz/x-mvogdeasxxfzjncw) (*.net *.split)
17:01:05 × TommyC quits (~TommyC@unaffiliated/sepulchralbloom) (*.net *.split)
17:01:05 × kloeri quits (~kloeri@freenode/staff/exherbo.kloeri) (*.net *.split)
17:01:05 × mupf quits (~micha@v22017094964653601.ultrasrv.de) (*.net *.split)
17:01:05 × jluttine quits (~jluttine@85-23-95-149.bb.dnainternet.fi) (*.net *.split)
17:01:05 × nisstyre quits (~wes@python-zero/conduct-committee/nisstyre) (*.net *.split)
17:01:05 × jathan quits (~jathan@69.61.93.38) (*.net *.split)
17:01:05 × Cale quits (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) (*.net *.split)
17:01:05 × Cathy quits (~Cathy@unaffiliated/cathy) (*.net *.split)
17:02:31 × noctux quits (~noctux@unaffiliated/noctux) (Read error: Connection reset by peer)
17:03:03 mouseghost joins (~draco@87-206-9-185.dynamic.chello.pl)
17:03:03 × mouseghost quits (~draco@87-206-9-185.dynamic.chello.pl) (Changing host)
17:03:03 mouseghost joins (~draco@wikipedia/desperek)
17:03:40 × jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
17:03:40 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
17:03:51 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
17:03:54 × Wuzzy quits (~Wuzzy@p5b0df7c2.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
17:04:15 × notzmv quits (~zmv@unaffiliated/zmv) (Ping timeout: 246 seconds)
17:05:04 mananamenos joins (~mananamen@193.red-88-11-66.dynamicip.rima-tde.net)
17:05:12 hnOsmium0001 joins (uid453710@gateway/web/irccloud.com/x-czcoxqegzsrqhure)
17:05:21 vicfred joins (~vicfred@unaffiliated/vicfred)
17:05:56 geekosaur joins (82650c7a@130.101.12.122)
17:06:49 sujeet joins (sujeet@unaffiliated/freeboson)
17:06:53 zopsi joins (~zopsi@irc.dir.ac)
17:06:58 perrier-jouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
17:06:58 son0p joins (~son0p@181.136.122.143)
17:06:58 boxscape joins (4ff0baf3@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.243)
17:06:58 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
17:06:58 clynamen_ joins (~clynamen@net-93-66-1-11.cust.vodafonedsl.it)
17:06:58 khisanth_ joins (~Khisanth@24.sub-174-244-147.myvzw.com)
17:06:58 pincel joins (~pyon@unaffiliated/pyon)
17:06:58 dixie joins (~dixie@real.wilbury.sk)
17:06:58 madnificent joins (~madnifice@static.210.74.63.178.clients.your-server.de)
17:06:58 zaquest joins (~notzaques@5.128.210.178)
17:06:58 roconnor joins (~roconnor@host-104-157-194-235.dyn.295.ca)
17:06:58 MasseR joins (~MasseR@51.15.143.128)
17:06:58 juri_ joins (~juri@178.63.35.222)
17:06:58 grumble joins (~Thunderbi@freenode/staff/grumble)
17:06:58 egp_ joins (~egp_@2.95.74.168)
17:06:58 tanuki joins (~quassel@173.168.154.189)
17:06:58 ezzieyguywuf joins (~Unknown@unaffiliated/ezzieyguywuf)
17:06:58 epta joins (~m@nuda.space)
17:06:58 xcin joins (~x@159.203.132.140)
17:06:58 Jesin joins (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net)
17:06:58 mawk joins (mawk@serveur.io)
17:06:58 totoro2021 joins (~t@unaffiliated/totoro2021)
17:06:58 rkrishnan joins (~rkrishnan@rkrishnan.org)
17:06:58 jle` joins (~mstksg@unaffiliated/mstksg)
17:06:58 sim590 joins (~sim590@modemcable090.207-203-24.mc.videotron.ca)
17:06:58 xsarnik0 joins (xsarnik@gateway/shell/fi.muni.cz/x-pkbyatoowiwuqtjg)
17:06:58 aidecoe joins (~aidecoe@unaffiliated/aidecoe)
17:06:58 stilgart joins (~Christoph@chezlefab.net)
17:06:58 Jajik joins (xchlup2@gateway/shell/fi.muni.cz/x-mvogdeasxxfzjncw)
17:06:58 TommyC joins (~TommyC@unaffiliated/sepulchralbloom)
17:06:58 kloeri joins (~kloeri@freenode/staff/exherbo.kloeri)
17:06:58 mupf joins (~micha@v22017094964653601.ultrasrv.de)
17:06:58 jluttine joins (~jluttine@85-23-95-149.bb.dnainternet.fi)
17:06:58 nisstyre joins (~wes@python-zero/conduct-committee/nisstyre)
17:06:58 jathan joins (~jathan@69.61.93.38)
17:06:58 Cale joins (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com)
17:06:58 Cathy joins (~Cathy@unaffiliated/cathy)
17:07:00 × d34df00d quits (~d34df00d@104-14-27-213.lightspeed.austtx.sbcglobal.net) (Excess Flood)
17:09:19 × jathan quits (~jathan@69.61.93.38) (Max SendQ exceeded)
17:10:50 × chisui quits (59f77c97@i59F77C97.versanet.de) (Quit: Connection closed)
17:11:00 jathan joins (~jathan@69.61.93.38)
17:14:35 dbmikus joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
17:14:58 × chenshen quits (~chenshen@2620:10d:c090:400::5:9f47) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
17:16:39 <oafs> > let x = y : x in x
17:16:42 <lambdabot> [y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y...
17:16:43 nineonine joins (~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2)
17:16:49 <oafs> nice
17:16:57 <merijn> falsifian: Not sure that's possible, but that'd be super useful to have
17:17:14 <merijn> falsifian: You can try running with -v1 through -v3 and see if you get anything useful
17:17:14 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
17:17:26 <falsifian> I'm looking into it. It looks like if I enable the "timestamp" verbosity flag I could probably hack something together. Currently figuring out how to do that. Maybe one of -v1 to -v3 as you say.
17:17:27 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
17:18:30 noctux joins (~noctux@unaffiliated/noctux)
17:19:26 <falsifian> What is that magic lambdabot is doing? ghc just says "Variable not in scope: y".
17:19:39 <falsifian> *ghci
17:19:47 <edwardk> falsifian: it imports a module that defines a bunch of single letter variable names as Expr
17:20:02 <edwardk> where Expr knows how to print itself and has a bunch of common instances
17:20:03 <edwardk> :t x
17:20:04 <falsifian> lol that's a lot less magical than I was expecting.
17:20:05 <lambdabot> Expr
17:20:05 nrdmn98 joins (~nrdmn@95.129.53.118)
17:20:13 <edwardk> > x + x
17:20:15 <lambdabot> x + x
17:20:30 <falsifian> Okay, I'll revise that to just slightly less magical.
17:20:33 <edwardk> > foldr (+) z [a,b,c,d,e]
17:20:36 <lambdabot> a + (b + (c + (d + (e + z))))
17:20:55 × nineonine quits (~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2) (Ping timeout: 240 seconds)
17:21:04 × nrdmn9 quits (~nrdmn@95.129.53.118) (Ping timeout: 260 seconds)
17:21:08 <edwardk> its not that bad really. you can define such a thing by looking at what showsPrec does
17:21:12 <edwardk> :t showsPrec
17:21:14 <lambdabot> Show a => Int -> a -> ShowS
17:21:36 <edwardk> so define newtype Expr = Expr { runExpr :: Int -> ShowS } --
17:21:48 <edwardk> and the show instance is easy to write
17:22:10 <edwardk> and Num, etc. just build bigger expressions
17:22:45 <edwardk> iirc the actual implementation also carries around an optional number in case it can be computed and might support common sub-expression elimination if you use a specific way of accessing it, but the moral equivalent is easy
17:23:22 <falsifian> Cool.
17:24:19 <falsifian> Hm. Cabal's Distribution.Verbosity module has a notion of a "timestamp" flag that can be included in the verbosity settings, but I'm having trouble figuring out how to set that from the command-line, if it's possible at all
17:24:19 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
17:24:32 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
17:24:42 × boxscape quits (4ff0baf3@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.243) (Quit: Connection closed)
17:25:17 chenshen joins (~chenshen@2620:10d:c090:400::5:9f47)
17:26:30 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
17:26:32 boxscape joins (4ff0baf3@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.243)
17:26:47 <falsifian> Aha. cabal build --verbose='normal+timestamp'
17:28:31 <falsifian> So then I get lines like "1614792431.851 Building async-2.2.3 (lib)" and "1614792434.801 Completed async-2.2.3 (lib)"; from here I can just do some hacky post-processing.
17:29:13 geowiesnot_bis joins (~user@87-89-181-157.abo.bbox.fr)
17:30:43 nineonine joins (~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2)
17:30:43 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
17:31:08 emmanuel_erc joins (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com)
17:34:17 × geowiesnot_bis quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 265 seconds)
17:34:41 × Yumasi quits (~guillaume@2a01:e0a:5cb:4430:4f52:603c:a9c0:87e8) (Ping timeout: 258 seconds)
17:35:51 × geekosaur quits (82650c7a@130.101.12.122) (Quit: Connection closed)
17:36:33 geekosaur joins (82650c7a@130.101.12.122)
17:37:07 × forgottenone quits (~forgotten@176.88.30.190) (Read error: Connection reset by peer)
17:37:19 × sm2n quits (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca) (Read error: Connection reset by peer)
17:37:21 fendor joins (~fendor@91.141.0.81.wireless.dyn.drei.com)
17:39:34 sm2n joins (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca)
17:39:39 × jrqc quits (~rofl@96.78.87.197) (Ping timeout: 245 seconds)
17:39:55 <ADG1089__> any fast algorithms for `\Sum_{x \in X, y \in Y, xy <= L} xy` ?
17:41:44 <[exa]> ADG1089__: how "fast" you want to get? you won't get better than O(n^2) in the general case
17:41:44 × ixlun quits (~user@213.205.241.12) (Read error: Connection reset by peer)
17:42:23 <carbolymer> what was the name of ghc option for inverse errors?
17:42:37 <carbolymer> my ddg-fu has failed me
17:42:50 ixlun joins (~user@213.205.241.12)
17:43:09 jrqc joins (~rofl@96.78.87.197)
17:43:21 <carbolymer> carbolymer: -freverse-errors
17:43:26 <carbolymer> carbolymer: thx
17:43:40 <[exa]> ADG1089__: if the limit L filters out a large portion of the numbers, sort both series and avoid matching `xz` for `z>y` if you already know `xy > L`
17:44:08 <[exa]> a.k.a. walk the hyperbola
17:44:15 <ADG1089__> [exa]: what if I have them already sorted?
17:44:20 × emmanuel_erc quits (~user@2603-7000-9600-01c9-0000-0000-0000-0874.res6.spectrum.com) (Read error: Connection reset by peer)
17:44:37 <[exa]> ADG1089__: then you suddenly have much less work
17:45:07 <ADG1089__> also this is for 2 lists, say I have n lists X1, X2, ... I am trying to find x1.x2... forall x1.x2.. <= L, where all Xi's are sorted
17:45:21 <edwardk> adg: yes. start with fingertrees just to have a stock data structure, put the values in X sorted into one the values in Y sorted into the other. use the sum as the monoid. Now. you can walk through the shorter of X or Y, then quickly cut the other at where the individual element x in X * the measure of the prefix of Y crosses L.
17:45:42 <ADG1089__> [exa]: I think using 2 pointers might work, which move in opposite direction one on each of the list
17:46:12 <edwardk> the cost should be ~ O(min(|X| log |Y|, |Y| log |X|))
17:46:18 Guest_88 joins (5619784f@cpc143846-cosh20-2-0-cust78.6-1.cable.virginm.net)
17:46:36 <[exa]> ADG1089__: also, if working on numbers, you can coalesce a lot of multiplication by carefully updating the sum of `x`es and multiplying them all by once by a given `y`
17:46:42 <edwardk> or did i misunderstand the problem
17:47:02 <merijn> edwardk: tbh, sounds like just two IntSet might work? :p
17:47:06 <ADG1089__> edwardk: I think it can be done in O(|X| + |Y|)
17:47:35 <edwardk> merijn: the fingertree gives the access to the sum of all of Y the relevant Ys in constant time.
17:47:47 <edwardk> the intmap doesn't unless you preprocess it to store prefix sums
17:47:53 <[exa]> ADG1089__: are you working with numbers or generally something distributive, right?
17:49:06 <ADG1089__> working on Z_{10^12}/2^32
17:49:21 <ADG1089__> i.e. {x mod 2^32 | x <= 10^12 }
17:49:32 <ADG1089__> also x>0
17:49:34 <edwardk> ADG1089__: trying to exploit the fact that you can slide the finger rather than moving from the left hand side from scratch each time? you can come up with something, not sure i can prove easily it gets you to linear
17:49:59 × heatsink quits (~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d) (Remote host closed the connection)
17:52:09 <[exa]> yeah, on pre-sorted sequences and const-time "finger move" and addition/multiplication this should be linear
17:52:37 <edwardk> oh yeah, you can definitely get it to be linear
17:54:26 <edwardk> finger move is log time in the distance you move the finger, but you only sweep it through once in each direction
17:55:56 <edwardk> now, this is subject to caveats that I assume X and Y are non-negative. when they can be negative you have to solve all 4 quadrants separately, and if they are vector spaces and xy is a dot product it is also messy
17:56:09 <[exa]> is there a general "fold" that processes 2 sequences and can choose which one to pick the next element from? the shape of this is roughly the same as e.g. merge in mergesort.
17:56:57 × coot quits (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
17:57:25 coot joins (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
17:57:28 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 276 seconds)
17:57:29 <ADG1089__> ok I got it how to get it in linear time for 2 lists
17:58:00 <monochrom> I am lazy so I just merge and then fold that.
17:58:06 × gioyik quits (~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 268 seconds)
17:58:24 <edwardk> ADG1089__: great i can stop writing up the code then =)
17:58:29 <ADG1089__> thinking about N lists (say of size n each), I am thinking I can process 2 at a time which will take n/2*2n=n and repeat this so then it will be done in O(nlogn) i think
17:58:48 <ADG1089__> edwardk: we never know, I might get to learn something new from what you write =)
17:59:01 <[exa]> ADG1089__: the product is xyzwq.... from all lists ?
17:59:05 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:59:05 <ADG1089__> yeah
18:00:31 <[exa]> one problem with adding dimensions to a task is that the volume increases pretty quickly
18:01:05 <[exa]> if you process 2 at time you will have to guess what is the "rest of the L" for you
18:02:52 × ADG1089__ quits (~aditya@122.163.250.138) (Remote host closed the connection)
18:03:06 × kuribas quits (~user@ptr-25vy0ia12wjqyp3p35k.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
18:03:55 heatsink joins (~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d)
18:05:45 <[exa]> hm, in 3D the set of "border conditions" is in fact 2D, so kinda suspecting this won't be as easy without some brutal trick.
18:05:50 <[exa]> (also 3SUM problem)
18:06:11 CrabMan sent a long message: < https://matrix.org/_matrix/media/r0/download/matrix.org/klLgreaAKSLlbJHaGkcSWXjO/message.txt >
18:06:52 <geekosaur> CrabMan: because you imported only the type constructor and not the data constructor
18:07:05 <geekosaur> try import ... (Tokens(..))
18:07:15 <geekosaur> or (Tokens(Tokens))
18:07:17 × newbie76 quits (4cbf11e9@node-17-233.flex.volo.net) (Quit: Connection closed)
18:08:14 egp__ joins (~egp_@2.95.74.168)
18:08:42 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
18:08:51 × egp_ quits (~egp_@2.95.74.168) (Quit: EXIT)
18:09:30 <CrabMan> import Text.Megaparsec (ErrorItem(Tokens))
18:09:30 <CrabMan> it works, thanks
18:13:30 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
18:15:29 × stree quits (~stree@68.36.8.116) (Ping timeout: 245 seconds)
18:15:34 <dminuoso> 17:05:18 merijn | aggin: Go's compiler was from the start engineered to be resource low
18:15:35 × deviantfero quits (~deviantfe@190.150.27.58) (Ping timeout: 240 seconds)
18:15:54 <dminuoso> It is considerably easy to implement a low-resource compiler for a low-feature language.
18:16:15 × geekosaur quits (82650c7a@130.101.12.122) (Quit: Connection closed)
18:16:32 geekosaur joins (82650c7a@130.101.12.122)
18:16:51 gxt joins (~gxt@gateway/tor-sasl/gxt)
18:17:30 <dminuoso> Plus you can reuse a lot of architecture and optimization ideas from existing compilers, go doesn't really have any novelties to it.
18:17:57 deviantfero joins (~deviantfe@190.150.27.58)
18:18:09 × boxscape quits (4ff0baf3@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.243) (Ping timeout: 256 seconds)
18:18:10 kenran joins (~kenran@i577BCDB3.versanet.de)
18:18:43 × rajivr quits (uid269651@gateway/web/irccloud.com/x-ayknupbaawowskzf) (Quit: Connection closed for inactivity)
18:20:38 × gxt quits (~gxt@gateway/tor-sasl/gxt) (Client Quit)
18:21:08 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.0)
18:21:38 × coeus quits (~coeus@p200300d0274c930028b50fb1d864e965.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
18:22:17 × barnowl quits (~barnowl@gateway/tor-sasl/barnowl) (Remote host closed the connection)
18:22:25 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
18:22:39 barnowl joins (~barnowl@gateway/tor-sasl/barnowl)
18:25:20 × Guest_88 quits (5619784f@cpc143846-cosh20-2-0-cust78.6-1.cable.virginm.net) (Quit: Ping timeout (120 seconds))
18:26:06 × kderme quits (4fa758c1@ppp079167088193.access.hol.gr) (Quit: Connection closed)
18:26:43 × fendor quits (~fendor@91.141.0.81.wireless.dyn.drei.com) (Remote host closed the connection)
18:28:13 stree joins (~stree@68.36.8.116)
18:28:44 fendor joins (~fendor@91.141.0.81.wireless.dyn.drei.com)
18:29:35 fendor_ joins (~fendor@91.141.0.81.wireless.dyn.drei.com)
18:30:00 × vgtw quits (~vgtw@gateway/tor-sasl/vgtw) (Remote host closed the connection)
18:30:29 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds)
18:30:35 × heatsink quits (~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d) (Remote host closed the connection)
18:30:37 × kenran quits (~kenran@i577BCDB3.versanet.de) (Ping timeout: 276 seconds)
18:31:22 × fendor quits (~fendor@91.141.0.81.wireless.dyn.drei.com) (Remote host closed the connection)
18:32:21 rayyyy joins (~nanoz@gateway/tor-sasl/nanoz)
18:32:26 × fendor_ quits (~fendor@91.141.0.81.wireless.dyn.drei.com) (Remote host closed the connection)
18:32:44 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
18:33:24 apache801 joins (~rishi@wsip-70-168-153-252.oc.oc.cox.net)
18:33:55 × geekosaur quits (82650c7a@130.101.12.122) (Quit: Connection closed)
18:34:12 geekosaur joins (82650c7a@130.101.12.122)
18:34:47 × terrorjack quits (~terrorjac@ec2-18-162-149-225.ap-east-1.compute.amazonaws.com) (Quit: The Lounge - https://thelounge.chat)
18:36:38 × conal quits (~conal@64.71.133.70) (Ping timeout: 265 seconds)
18:38:18 <ezzieyguywuf> ok, so `cabal install cabal-install` then `cabal unpack diagrama-contrib` cd into the dir amd `cabal test` should reproduce the random-1.2 conflict
18:38:38 <ezzieyguywuf> is this just a non-intended use for cabal?
18:38:57 coeus joins (~coeus@p200300d027267600bb8cfa912d4fc1ef.dip0.t-ipconnect.de)
18:38:59 jamm_ joins (~jamm@unaffiliated/jamm)
18:40:00 conal joins (~conal@192.145.118.103)
18:40:09 fendor joins (~fendor@91.141.0.81.wireless.dyn.drei.com)
18:40:17 <monochrom> "cabal test" is always an intended use.
18:40:34 × zebrag quits (~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
18:40:36 <monochrom> But I get cabal-install from ghcup. I don't bother building it.
18:40:57 zebrag joins (~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr)
18:41:02 Mrbuck joins (~Mrbuck@gateway/tor-sasl/mrbuck)
18:41:08 <sclv> its possible you have a ghc env file accidentally created by calling `cabal install`
18:41:10 × larryba quits (~bc8134e3@217.29.117.252) (Quit: http://www.okay.uz/)
18:41:31 <sclv> on intermediate versions of cabal-install it created them too frequently even when just installing executables and not libs
18:41:52 <sclv> this is now fixed, but the env file could still be around
18:42:55 <maerwald> `cabal install cabal-install` isn't guaranteed to work (may depend on your GHC etc)
18:43:26 × jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 240 seconds)
18:44:07 <monochrom> But the env file is actively ignored in package contexts and project contexts. Hell I think almost most cabal commands.
18:44:25 <monochrom> s/almost most/almost all/
18:44:53 heatsink joins (~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d)
18:45:57 Guest_88 joins (5619784f@cpc143846-cosh20-2-0-cust78.6-1.cable.virginm.net)
18:47:25 romesrf joins (~romesrf@44.190.189.46.rev.vodafone.pt)
18:48:05 × Mrbuck quits (~Mrbuck@gateway/tor-sasl/mrbuck) (Quit: WeeChat 1.9.1)
18:48:14 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds)
18:50:10 <romesrf> hey all, how would I run a foldl until the value is bigger than x
18:50:38 <monochrom> And then you want it to stop?
18:50:50 <monochrom> I'm afraid foldl doesn't do early stop.
18:50:51 <romesrf> i.e. foldl (+) 1 (listOfPrimes [] 2) : how can i run this until the 'accumulator value' is > 2000000
18:51:03 × geekosaur quits (82650c7a@130.101.12.122) (Ping timeout: 240 seconds)
18:51:52 <romesrf> listOfPrimes is infinite, so i'm thinking i need an additional construction to stop it midwhile with fold, but i decided to ask since as a beginner i might not be seeing the easier ways
18:52:05 <swarmcollective> romesrf: maybe use: take 2000000 (listOfPrimes [] 2)
18:52:09 × kritzefitz quits (~kritzefit@212.86.56.80) (Ping timeout: 245 seconds)
18:52:59 × knupfer quits (~Thunderbi@i5E86B4BE.versanet.de) (Ping timeout: 245 seconds)
18:53:01 <romesrf> swarmcollective: i had this, but i quit it after 3minutes running :) -> (sum (takeWhile (\x -> x < 2000000) (listOfPrimes [] 2))) + 1
18:53:15 <romesrf> oh wait
18:54:09 <romesrf> using fold is probably not going to solve my problems :)
18:54:20 <swarmcollective> Oh, you are summing the primes. Sorry, I misread.
18:54:21 <romesrf> at a point i thought the overhead could be because of the long list
18:54:30 <romesrf> swarmcollective: no worries
18:54:59 × CodeAlways quits (uid272474@gateway/web/irccloud.com/x-ubvhdubmvytegxuj) (Quit: Connection closed for inactivity)
18:55:09 <monochrom> Most people's codings of "list of primes" are dog slow.
18:55:28 <romesrf> yeah, i think i might need to finally implement a sieve algorithm
18:55:38 × massma quits (~user@dyn-160-39-62-152.dyn.columbia.edu) (Remote host closed the connection)
18:57:09 <romesrf> this is the correct way to share code right: https://paste.tomsmeding.com/nwpaIRYb
18:57:32 <swarmcollective> That is a correct way.
18:59:04 <monochrom> This adds two quadratic slowdowns on top of division slowdown.
18:59:27 <monochrom> "null xs" takes constant time. "length xs == 0" takes linear time.
19:00:49 <romesrf> monochrom: i laughed out loud reading that ahahahahaaha
19:01:09 <romesrf> beginner mistakes is not understanding the complexities in the things i'm using
19:01:39 <romesrf> null xs, i'll do that optimization
19:02:08 × __minoru__shirae quits (~shiraeesh@109.166.56.89) (Ping timeout: 245 seconds)
19:02:15 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
19:02:17 __minoru__shirae joins (~shiraeesh@46.34.206.213)
19:02:25 × deviantfero quits (~deviantfe@190.150.27.58) (Ping timeout: 256 seconds)
19:02:49 jpds joins (~jpds@gateway/tor-sasl/jpds)
19:02:59 × finn_elija quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Remote host closed the connection)
19:03:18 notzmv joins (~zmv@unaffiliated/zmv)
19:03:26 × berberman_ quits (~berberman@unaffiliated/berberman) (Ping timeout: 240 seconds)
19:03:33 berberman joins (~berberman@unaffiliated/berberman)
19:03:36 finn_elija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
19:03:49 <Guest_88> hi I'm a massive noob to Haskell and I'm trying to get the average of 3 integers using from integral. This is what I have so far - `averageThree :: Int -> Int -> Int -> Float
19:03:49 <Guest_88> averageThree a b c = (fromIntegral a + fromIntegral b + fromIntegral c) / 3.0`
19:04:20 Wuzzy joins (~Wuzzy@p5b0df7c2.dip0.t-ipconnect.de)
19:04:26 <Guest_88> any idea on why this is wrong?
19:04:57 <__minoru__shirae> romesrf: my suggestion is to write a short-circuiting function and then use it with foldr
19:05:03 <__minoru__shirae> if it is possible in this case
19:05:12 <tomsmeding> Guest_88: how is it wrong?
19:05:29 × vostorga quits (~vostorga@178.239.168.171) (Ping timeout: 260 seconds)
19:07:02 <sclv> ezzieyguywuf: ok fwiw i unpacked diagrams-contrib and ran a cabal v2-test and it worked so there's something particular you're running into that's not like standard
19:07:26 × thc202 quits (~thc202@unaffiliated/thc202) (Ping timeout: 240 seconds)
19:07:39 × DataComputist quits (~lumeng@50.43.26.251) (Read error: Connection reset by peer)
19:08:10 <Guest_88> tomsmeding got it working now :0
19:08:16 apache8080 joins (~rishi@wsip-70-168-153-252.oc.oc.cox.net)
19:08:25 gxt joins (~gxt@gateway/tor-sasl/gxt)
19:08:26 <monochrom> "did you save the file?"
19:08:35 × xwvvvvwx quits (xwvvvvwx@gateway/vpn/mullvad/xwvvvvwx) (K-Lined)
19:08:37 × motherfsck quits (~motherfsc@unaffiliated/motherfsck) (K-Lined)
19:08:38 <Guest_88> :/
19:08:42 <Guest_88> perhaps
19:08:57 × apache801 quits (~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 264 seconds)
19:09:22 geekosaur joins (82650c7a@130.101.12.122)
19:09:35 DataComputist joins (~lumeng@50.43.26.251)
19:09:50 <romesrf> __minoru__shirae: i'm going to try a different optimization (square roots), but can you tell me what a short-circuiting function is, or what i should search for to find one
19:09:52 <swarmcollective> Would this be similar? averageThree :: Integral a => Integral b => Integral c => a -> b -> c -> Float; averageThree a b c = (a + b + c) / 3 ?
19:10:35 <__minoru__shirae> romesrf: I mean a function that doesn't evaluate one of its arguments when doesn't need its value
19:11:29 <Guest_88> got it working now swarmcollective :)
19:11:32 <monochrom> swarmcollective: That is a syntactically invalid type. After correcting the type, you still have to say "fromIntegral" 3 times.
19:11:34 <__minoru__shirae> you can achieve by using "_" symbol when naming a parameter
19:14:35 × elfets quits (~elfets@37.201.23.96) (Ping timeout: 240 seconds)
19:17:22 heck-to-the-gnom joins (heck-to-th@gateway/shell/matrix.org/x-dkqfwxrpalpplgbl)
19:17:34 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
19:18:44 knupfer joins (~Thunderbi@i5E86B4BE.versanet.de)
19:18:54 <carbolymer> I think I'm blind, how can I use `Const a b` with Map.alterF and get b from Const?
19:19:21 <monochrom> From "Const a b" you can only get a, not b.
19:20:28 Pickchea joins (~private@unaffiliated/pickchea)
19:20:50 <heck-to-the-gnom> Does anyone know what I'm doing wrong here? https://p.bsd-unix.net/view/174f75a1
19:21:09 <ezzieyguywuf> sclv: thabks for testing!
19:21:30 × graf_blu` quits (~user@adsl-178-38-234-220.adslplus.ch) (Remote host closed the connection)
19:21:35 <ezzieyguywuf> sclv: does ghc-pkg list show random-1.2?
19:22:31 <dolio> monochrom: It's actually not an invalid type in GHC. I think some recent papers even use that as the desugaring of tupled constraints.
19:22:50 <monochrom> Yikes.
19:23:24 <dolio> I forget why it's preferable to a tuple exactly.
19:23:30 <carbolymer> monochrom: what about foldable instance https://hackage.haskell.org/package/base-4.12.0.0/docs/Data-Functor-Const.html#v:foldr ? this: `foldr const () (Const 4)` should return the b I think
19:23:57 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
19:24:11 <geekosaur> heck-to-the-gnom, you're trying to mix pure operations and operations in the X monad, that won't work directly
19:24:31 <geekosaur> and you should probably ask in #xmonad since there's already several discussions going on in here
19:24:49 <heck-to-the-gnom> OK, well, what's my course of action? OK, I'll do that
19:25:14 <monochrom> carbolymer: In that use of foldr, you gave () so you get back ().
19:25:24 <carbolymer> right
19:25:24 <geekosaur> for starters, you use XMonad.Operations.windows to operate on the StackSet from X
19:25:47 × bobiusbillius quits (~bobiusbil@2a00:23c7:9909:5b01:909a:85aa:703a:457c) (Ping timeout: 272 seconds)
19:25:59 <Guest_88> why do negative numbers multiply into negatives? is there a way around
19:26:13 <tomsmeding> Guest_88: which negative numbers? :p
19:26:44 <geekosaur> but you won't be able to use gets from inside windows. I think your first attempt should work, though
19:26:50 <Guest_88> trying to write a function that gives you the absolute value without using abs
19:26:56 <monochrom> > foldr undefined "just myself" (Const 4)
19:26:58 <lambdabot> "just myself"
19:27:05 <monochrom> Hell, in fact...
19:27:08 <monochrom> > foldr undefined "just myself" (Const undefined)
19:27:08 Mikaela1 joins (~Mikaela@139.28.218.148)
19:27:10 <lambdabot> "just myself"
19:27:10 terrorjack joins (~terrorjac@ec2-18-162-149-225.ap-east-1.compute.amazonaws.com)
19:27:38 <monochrom> > (-4) * (-5)
19:27:39 <lambdabot> 20
19:27:48 <monochrom> I get a positive number.
19:27:55 <tomsmeding> > foldr undefined (Just (Identity ())) (Const undefined)
19:27:57 <lambdabot> Just (Identity ())
19:28:01 <tomsmeding> haskell-ised that for you
19:28:54 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
19:29:12 <tomsmeding> > (-1000000000000) * (-5000000000000) :: Int
19:29:14 <lambdabot> -8427923047675068416
19:29:29 <carbolymer> tomsmeding: ok I get it I think
19:29:48 <Guest_88> nvm I got it, I forget how stupid I am sometimes
19:30:49 <tomsmeding> monochrom: "you still have to say "fromIntegral" 3 times" -- sum (map fromIntegral [a, b, c]) / 3.0 -- so there :)
19:31:16 <monochrom> That requires a,b,c to be all of the same type.
19:31:27 <geekosaur> so does (+)
19:31:28 <heck-to-the-gnom> geekosaur: My first attempt as in? `P.modify''...`, the uncommented one or `W.modify'`?
19:31:55 <heck-to-the-gnom> Oh, sorry didn't realize you moved to #haskell...
19:32:10 <monochrom> With (Integral a, Integral b, Integral c) => a -> b -> c -> Float, you can't form the [a,b,c] list.
19:32:25 <tomsmeding> monochrom: right, I missed that one...
19:32:51 <monochrom> geekosaur, (+) is fine after putting back the necessary fromIntegral's. fromIntegral a + fromIntegral b + fromIntegral c, here (+) is Float's.
19:32:54 × knupfer quits (~Thunderbi@i5E86B4BE.versanet.de) (Ping timeout: 260 seconds)
19:33:15 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
19:34:09 <monochrom> @quote monochrom river
19:34:10 <lambdabot> monochrom says: You are to send a boolean, a character, and an integer across the river. The list for transporting across the river can hold 3 items, in fact any number of items you like, but they
19:34:10 <lambdabot> must all be of the same type. On the bright side, after crossing the river, the boolean, the character, and the integer need only be put on show. How many trips do you need? Solution: one trip, [
19:34:10 <lambdabot> show the_boolean, show the_character, show the_integer]
19:34:34 <monochrom> Note that you can't "map show [the_boolean, the_character, the_integer]
19:34:46 geekosaur is trying to do too many things at once, pfeh
19:35:42 tomsmeding sniggers at the river thing
19:36:04 <monochrom> I got a good laugh writing it, too.
19:36:37 apache801 joins (~rishi@wsip-70-168-153-252.oc.oc.cox.net)
19:37:19 × whald quits (~trem@2a02:810a:8100:11a6:ce1b:d0ec:5466:a331) (Quit: Leaving)
19:37:28 <monochrom> https://xkcd.com/1134/ and https://xkcd.com/2348/
19:38:07 × ixlun quits (~user@213.205.241.12) (Ping timeout: 256 seconds)
19:38:13 × apache8080 quits (~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 276 seconds)
19:40:18 <tomsmeding> rip the person who has to arrange that mess in 2348
19:40:34 × zebrag quits (~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
19:40:36 deviantfero joins (~deviantfe@190.150.27.58)
19:40:55 zebrag joins (~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr)
19:41:03 <monochrom> spreadsheet didn't have LAMBDA back then. He might do OK today.
19:41:37 bahamas joins (~lucian@unaffiliated/bahamas)
19:41:55 <monochrom> Alternatively, he could have fired up Powerpoint instead of spreadsheet.
19:42:41 <monochrom> https://www.youtube.com/watch?v=uNjxe8ShM-8
19:45:03 <tomsmeding> he missed writing "white" on his Background slide
19:46:55 × heatsink quits (~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d) (Remote host closed the connection)
19:47:14 heatsink joins (~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d)
19:47:25 hildedious joins (~hildediou@host109-153-130-34.range109-153.btcentralplus.com)
19:49:20 × conal quits (~conal@192.145.118.103) (Quit: Computer has gone to sleep.)
19:51:00 halidiousof joins (~halidious@host109-153-130-34.range109-153.btcentralplus.com)
19:51:33 × hildedious quits (~hildediou@host109-153-130-34.range109-153.btcentralplus.com) (Ping timeout: 246 seconds)
19:53:19 mikoto-chan joins (~anass@gateway/tor-sasl/mikoto-chan)
19:55:01 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
19:55:03 × halidiousof quits (~halidious@host109-153-130-34.range109-153.btcentralplus.com) (Ping timeout: 246 seconds)
19:56:27 <heck-to-the-gnom> Or LibreImpress. cringing at MS' products. tisk, tisk
19:56:57 <mikoto-chan> Why does cabal always fail to build everything?
19:57:06 <mikoto-chan> I will send a log give me a minute
19:57:21 <ephemient> data Showable where Showable :: Show a => a -> Showable; instance Show Showable where showsPrec prec (Showable a) = showsPrec prec a; map show [Showable True, Showable 'f', Showable 0]
19:57:26 × geekosaur quits (82650c7a@130.101.12.122) (Quit: Connection closed)
19:57:38 <sclv> "Why does cabal always fail to build everything?" because it is very advanced
19:57:47 geekosaur joins (82650c7a@130.101.12.122)
19:58:31 vgtw joins (~vgtw@gateway/tor-sasl/vgtw)
19:58:53 <mikoto-chan> https://dpaste.com/AP7PEUV5B
19:59:22 <mikoto-chan> sclv: Is this enough?
19:59:46 cgadski joins (~textual@a95-95-106-208.cpe.netcabo.pt)
19:59:50 <geekosaur> looks like gi doesn't support your installed version of gdk?
20:00:35 <mikoto-chan> What's gdk?
20:01:47 <mikoto-chan> /
20:02:14 <__minoru__shirae> gdk is a program that has something to do with graphics
20:02:28 × mikoto-chan quits (~anass@gateway/tor-sasl/mikoto-chan) (Quit: mikoto-chan)
20:02:29 × DataComputist quits (~lumeng@50.43.26.251) (Ping timeout: 256 seconds)
20:02:33 <tomsmeding> o/
20:02:48 <geekosaur> gnu drawing kit, part of the gtk system
20:03:16 DataComputist joins (~lumeng@50.43.26.251)
20:03:27 <ezzieyguywuf> ok, humour me: this time, without cabal install cabal-install. (1) cabal unpack brittany, (2) cd brittany*; cabal test # all good (3) cd ..; cabal unpack diagrams-contrib (4) cd diagrams-contrib*; cabal test # fail due to base?
20:03:42 <ezzieyguywuf> my ghc is 8.10.4 I guess this could be the issue? i.e. diagrams-contrib is compatible atm?
20:03:49 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
20:04:12 <geekosaur> oh, sorry, looks like you're missing all the C-side stuff. gi does not rewrite all of gtk in haskell, it links to the C version
20:04:21 <tomsmeding> geekosaur: (they left)
20:04:22 conal joins (~conal@ip-66-115-176-156.creativelink.net)
20:04:26 <geekosaur> oh
20:04:34 alecs is now known as malumore
20:05:03 × petersen quits (~petersen@redhat/juhp) (Ping timeout: 245 seconds)
20:05:16 <tomsmeding> ezzieyguywuf: https://matrix.hackage.haskell.org/#/package/diagrams-contrib
20:05:24 kupi joins (uid212005@gateway/web/irccloud.com/x-cgsykjurvegvbxhp)
20:05:32 <tomsmeding> seems it indeed isn't compatible with 8.10; no-ip means "no install plan found"
20:05:47 <tomsmeding> however it may be that it needs just a version bump?
20:05:56 <sclv> welp there you go :-)
20:06:04 <ezzieyguywuf> probs just needs a version bump
20:06:34 <ezzieyguywuf> darn but this doesn't accomplish my goal of trying to replicate a different issue altogether (though to be honest the issue may be a non-issue, you can throw stones at me if you wish)
20:06:57 <tomsmeding> it has an explicit 'base < 4.14' constraint in the cabal file, so that at least is why cabal is failing
20:07:20 petersen joins (~petersen@redhat/juhp)
20:07:29 sclv checks that they're still without sin, then readies a stone
20:08:31 × heatsink quits (~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d) (Remote host closed the connection)
20:09:20 × vgtw quits (~vgtw@gateway/tor-sasl/vgtw) (Quit: ZNC - https://znc.in)
20:09:38 ezzieyguywuf dons helmet
20:10:10 × ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection)
20:10:14 <ezzieyguywuf> what does this mean? I tried removing the upperbound (constraint from non-upgradeable package requires installed instance)
20:10:35 ukari joins (~ukari@unaffiliated/ukari)
20:10:42 <ezzieyguywuf> oh, a dep package has the same base issue I guess, force-layout
20:11:25 × wmacmil quits (~wmacmil@c83-252-138-144.bredband.comhem.se) (Remote host closed the connection)
20:11:52 wmacmil joins (~wmacmil@c83-252-138-144.bredband.comhem.se)
20:12:22 usr25 joins (~usr25@unaffiliated/usr25)
20:12:31 × rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 268 seconds)
20:13:01 <ezzieyguywuf> that hackage matrix thing is neat
20:16:46 kenran joins (~kenran@i577BCDB3.versanet.de)
20:17:14 × ClaudiusMaximus quits (~claude@unaffiliated/claudiusmaximus) (Quit: ->)
20:19:53 curiousgay_ joins (~quassel@178.217.208.8)
20:21:28 × curiousgay_ quits (~quassel@178.217.208.8) (Client Quit)
20:22:38 kritzefitz joins (~kritzefit@212.86.56.80)
20:25:03 nineonin_ joins (~nineonine@50.216.62.2)
20:27:01 knupfer joins (~Thunderbi@i5E86B4BE.versanet.de)
20:28:20 × nineonine quits (~nineonine@2604:3d08:7785:9600:2076:7626:28f5:58b2) (Ping timeout: 258 seconds)
20:28:29 × evanjs quits (~evanjs@075-129-098-007.res.spectrum.com) (Read error: Connection reset by peer)
20:29:03 × Guest_88 quits (5619784f@cpc143846-cosh20-2-0-cust78.6-1.cable.virginm.net) (Ping timeout: 240 seconds)
20:29:52 × terrorjack quits (~terrorjac@ec2-18-162-149-225.ap-east-1.compute.amazonaws.com) (Quit: The Lounge - https://thelounge.chat)
20:30:46 vgtw joins (~vgtw@gateway/tor-sasl/vgtw)
20:32:15 × son0p quits (~son0p@181.136.122.143) (Quit: Lost terminal)
20:36:25 × stree quits (~stree@68.36.8.116) (Ping timeout: 256 seconds)
20:36:27 heatsink joins (~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d)
20:40:34 × zebrag quits (~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
20:40:56 zebrag joins (~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr)
20:41:56 softwarm joins (44695313@ip68-105-83-19.sd.sd.cox.net)
20:42:43 × bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 256 seconds)
20:43:30 evanjs joins (~evanjs@075-129-098-007.res.spectrum.com)
20:44:45 bobiusbillius joins (~bobiusbil@2a00:23c7:9909:5b01:909a:85aa:703a:457c)
20:46:29 × coot quits (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
20:46:58 × fendor quits (~fendor@91.141.0.81.wireless.dyn.drei.com) (Remote host closed the connection)
20:47:14 × heatsink quits (~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d) (Remote host closed the connection)
20:48:36 × romesrf quits (~romesrf@44.190.189.46.rev.vodafone.pt) (Quit: WeeChat 3.0.1)
20:49:17 fendor joins (~fendor@91.141.0.81.wireless.dyn.drei.com)
20:49:33 stree joins (~stree@68.36.8.116)
20:49:35 × conal quits (~conal@ip-66-115-176-156.creativelink.net) (Quit: Computer has gone to sleep.)
20:49:38 howdoi joins (uid224@gateway/web/irccloud.com/x-kijbwunaxvivrehm)
20:49:47 aarvar joins (~foewfoiew@2601:602:a080:fa0:176:cad2:9667:c008)
20:50:58 conal joins (~conal@ip-66-115-176-156.creativelink.net)
20:52:09 × epicte7us quits (~epictetus@ip72-194-215-136.sb.sd.cox.net) (Ping timeout: 245 seconds)
20:54:55 × conal quits (~conal@ip-66-115-176-156.creativelink.net) (Ping timeout: 240 seconds)
20:56:15 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
20:56:42 × Mikaela1 quits (~Mikaela@139.28.218.148) (Remote host closed the connection)
21:00:44 × kenran quits (~kenran@i577BCDB3.versanet.de) (Quit: leaving)
21:02:33 heatsink joins (~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d)
21:05:05 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
21:05:14 Guest_88 joins (5619784f@cpc143846-cosh20-2-0-cust78.6-1.cable.virginm.net)
21:06:50 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
21:07:16 <Guest_88> hi guys I wrote this 'taxiF :: Float -> Float
21:07:16 <Guest_88> taxiF a | a <= 10 = 2.2 + 0.5* a | a<10 = 2.2 + 0.5*a + x
21:07:17 <Guest_88>     where x = (a-10)*0.3
21:07:55 <Guest_88> which works out taxi fares. But I get an error saying non exhaustive patterns when I enter above 10
21:08:27 <Guest_88> im also trying to get it to work by entering and integer and using from integral
21:08:29 <int-e> Guest_88: presumably you want a>10 instead of a<10
21:08:52 <Guest_88> oh yeah!
21:09:24 <int-e> or use the idiomatic | otherwise
21:09:30 <int-e> @src otherwise
21:09:31 <lambdabot> otherwise = True
21:10:13 <Guest_88> got it, thanks
21:11:25 son0p joins (~son0p@181.58.39.182)
21:12:00 × kritzefitz quits (~kritzefit@212.86.56.80) (Remote host closed the connection)
21:12:12 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:12:25 Gunni1 joins (~Gunni@139.28.218.148)
21:12:58 × apache801 quits (~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 245 seconds)
21:15:04 mirrorbird joins (~psutcliff@2a00:801:3f2:fa8e:16b2:2b3e:c801:a519)
21:16:03 × Tesseraction_k quits (~Tesseract@unaffiliated/tesseraction) (Read error: Connection reset by peer)
21:16:32 Tesseraction joins (~Tesseract@unaffiliated/tesseraction)
21:16:38 fendor_ joins (~fendor@77.119.128.81.wireless.dyn.drei.com)
21:17:19 × Benzi-Junior quits (~BenziJuni@88-149-67-143.du.xdsl.is) (Ping timeout: 260 seconds)
21:18:12 nullniverse joins (~null@unaffiliated/nullniverse)
21:18:19 × justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) (Ping timeout: 276 seconds)
21:19:03 romesrf joins (~romesrf@44.190.189.46.rev.vodafone.pt)
21:19:04 × fendor quits (~fendor@91.141.0.81.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
21:20:21 × knupfer quits (~Thunderbi@i5E86B4BE.versanet.de) (Ping timeout: 264 seconds)
21:20:50 × chenshen quits (~chenshen@2620:10d:c090:400::5:9f47) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
21:20:53 xwvvvvwx joins (xwvvvvwx@gateway/vpn/mullvad/xwvvvvwx)
21:21:59 chenshen joins (~chenshen@2620:10d:c090:400::5:9f47)
21:22:23 × Rudd0^ quits (~Rudd0@185.189.115.108) (Ping timeout: 256 seconds)
21:24:12 × Marissa quits (Marissa@33.anserq.com) (Remote host closed the connection)
21:24:22 × Guest_88 quits (5619784f@cpc143846-cosh20-2-0-cust78.6-1.cable.virginm.net) (Ping timeout: 240 seconds)
21:25:11 × thunderrd quits (~thunderrd@183.182.112.145) (*.net *.split)
21:26:44 thunderrd joins (~thunderrd@183.182.112.145)
21:27:41 apache801 joins (~rishi@wsip-70-168-153-252.oc.oc.cox.net)
21:30:33 × mirrorbird quits (~psutcliff@2a00:801:3f2:fa8e:16b2:2b3e:c801:a519) (Ping timeout: 272 seconds)
21:32:37 × cods quits (~fred@unaffiliated/cods) (Ping timeout: 276 seconds)
21:33:15 cods joins (~fred@82-65-232-44.subs.proxad.net)
21:33:37 × DataComputist quits (~lumeng@50.43.26.251) (*.net *.split)
21:33:38 × hyperisco quits (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (*.net *.split)
21:33:38 × averell quits (~averell@unaffiliated/averell) (*.net *.split)
21:33:38 × TMA quits (tma@twin.jikos.cz) (*.net *.split)
21:33:38 × Sparad0x quits (~etienne@ns3123347.ip-51-68-152.eu) (*.net *.split)
21:33:38 × dorkside quits (~tdbgamer@208.190.197.222) (*.net *.split)
21:33:38 × maerwald quits (~maerwald@mail.hasufell.de) (*.net *.split)
21:33:38 × LittleFox quits (~littlefox@rondra.lf-net.org) (*.net *.split)
21:33:38 × arw quits (~arw@impulse.informatik.uni-erlangen.de) (*.net *.split)
21:33:38 × marek quits (~mmahut@fedora/pyxel) (*.net *.split)
21:33:38 × jtcs quits (~jtcs@vmi359854.contaboserver.net) (*.net *.split)
21:33:38 × hodapp quits (~hodapp@react-ams-119225.antiddos.solutions) (*.net *.split)
21:33:38 × jonatan quits (~nate@h77-53-70-163.cust.a3fiber.se) (*.net *.split)
21:33:38 × int-e quits (~noone@int-e.eu) (*.net *.split)
21:33:38 × chrisosa1rus quits (chris@segfault.net.nz) (*.net *.split)
21:33:38 × brettgilio_ quits (~brettgili@brettgilio.com) (*.net *.split)
21:33:38 × aforemny quits (~aforemny@static.248.158.34.188.clients.your-server.de) (*.net *.split)
21:33:38 × fiddlerwoaroof quits (~fiddlerwo@unaffiliated/fiddlerwoaroof) (*.net *.split)
21:33:38 × Someguy123 quits (~someguy@unaffiliated/compgenius999) (*.net *.split)
21:33:38 × ahri quits (~ahri@178.209.40.84) (*.net *.split)
21:33:38 × leothrix quits (~leothrix@elastic/staff/leothrix) (*.net *.split)
21:33:38 × Kaivo quits (~Kaivo@104-200-86-99.mc.derytele.com) (*.net *.split)
21:33:38 × dddddd quits (~dddddd@unaffiliated/dddddd) (*.net *.split)
21:33:38 × stux|RC-only quits (stux2@grid9.quadspeedi.net) (*.net *.split)
21:33:38 × landonf quits (landonf@mac68k.info) (*.net *.split)
21:33:38 × absence quits (torgeihe@hildring.pvv.ntnu.no) (*.net *.split)
21:33:38 × m1dnight_ quits (~m1dnight@188.ip-51-91-158.eu) (*.net *.split)
21:33:38 × alinab quits (sid468903@gateway/web/irccloud.com/x-pnysahqquupbvvmz) (*.net *.split)
21:33:38 × xintron quits (~xintron@unaffiliated/xintron) (*.net *.split)
21:33:38 × lightandlight quits (sid135476@gateway/web/irccloud.com/x-mibnuuqzjpebbkzx) (*.net *.split)
21:33:38 × Dykam quits (Dykam@dykam.nl) (*.net *.split)
21:33:38 × M2tias quits (m2@seri.fi) (*.net *.split)
21:33:38 × bcoppens quits (~bartcopp@kde/coppens) (*.net *.split)
21:33:38 × Inoperable quits (~PLAYER_1@fancydata.science) (*.net *.split)
21:33:38 × {abby} quits (~{abby}@unaffiliated/demhydraz) (*.net *.split)
21:33:38 × connrs_ quits (~connrs@runciter.connrs.uk) (*.net *.split)
21:33:38 × travv0 quits (sid293381@gateway/web/irccloud.com/x-qfqftjhlfdqcrtoj) (*.net *.split)
21:33:38 × sea-gull quits (~sea-gull@li1815-136.members.linode.com) (*.net *.split)
21:33:38 × uberj quits (~uberj@unaffiliated/uberj) (*.net *.split)
21:33:38 × tristanC quits (~tristanC@unaffiliated/tristanc) (*.net *.split)
21:33:38 × adamCS quits (~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com) (*.net *.split)
21:33:38 × leafiest quits (~leafiest@165.227.53.12) (*.net *.split)
21:33:38 × hwabyong quits (~hwabyong@ec2-3-221-194-167.compute-1.amazonaws.com) (*.net *.split)
21:33:38 × eldritch quits (~eldritch@unaffiliated/eldritch) (*.net *.split)
21:33:38 × sarahzrf quits (~sarahzrf_@sarahzrf.com) (*.net *.split)
21:33:38 × crtschin quits (~crtschin@104.131.9.149) (*.net *.split)
21:33:38 × tstat quits (~tstat@104.131.113.212) (*.net *.split)
21:33:38 × dilinger quits (~dilinger@spindle.queued.net) (*.net *.split)
21:33:38 × gekh quits (~gkh@thor.kevinhill.nl) (*.net *.split)
21:33:38 × a3Dman quits (~3Dman@unaffiliated/a3dman) (*.net *.split)
21:33:38 × sdx23 quits (~sdx23@unaffiliated/sdx23) (*.net *.split)
21:33:38 × [exa] quits (exa@unaffiliated/exa/x-5381537) (*.net *.split)
21:33:38 × blackdog quits (~blackdog@198.211.112.85) (*.net *.split)
21:33:38 × statusbot quits (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (*.net *.split)
21:33:38 × iptq quits (~michael@142.93.75.170) (*.net *.split)
21:33:38 × joeytwiddle quits (~joeytwidd@162.243.115.31) (*.net *.split)
21:33:38 × mantovani quits (~mantovani@104.131.207.121) (*.net *.split)
21:33:38 × xe4 quits (~xe4@157.245.246.119) (*.net *.split)
21:33:38 × Uniaika quits (~uniaika@163.172.211.189) (*.net *.split)
21:33:38 × asm89 quits (~asm89@unaffiliated/asm89) (*.net *.split)
21:33:38 × amosbird quits (~amosbird@13.75.119.182) (*.net *.split)
21:33:38 × xarian_ quits (~xarian@104.236.81.162) (*.net *.split)
21:33:38 × mjrosenb quits (~mrosenbe@nyc.schrodinger.com) (*.net *.split)
21:33:38 × adaj quits (~azureuser@51.103.155.240) (*.net *.split)
21:33:38 × geal quits (~geal@195-154-200-217.rev.poneytelecom.eu) (*.net *.split)
21:33:38 × Squarism quits (~someone@unaffiliated/squarism) (*.net *.split)
21:33:38 × haskell_enthusia quits (~twain@168.61.46.105) (*.net *.split)
21:33:38 × malthe quits (~mborch@46.101.103.63) (*.net *.split)
21:33:38 × Zemyla quits (~zemyla@ec2-54-196-11-2.compute-1.amazonaws.com) (*.net *.split)
21:33:38 × electrocat quits (~michiel@revan.derhaeg.be) (*.net *.split)
21:33:38 × anderson quits (~ande@159.65.95.130) (*.net *.split)
21:33:38 × msgctl quits (~msgctl@ometochtli.centzontotochtin.org) (*.net *.split)
21:33:38 × deni quits (~deni@unaffiliated/deni) (*.net *.split)
21:33:38 × Eliel quits (~jojkaart@163.172.153.251) (*.net *.split)
21:34:37 DataComputist joins (~lumeng@50.43.26.251)
21:34:37 hyperisco joins (~hyperisco@d192-186-117-226.static.comm.cgocable.net)
21:34:37 averell joins (~averell@unaffiliated/averell)
21:34:37 TMA joins (tma@twin.jikos.cz)
21:34:37 Sparad0x joins (~etienne@ns3123347.ip-51-68-152.eu)
21:34:37 dorkside joins (~tdbgamer@208.190.197.222)
21:34:37 maerwald joins (~maerwald@mail.hasufell.de)
21:34:37 LittleFox joins (~littlefox@rondra.lf-net.org)
21:34:37 arw joins (~arw@impulse.informatik.uni-erlangen.de)
21:34:37 marek joins (~mmahut@fedora/pyxel)
21:34:37 jtcs joins (~jtcs@vmi359854.contaboserver.net)
21:34:37 hodapp joins (~hodapp@react-ams-119225.antiddos.solutions)
21:34:37 jonatan joins (~nate@h77-53-70-163.cust.a3fiber.se)
21:34:37 int-e joins (~noone@int-e.eu)
21:34:37 chrisosa1rus joins (chris@segfault.net.nz)
21:34:37 brettgilio_ joins (~brettgili@brettgilio.com)
21:34:37 aforemny joins (~aforemny@static.248.158.34.188.clients.your-server.de)
21:34:37 fiddlerwoaroof joins (~fiddlerwo@unaffiliated/fiddlerwoaroof)
21:34:37 Someguy123 joins (~someguy@unaffiliated/compgenius999)
21:34:37 ahri joins (~ahri@178.209.40.84)
21:34:37 leothrix joins (~leothrix@elastic/staff/leothrix)
21:34:37 Kaivo joins (~Kaivo@104-200-86-99.mc.derytele.com)
21:34:37 dddddd joins (~dddddd@unaffiliated/dddddd)
21:34:37 stux|RC-only joins (stux2@grid9.quadspeedi.net)
21:34:37 landonf joins (landonf@mac68k.info)
21:34:37 absence joins (torgeihe@hildring.pvv.ntnu.no)
21:34:37 m1dnight_ joins (~m1dnight@188.ip-51-91-158.eu)
21:34:37 alinab joins (sid468903@gateway/web/irccloud.com/x-pnysahqquupbvvmz)
21:34:37 xintron joins (~xintron@unaffiliated/xintron)
21:34:37 lightandlight joins (sid135476@gateway/web/irccloud.com/x-mibnuuqzjpebbkzx)
21:34:37 Dykam joins (Dykam@dykam.nl)
21:34:37 M2tias joins (m2@seri.fi)
21:34:37 bcoppens joins (~bartcopp@kde/coppens)
21:34:37 Inoperable joins (~PLAYER_1@fancydata.science)
21:34:37 {abby} joins (~{abby}@unaffiliated/demhydraz)
21:34:37 connrs_ joins (~connrs@runciter.connrs.uk)
21:34:37 travv0 joins (sid293381@gateway/web/irccloud.com/x-qfqftjhlfdqcrtoj)
21:34:37 sea-gull joins (~sea-gull@li1815-136.members.linode.com)
21:34:37 uberj joins (~uberj@unaffiliated/uberj)
21:34:37 tristanC joins (~tristanC@unaffiliated/tristanc)
21:34:37 adamCS joins (~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com)
21:34:37 leafiest joins (~leafiest@165.227.53.12)
21:34:37 hwabyong joins (~hwabyong@ec2-3-221-194-167.compute-1.amazonaws.com)
21:34:37 eldritch joins (~eldritch@unaffiliated/eldritch)
21:34:37 sarahzrf joins (~sarahzrf_@sarahzrf.com)
21:34:37 crtschin joins (~crtschin@104.131.9.149)
21:34:37 tstat joins (~tstat@104.131.113.212)
21:34:37 dilinger joins (~dilinger@spindle.queued.net)
21:34:37 gekh joins (~gkh@thor.kevinhill.nl)
21:34:37 a3Dman joins (~3Dman@unaffiliated/a3dman)
21:34:37 sdx23 joins (~sdx23@unaffiliated/sdx23)
21:34:37 [exa] joins (exa@unaffiliated/exa/x-5381537)
21:34:37 mjrosenb joins (~mrosenbe@nyc.schrodinger.com)
21:34:37 blackdog joins (~blackdog@198.211.112.85)
21:34:37 statusbot joins (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com)
21:34:37 iptq joins (~michael@142.93.75.170)
21:34:37 joeytwiddle joins (~joeytwidd@162.243.115.31)
21:34:37 mantovani joins (~mantovani@104.131.207.121)
21:34:37 xe4 joins (~xe4@157.245.246.119)
21:34:37 Uniaika joins (~uniaika@163.172.211.189)
21:34:37 asm89 joins (~asm89@unaffiliated/asm89)
21:34:37 amosbird joins (~amosbird@13.75.119.182)
21:34:37 xarian_ joins (~xarian@104.236.81.162)
21:34:37 adaj joins (~azureuser@51.103.155.240)
21:34:37 geal joins (~geal@195-154-200-217.rev.poneytelecom.eu)
21:34:37 Squarism joins (~someone@unaffiliated/squarism)
21:34:37 haskell_enthusia joins (~twain@168.61.46.105)
21:34:37 malthe joins (~mborch@46.101.103.63)
21:34:37 msgctl joins (~msgctl@ometochtli.centzontotochtin.org)
21:34:37 Zemyla joins (~zemyla@ec2-54-196-11-2.compute-1.amazonaws.com)
21:34:37 electrocat joins (~michiel@revan.derhaeg.be)
21:34:37 anderson joins (~ande@159.65.95.130)
21:34:37 deni joins (~deni@unaffiliated/deni)
21:34:37 Eliel joins (~jojkaart@163.172.153.251)
21:34:50 × leafiest quits (~leafiest@165.227.53.12) (Max SendQ exceeded)
21:34:50 × a3Dman quits (~3Dman@unaffiliated/a3dman) (Max SendQ exceeded)
21:34:50 × m1dnight_ quits (~m1dnight@188.ip-51-91-158.eu) (Max SendQ exceeded)
21:35:16 leafiest joins (~leafiest@165.227.53.12)
21:35:19 m1dnight_ joins (~m1dnight@188.ip-51-91-158.eu)
21:35:42 mputz joins (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de)
21:35:45 Rudd0 joins (~Rudd0@185.189.115.108)
21:36:27 redmp joins (~redmp@172.58.35.249)
21:36:40 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
21:37:09 × notzmv quits (~zmv@unaffiliated/zmv) (Ping timeout: 264 seconds)
21:37:59 × ubert quits (~Thunderbi@p548c9a44.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
21:39:13 a3Dman joins (~3Dman@unaffiliated/a3dman)
21:39:25 × bobiusbillius quits (~bobiusbil@2a00:23c7:9909:5b01:909a:85aa:703a:457c) (Ping timeout: 272 seconds)
21:39:44 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: Lost terminal)
21:41:01 × heatsink quits (~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d) (Remote host closed the connection)
21:43:57 × geekosaur quits (82650c7a@130.101.12.122) (Quit: Connection closed)
21:47:15 × Boomerang quits (~Boomerang@2a05:f6c7:2179:0:9428:7cc:4edb:1705) (Remote host closed the connection)
21:55:58 × romesrf quits (~romesrf@44.190.189.46.rev.vodafone.pt) (Quit: WeeChat 3.0.1)
21:56:22 takuan joins (~takuan@178-116-218-225.access.telenet.be)
21:57:10 × nullniverse quits (~null@unaffiliated/nullniverse) (Remote host closed the connection)
21:58:29 terrorjack joins (~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com)
21:59:05 conal joins (~conal@64.71.133.70)
22:00:16 × mputz quits (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Remote host closed the connection)
22:00:36 × puffnfresh quits (~puffnfres@119-17-138-164.77118a.mel.static.aussiebb.net) (Ping timeout: 265 seconds)
22:00:47 _bin joins (~bin@2600:1700:10a1:38d0:922b:34ff:fe99:1283)
22:02:12 × _bin_ quits (~bin@2600:1700:10a1:38d0:84d4:3c69:b21e:817f) (Ping timeout: 260 seconds)
22:03:16 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
22:05:47 × dhouthoo quits (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) (Quit: WeeChat 3.0)
22:05:57 × mananamenos quits (~mananamen@193.red-88-11-66.dynamicip.rima-tde.net) (Ping timeout: 246 seconds)
22:06:56 × justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 240 seconds)
22:07:13 × jb55 quits (~jb55@gateway/tor-sasl/jb55) (Ping timeout: 268 seconds)
22:11:27 mananamenos joins (~mananamen@193.red-88-11-66.dynamicip.rima-tde.net)
22:12:30 jb55 joins (~jb55@gateway/tor-sasl/jb55)
22:14:14 × malumore quits (~alecs@151.62.127.229) (Ping timeout: 245 seconds)
22:14:27 × mouseghost quits (~draco@wikipedia/desperek) (Quit: mew wew)
22:15:50 × Pickchea quits (~private@unaffiliated/pickchea) (Quit: Leaving)
22:16:48 × deviantfero quits (~deviantfe@190.150.27.58) (Ping timeout: 246 seconds)
22:16:55 × softwarm quits (44695313@ip68-105-83-19.sd.sd.cox.net) (Quit: Connection closed)
22:22:24 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:a840:3c23:1bcc:872e) (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:27:19 × apache801 quits (~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 260 seconds)
22:28:12 × aidecoe quits (~aidecoe@unaffiliated/aidecoe) (Remote host closed the connection)
22:31:12 d34df00d joins (~d34df00d@104-14-27-213.lightspeed.austtx.sbcglobal.net)
22:32:13 <d34df00d> Hi!
22:32:48 <d34df00d> I want to scan over a byte string, skipping some bytes (depending on previous bytes), and count the number of bytes I've skipped.
22:33:54 justanotheruser joins (~justanoth@unaffiliated/justanotheruser)
22:34:23 <d34df00d> Not counting the removed count is trivial: it's a matter of the following function:
22:34:27 <d34df00d> https://bpaste.net/55BA
22:34:57 <d34df00d> It processes about 100 megs per second on my machine, which is, I guess, not stellar, but not too bad either.
22:35:08 <Rembane> What's the tricky bit?
22:35:40 <d34df00d> If I now want to actually count the number of bytes I've skipped, it becomes funny: the following function:
22:35:45 <d34df00d> https://bpaste.net/CP5Q
22:36:01 <d34df00d> is about 10 times slower and seems to be linear in RAM on the input size.
22:36:36 × Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa)
22:36:43 <d34df00d> So, how do I solve this efficiently?
22:38:32 puffnfresh joins (~puffnfres@119-17-138-164.77118a.mel.static.aussiebb.net)
22:40:34 × zebrag quits (~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
22:40:45 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
22:40:48 <shapr> My heuristic would be to look at the existing functions in the ByteString library to see what makes them fast
22:40:57 zebrag joins (~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr)
22:40:58 apache801 joins (~rishi@wsip-70-168-153-252.oc.oc.cox.net)
22:41:00 <shapr> or profile the code and look for the hotspots?
22:41:25 heatsink joins (~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d)
22:41:43 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
22:42:35 <d34df00d> It basically is one big hot spot.
22:42:45 <d34df00d> -p is not too helpful here.
22:43:00 <Rembane> d34df00d: Do what shapr says, or try to implement your function in terms of foldl' https://hoogle.haskell.org/?=&hoogle=foldl%27%20package%3Abytestring&scope= and see if that makes it faster.
22:44:48 × kupi quits (uid212005@gateway/web/irccloud.com/x-cgsykjurvegvbxhp) (Quit: Connection closed for inactivity)
22:45:29 <d34df00d> Aha, foldl'! I guess I'll try that first, since I've already took a stab at profiling this stuff, and looking at the sources of bytestring scares me a little.
22:45:35 × heatsink quits (~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d) (Ping timeout: 240 seconds)
22:46:02 softwarm joins (44695313@ip68-105-83-19.sd.sd.cox.net)
22:46:10 <Rembane> d34df00d: But before you throw away all your old code, do some measurements, see how long time it takes so you don't make it slower by mistake.
22:46:44 conal joins (~conal@64.71.133.70)
22:47:16 <d34df00d> Yeah, that's always a good idea! In fact I'm always running my code with +RTS -sstderr to see what MUT and GC look like.
22:47:26 <monochrom> This one is well-known. It benefits greatly from BangPatterns and "!skips", or else you use seq or $! on the RHSes manually.
22:47:57 <monochrom> And if you use foldl', you still need to know this.
22:48:09 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
22:48:45 <d34df00d> Ah, I forgot to tell I have {-# LANGUAGE Strict #-}
22:48:55 <monochrom> Because it looks like your future foldl' will be on a tuple. Well foldl' doesn't seq deeply on a tuple.
22:49:26 <d34df00d> (I guess it should be equivalent in this case to all the bang patterns in the right places, right?)
22:49:31 × Franciman quits (~francesco@host-82-49-79-189.retail.telecomitalia.it) (Quit: Leaving)
22:49:31 <monochrom> Hrm, then I don't know. But look at core to confirm skips is non-lazy?
22:50:01 <monochrom> Actually this is self-contained, I can try it out.
22:50:05 <d34df00d> Deeper down the rabbit hole it is then!
22:50:43 × hyperisco quits (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 256 seconds)
22:50:55 <monochrom> BSL = ByteString.Lazy ?
22:51:15 <d34df00d> Yep.
22:51:33 <monochrom> What is "first"?
22:51:37 <d34df00d> Data.Bifunctor
22:52:04 <d34df00d> Also, am I right that in the first variant (without the tuples and things) the BSL.pack . go . BSL.unpack fused into something O(1)-memory?
22:53:25 <monochrom> No.
22:53:32 jamm_ joins (~jamm@unaffiliated/jamm)
22:53:32 conal joins (~conal@64.71.133.70)
22:53:32 × conal quits (~conal@64.71.133.70) (Client Quit)
22:54:10 <d34df00d> Hmm, why was it fast then?
22:54:27 <d34df00d> And why it wasn't?
22:54:36 × fendor_ quits (~fendor@77.119.128.81.wireless.dyn.drei.com) (Remote host closed the connection)
22:54:43 <d34df00d> (it wasn't O(1), that is)
22:54:51 gitgood joins (~gitgood@82-132-216-44.dab.02.net)
22:55:13 conal joins (~conal@64.71.133.70)
22:57:06 × conal quits (~conal@64.71.133.70) (Client Quit)
22:57:34 × stree quits (~stree@68.36.8.116) (Ping timeout: 245 seconds)
22:57:35 × jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 240 seconds)
22:58:01 <Rembane> d34df00d: Is O(1) the size of the original string?
22:58:05 <d34df00d> Yes.
22:58:11 <Rembane> Cool.
22:58:23 <d34df00d> Looks like nope :)
22:58:44 <Rembane> It doesn't sound unfeasible, but Haskell memory is an interesting beast, lets see what monochrom says. :)
23:00:27 <monochrom> I don't understand how 100MB is considered "O(1) size".
23:01:07 <d34df00d> Hmm.
23:01:08 <d34df00d> Hold on.
23:01:31 <d34df00d> Nope, don't hold on. In my measurements, it was the size of the original string (that resided in memory anyway).
23:01:47 <pjb> monochrom: the universe is finite, therefore 100 MB is O(1).
23:01:57 <d34df00d> That is, replacing this function by `id` didn't change the memory consumption.
23:02:00 <pjb> monochrom: anything that's inside this universe is O(1).
23:02:47 <koz_> Suppose I have Foo of kind (Type -> Type) -> Type. If I write 'deriving stock (Generic)', what would the constraints on the generated instance look like?
23:02:49 conal_ joins (~conal@64.71.133.70)
23:02:52 <pjb> even worse: your computer is a very small part of this universe, and your life expectency is a very small part of this universe.
23:02:53 <int-e> . o O ( you have reached the algorithm complexity hotline. the next representative will be available to talk to you in O(1) time. )
23:03:07 <Axman6> koz_: can :info tell you?
23:03:18 <koz_> Axman6: I dunno, can it?
23:03:37 <Axman6> \_(ツ)_/¯
23:03:49 × ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection)
23:04:14 <Axman6> oh no, my hand fell off again
23:04:17 ukari joins (~ukari@unaffiliated/ukari)
23:04:28 × dunj3 quits (~dunj3@p200300f61714a669de906847d1a6f7e3.dip0.t-ipconnect.de) (Quit: Leaving)
23:04:31 <koz_> Nope.
23:04:34 <Axman6> :info Generic might be more useful than :info Foo though
23:05:11 <koz_> Tells me nothing either.
23:05:26 <koz_> It just says (the equivalent of) 'instance Generic (Foo f)'.
23:06:06 <Axman6> interesting. What's Rep (Foo f) look like? (I'm just curious now)
23:06:16 <monochrom> I have looked at core, and both -O and -O2. Strict already does the implicit bang pattern I want.
23:06:25 <Axman6> as in (I think) :kind! Rep (Foo Maybe)
23:06:43 × Neuromancer quits (~Neuromanc@unaffiliated/neuromancer) (Read error: Connection reset by peer)
23:07:43 <wmacmil> i'm just beginning to use Dante, if I hover over an error it gives the error message, but only for like 2 seconds
23:07:55 <monochrom> In fact even better, the loop works on Int# directly, no Int.
23:07:58 <wmacmil> is there any way to keep it longer? or display the error message somewhere else?
23:08:13 <d34df00d> Why is it so slow then?
23:09:10 <monochrom> Does the fast version ever produce any bytestring other than the empty one?
23:09:30 <Axman6> that code feels like a perfect thing to use stream fusion or the foldl package, it's kind of a hybrid of both
23:10:10 stree joins (~stree@68.36.8.116)
23:10:16 <Axman6> wmacmil: this is a speed reading feature intended to help you read faster, keep practicing!
23:11:12 × Katarushisu quits (~Katarushi@cpc152083-finc20-2-0-cust170.4-2.cable.virginm.net) (Quit: Ping timeout (120 seconds))
23:11:28 <monochrom> Whereas the slow version actually uses "first" to do: get the tuple (x, y) from the recursive call, now I want (c : x , y) instead. That's expensive on multiple fronts.
23:11:30 Raito_Bezarius joins (~Raito@unaffiliated/raito-bezarius/x-8764578)
23:11:31 × Tesseraction quits (~Tesseract@unaffiliated/tesseraction) (Read error: Connection reset by peer)
23:12:11 × seanparsons quits (~sean@cpc145088-gill21-2-0-cust281.20-1.cable.virginm.net) (Remote host closed the connection)
23:12:12 × Anthaas quits (~Anthaas@unaffiliated/anthaas) (Quit: ZNC 1.7.1 - https://znc.in)
23:12:34 Anthaas joins (~Anthaas@unaffiliated/anthaas)
23:12:40 seanparsons joins (~sean@cpc145088-gill21-2-0-cust281.20-1.cable.virginm.net)
23:12:47 Katarushisu joins (~Katarushi@cpc152083-finc20-2-0-cust170.4-2.cable.virginm.net)
23:13:20 <Axman6> would the irrefutable pattern thing help there? go skips (byte : rest) = case go skips rest of ~(xs,i) -> (byte : xs, i)?
23:13:23 Tesseraction joins (~Tesseract@unaffiliated/tesseraction)
23:13:25 <monochrom> Ah OK the fast version produces non-empty, non-constant output.
23:13:49 × zaquest quits (~notzaques@5.128.210.178) (Quit: Leaving)
23:14:09 <Axman6> I also wonder if builders would help, particularly if you know what the final buffer size needs to be
23:14:12 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
23:14:32 <monochrom> Still, it is along the line of "filter p (x:xs) | p x = x : recursive call". That's very much cheaper than "case recursive call of (x,y) -> (c:x, y)"
23:14:42 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
23:15:07 zaquest joins (~notzaques@5.128.210.178)
23:17:31 <d34df00d> Yea, that explains why it's faster and has better memory consumption, but is it possible to write the counting version in a similar fashion?
23:17:39 <monochrom> I would use the Builder thingies. Then it is really a foldl' .
23:19:34 <d34df00d> Hmm, I just realized I want an (unboxed or storable) vector of it anyway, so right now I'm unpacking that later again and repacking... fromList'ing, that is, into a vector.
23:20:04 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
23:20:05 <d34df00d> And since my input is lazy, I can't construct a vector in O(1) even via the .Internal stuff.
23:20:33 <d34df00d> I shall probably just become impure and do everything in an ST monad or something.
23:22:54 <monochrom> Axman6: After some thoughts, I think it just delays the inevitable.
23:24:06 <monochrom> I mean the ~(xs,i) -> (byte:xs, i) idea.
23:24:23 <Axman6> If the output size is likely to be comparable to the size of the input then doing it in ST, allocating the buffer to write into seems like the best option. might waste a bit of ram, but only in a single object
23:25:56 × cgadski quits (~textual@a95-95-106-208.cpe.netcabo.pt) (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:27:36 × conal_ quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
23:30:27 × poscat quits (~poscat@123.116.89.28) (Ping timeout: 256 seconds)
23:31:09 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 264 seconds)
23:31:09 poscat joins (~poscat@2408:8207:482e:5730::1)
23:31:14 fissureman joins (~quassel@c-73-201-159-163.hsd1.dc.comcast.net)
23:31:29 <d34df00d> I need it as a vector anyway (or so I think), and there are not that many bytes removed (less than 1% typically), so looks like the extra overhead is inevitable.
23:31:57 <d34df00d> The problem at hand is that I'm writing a jpeg decoder just for lulz, and I need to do certain massaging on the compressed image bytes.
23:32:26 <d34df00d> The other problem is that I'm using binary for deserialization, and doing all this byte fiddling at deserialization time seems even worse.
23:34:31 <monochrom> Hrm, "first" already does ~(x,y).
23:34:33 × __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving)
23:34:47 notzmv joins (~zmv@unaffiliated/zmv)
23:35:17 <Axman6> Good to know
23:36:03 × Varis quits (~Tadas@unaffiliated/varis) (Quit: Leaving)
23:36:56 <monochrom> % case Data.Bifunctor.first undefined undefined of (_,_) -> "dab"
23:36:56 <yahb> monochrom: "dab"
23:37:01 <monochrom> very lazy
23:37:25 <Axman6> needs to pull itself up by its bootstraps
23:37:48 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
23:38:19 <d34df00d> Also, too bad binary doesn't have a monad transformer so that I could stack Get on top of ST.
23:38:33 <d34df00d> Then I could do all this vectors nonsense without constant reallocations.
23:39:02 <Axman6> I pushed for adding a parameter to the ceborg/serialise stuff for exactly this reason
23:39:10 <Axman6> cborg*
23:39:38 <mananamenos> Hi, im reading https://ocharles.org.uk/posts/2016-01-26-transformers-free-monads-mtl-laws.html and there is `env :: M Environment; env = M ask` in the beginning of the article. I can't figure out how/why this snippet typechecks. `ask` from Control.Monad.Trans.Reader returns a value of type `ReaderT r m r`, so that snippet's type would be `env :: M (ReaderT Environment (StateT State IO) a)`. How is it `M Environment`?`
23:40:33 × zebrag quits (~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
23:40:55 cole-h_ joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
23:40:56 zebrag joins (~inkbottle@aaubervilliers-654-1-83-46.w86-212.abo.wanadoo.fr)
23:41:03 <monochrom> r = ReaderT hardcoded because of the definition of M.
23:41:30 conal joins (~conal@64.71.133.70)
23:42:07 <monochrom> a = r by unification.
23:42:34 <monochrom> ask :: ReaderT Environment (StateT State IO) Environment
23:42:46 heatsink joins (~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d)
23:42:49 <monochrom> err, r = Environment
23:42:55 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
23:43:30 <Axman6> what's the definition of M?
23:43:42 × usr25 quits (~usr25@unaffiliated/usr25) (Quit: Leaving)
23:43:44 <monochrom> newtype M a = M (ReaderT Environment (StateT State IO) a)
23:44:35 <monochrom> And assume Control.Monad.Trans.Reader for now, no mtl MonadReader generalness.
23:44:55 <Axman6> yeah thought so - so the instance of ask which is used there has type ReaderT Environment (StateT State IO) Environment, and since M :: ReaderT Environment (StateT State IO) a -> M a then it all works out
23:45:22 cole-h_ is now known as cole-h
23:46:18 apache8080 joins (~rishi@wsip-70-168-153-252.oc.oc.cox.net)
23:46:55 × heatsink quits (~heatsink@2600:1700:bef1:5e10:dd5f:6f4f:a50:215d) (Ping timeout: 240 seconds)
23:49:21 × apache801 quits (~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 265 seconds)
23:51:15 × justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 240 seconds)
23:51:22 <mananamenos> monochrom, Axman6 thanks a lot, I see it now.
23:51:25 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 256 seconds)
23:54:45 × chele quits (~chele@ip5b40237d.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)

All times are in UTC on 2021-03-03.