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.