2021/08/28

2021-08-28 00:01:05 +0000azeem(~azeem@5.168.199.98) (Ping timeout: 248 seconds)
2021-08-28 00:05:56 +0000 <hololeap> cycle. thanks
2021-08-28 00:08:51 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:f142:8765:520:6c04)
2021-08-28 00:09:12 +0000yin[m](~zwromatri@2001:470:69fc:105::1d4)
2021-08-28 00:11:09 +0000MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 250 seconds)
2021-08-28 00:11:26 +0000MQ-17J(~MQ-17J@8.6.144.209)
2021-08-28 00:12:42 +0000azeem(~azeem@5.168.221.147)
2021-08-28 00:15:55 +0000MQ-17J(~MQ-17J@8.6.144.209) (Ping timeout: 250 seconds)
2021-08-28 00:16:06 +0000MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-28 00:21:25 +0000azeem(~azeem@5.168.221.147) (Ping timeout: 252 seconds)
2021-08-28 00:21:34 +0000azeem(~azeem@5.168.221.147)
2021-08-28 00:22:06 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-28 00:28:01 +0000azeem(~azeem@5.168.221.147) (Ping timeout: 252 seconds)
2021-08-28 00:28:47 +0000img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2021-08-28 00:29:59 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:f142:8765:520:6c04) (Remote host closed the connection)
2021-08-28 00:30:31 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:f142:8765:520:6c04)
2021-08-28 00:31:52 +0000sim590(~simon@modemcable090.207-203-24.mc.videotron.ca) (Ping timeout: 252 seconds)
2021-08-28 00:34:27 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:f142:8765:520:6c04) (Ping timeout: 240 seconds)
2021-08-28 00:37:08 +0000markpythonicbtc(~textual@2601:647:5a00:35:f814:103:43a8:3466) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-28 00:37:28 +0000azeem(~azeem@5.168.221.147)
2021-08-28 00:38:24 +0000Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2021-08-28 00:38:28 +0000MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
2021-08-28 00:38:28 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
2021-08-28 00:38:45 +0000MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-28 00:39:38 +0000Lord_of_Life_Lord_of_Life
2021-08-28 00:41:26 +0000img(~img@user/img)
2021-08-28 00:50:09 +0000azeem(~azeem@5.168.221.147) (Ping timeout: 248 seconds)
2021-08-28 00:50:17 +0000iqubic(~user@c-67-180-134-109.hsd1.ca.comcast.net)
2021-08-28 00:50:24 +0000azeem(~azeem@5.168.221.147)
2021-08-28 00:51:32 +0000 <iqubic> So, I'm trying to remember how to use parsec, and I'm hitting a roadblock. I would like to be able to parse a string full of only digits (I.E. "1432912902156") into a [Int]. What's the best way to do that?
2021-08-28 00:52:42 +0000 <pavonia> To [1,4,3,2,...] in that example?
2021-08-28 00:53:07 +0000 <iqubic> Yes. Correct.
2021-08-28 00:53:28 +0000 <iqubic> I want to parse it to a [Int] where each element is in the range 0-9 inclusive
2021-08-28 00:53:29 +0000markpythonicbtc(~textual@2601:647:5a00:35:c862:7d44:846c:a0b5)
2021-08-28 00:54:13 +0000 <pavonia> many1 $ (\c -> ord c - ord '0') <$> satisfy isDigit
2021-08-28 00:55:18 +0000 <iqubic> How does that work?
2021-08-28 00:56:04 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-08-28 00:56:20 +0000 <dsal> > ord '3' - ord '0'
2021-08-28 00:56:22 +0000 <lambdabot> 3
2021-08-28 00:56:45 +0000 <dsal> I think megaparsec has a digit.
2021-08-28 00:57:37 +0000 <dsal> > digitToInt '3'
2021-08-28 00:57:39 +0000 <lambdabot> 3
2021-08-28 00:57:59 +0000 <pavonia> Ah nice
2021-08-28 00:58:21 +0000 <dsal> Megaparsec has digitChar. I assume that's `satisfy isDigit`
2021-08-28 00:58:55 +0000 <dsal> digitChar = satisfy isDigit <?> "digit"
2021-08-28 00:59:10 +0000 <pavonia> Is GHC able to optimize constant function application like ord '0'?
2021-08-28 00:59:32 +0000 <eggplant_> yes
2021-08-28 01:00:45 +0000 <dsal> digitToInt includes `dec = ord c - ord '0'` but is more complicated with hex and what-not
2021-08-28 01:02:36 +0000 <pavonia> > map digitToInt "09afg"
2021-08-28 01:02:38 +0000 <lambdabot> [0,9,10,15,*Exception: Char.digitToInt: not a digit 'g'
2021-08-28 01:03:01 +0000 <dsal> Yeah, it's also partial
2021-08-28 01:04:15 +0000 <pavonia> > digitToInt '0'
2021-08-28 01:04:16 +0000 <lambdabot> *Exception: Char.digitToInt: not a digit '\65296'
2021-08-28 01:04:23 +0000 <pavonia> Too bad
2021-08-28 01:05:16 +0000 <pavonia> There are many Unicode characters that have a numerical value
2021-08-28 01:08:40 +0000roboguy_(~roboguy_@136.37.123.186)
2021-08-28 01:09:39 +0000roboguy_(~roboguy_@136.37.123.186) (Client Quit)
2021-08-28 01:12:01 +0000neurocyte0(~neurocyte@45.131.39.239)
2021-08-28 01:12:01 +0000neurocyte0(~neurocyte@45.131.39.239) (Changing host)
2021-08-28 01:12:01 +0000neurocyte0(~neurocyte@user/neurocyte)
2021-08-28 01:12:34 +0000lavaman(~lavaman@98.38.249.169)
2021-08-28 01:13:54 +0000xsperry(~as@user/xsperry) ()
2021-08-28 01:14:19 +0000xsperry(~as@user/xsperry)
2021-08-28 01:14:25 +0000neurocyte(~neurocyte@user/neurocyte) (Ping timeout: 250 seconds)
2021-08-28 01:14:25 +0000neurocyte0neurocyte
2021-08-28 01:15:00 +0000kimjetwav(~user@2607:fea8:235f:9730:98d1:a22e:1d0c:6a1f) (Remote host closed the connection)
2021-08-28 01:15:49 +0000markpythonicbtc(~textual@2601:647:5a00:35:c862:7d44:846c:a0b5) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-28 01:17:01 +0000lavaman(~lavaman@98.38.249.169) (Ping timeout: 250 seconds)
2021-08-28 01:22:41 +0000azeem(~azeem@5.168.221.147) (Ping timeout: 248 seconds)
2021-08-28 01:23:01 +0000MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
2021-08-28 01:23:14 +0000kimjetwav(~user@2607:fea8:235f:9730:4718:18aa:30c8:2ab8)
2021-08-28 01:23:18 +0000MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-28 01:23:21 +0000 <iqubic> So is there no built in megaparsec parser for single digit numbers? I have to roll my own?
2021-08-28 01:27:17 +0000azeem(~azeem@5.168.221.147)
2021-08-28 01:27:21 +0000 <dsal> @hoogle digitChar
2021-08-28 01:27:21 +0000 <lambdabot> Text.Megaparsec.Byte digitChar :: (MonadParsec e s m, Token s ~ Word8) => m (Token s)
2021-08-28 01:27:21 +0000 <lambdabot> Text.Megaparsec.Char digitChar :: (MonadParsec e s m, Token s ~ Char) => m (Token s)
2021-08-28 01:27:21 +0000 <lambdabot> Toml.Parser.Core digitChar :: (MonadParsec e s m, Token s ~ Char) => m (Token s)
2021-08-28 01:27:44 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-28 01:29:01 +0000 <iqubic> What I want is this:
2021-08-28 01:29:03 +0000 <iqubic> type Parser = Parsec Void String
2021-08-28 01:29:09 +0000 <iqubic> singleDigit :: Num a => Parser a
2021-08-28 01:29:31 +0000 <iqubic> Which will parse a single character, and succeed only if that character is a digit.
2021-08-28 01:30:12 +0000markpythonicbtc(~textual@2601:647:5a00:35:15d1:827c:596e:b228)
2021-08-28 01:30:16 +0000sim590(~simon@76.65.67.73)
2021-08-28 01:30:19 +0000 <iqubic> How can get that?
2021-08-28 01:30:36 +0000 <hololeap> iqubic: look at Text.Parsec.Char.alphaNum
2021-08-28 01:30:42 +0000 <dsal> You fmap digitToInt over digitChar
2021-08-28 01:31:00 +0000 <iqubic> dsal, won't that give me an Int?
2021-08-28 01:31:13 +0000 <iqubic> won't I have to then fmap fromIntegral?
2021-08-28 01:31:48 +0000 <dsal> OK, then `fmap (fromIntegral . digitToInt) digitChar`
2021-08-28 01:32:05 +0000aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-08-28 01:32:17 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
2021-08-28 01:33:26 +0000hololeapmeant .digit
2021-08-28 01:35:41 +0000 <iqubic> Weird. Megaparsec only has digitChar.
2021-08-28 01:37:04 +0000 <dsal> I guess if you're going partial, you've also got `fmap read digitChar`
2021-08-28 01:37:26 +0000 <iqubic> Yeah, I suppose.
2021-08-28 01:37:54 +0000 <iqubic> But it's nice to have this as a megaparsec parser, so that I can put this into a much large parser later.
2021-08-28 01:38:10 +0000xff0x(~xff0x@2001:1a81:53dc:be00:a197:89df:f531:cbff) (Ping timeout: 240 seconds)
2021-08-28 01:38:18 +0000 <dsal> You can always just give that a name.
2021-08-28 01:38:40 +0000 <iqubic> But for my usecase this is entirely overkill. I'm just solving Advent Of Code 2017 Day 1 right now. https://adventofcode.com/2017/day/1
2021-08-28 01:39:04 +0000 <dsal> Oh, huh. I guess I've not done that year.
2021-08-28 01:40:14 +0000xff0x(~xff0x@2001:1a81:5215:d000:44b2:e3e1:102e:1373)
2021-08-28 01:40:17 +0000 <iqubic> Basically part 1 is, given a large number, find all the digits such that the digit at position N matches the digit at position N + 1, and sum those.
2021-08-28 01:40:41 +0000 <iqubic> Assume the list is circular, so that the first digit comes right after the last one.
2021-08-28 01:41:27 +0000 <dsal> What type were you planning to use?
2021-08-28 01:41:28 +0000 <dsal> > digitToInt <$> "12345"
2021-08-28 01:41:29 +0000 <lambdabot> [1,2,3,4,5]
2021-08-28 01:41:43 +0000 <monochrom> "Num a" is the overkill.
2021-08-28 01:41:56 +0000 <iqubic> I was planning on using Int here.
2021-08-28 01:42:49 +0000MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
2021-08-28 01:43:06 +0000MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-28 01:43:18 +0000 <iqubic> Also, "pairs (x:xs) = let cyclic = xs ++ [x] in zip cyclic (tail cyclic)" is really powerful.
2021-08-28 01:43:53 +0000[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 250 seconds)
2021-08-28 01:44:18 +0000 <iqubic> Then I just mapMaybe to both turn pairs into single Ints and filter out the non-matching pairs. Then I sum that.
2021-08-28 01:46:32 +0000falafel(~falafel@2600:100e:b144:da16:a499:a934:ae0d:b97)
2021-08-28 01:46:55 +0000 <hololeap> % :m + Text.Parsec
2021-08-28 01:46:55 +0000 <yahb> hololeap:
2021-08-28 01:46:58 +0000 <dsal> I don't quite understand why `pairs` is powerful there. It seems very specific.
2021-08-28 01:47:04 +0000 <hololeap> % :m + Text.Parsec.Char
2021-08-28 01:47:04 +0000 <yahb> hololeap:
2021-08-28 01:47:11 +0000 <hololeap> % parseDigits = fmap (fmap (read . pure)) (Text.Parsec.many digit)
2021-08-28 01:47:11 +0000 <yahb> hololeap:
2021-08-28 01:47:17 +0000 <hololeap> % parseTest (parseDigits :: Parsec String () [Int]) "243439102"
2021-08-28 01:47:18 +0000 <yahb> hololeap: [2,4,3,4,3,9,1,0,2]
2021-08-28 01:47:23 +0000 <hololeap> iqubic: ^ ?
2021-08-28 01:47:43 +0000alx741(~alx741@181.196.68.187) (Quit: alx741)
2021-08-28 01:47:56 +0000[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2021-08-28 01:53:25 +0000MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 250 seconds)
2021-08-28 01:53:42 +0000MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-28 01:54:09 +0000 <iqubic> hololeap, yes that.
2021-08-28 01:54:21 +0000 <iqubic> Why are you fmaping twice?
2021-08-28 01:54:37 +0000aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-08-28 01:54:55 +0000 <dsal> It's reading the result of a parse inside of the parser.
2021-08-28 01:55:09 +0000 <hololeap> because it's operating on `Parsec [Char]` , so there are two functors to get up through to operate on the Char
2021-08-28 01:55:13 +0000azeem(~azeem@5.168.221.147) (Ping timeout: 248 seconds)
2021-08-28 01:55:27 +0000azeem(~azeem@5.168.221.147)
2021-08-28 01:56:00 +0000 <hololeap> the `pure` turns that Char into [Char] (aka String)
2021-08-28 01:56:01 +0000zaquest(~notzaques@5.128.210.178) (Remote host closed the connection)
2021-08-28 01:56:10 +0000 <hololeap> and then it gets read
2021-08-28 01:57:08 +0000 <hololeap> I could have also written it: fmap (map (read . pure))
2021-08-28 01:57:39 +0000 <hololeap> or: fmap (map (read . ( \x -> [x] ) ))
2021-08-28 01:59:17 +0000 <iqubic> Ah. I see. Makes sense.
2021-08-28 02:00:25 +0000 <dsal> Oh weird. I apparently have stars on this, but I have no idea where my code went.
2021-08-28 02:01:01 +0000chris(~chris@81.96.113.213)
2021-08-28 02:01:04 +0000chrisGuest9286
2021-08-28 02:01:39 +0000zaquest(~notzaques@5.128.210.178)
2021-08-28 02:03:45 +0000 <hololeap> iqubic: so right after the `pure` the type would be `Parsec http://en.wikipedia.org/wiki/Special:Search?go=Go&search=Char` aka `Parsec [String]`, and then the `read` inside the map turns this into `Read a => Parsec [a]`
2021-08-28 02:04:01 +0000 <hololeap> that was weird
2021-08-28 02:04:29 +0000 <hololeap> * double-list of Char
2021-08-28 02:05:10 +0000hololeapturns off "auto-replace" "feature" in the IRC client
2021-08-28 02:05:22 +0000Pent(sid313808@id-313808.tooting.irccloud.com) (Ping timeout: 256 seconds)
2021-08-28 02:05:28 +0000 <monochrom> Type-level URLs!
2021-08-28 02:05:36 +0000 <hololeap> lol
2021-08-28 02:06:14 +0000gonz__(sid304396@id-304396.tooting.irccloud.com) (Ping timeout: 258 seconds)
2021-08-28 02:07:21 +0000 <iqubic> Anyways, mapMaybe is an excellent list function. Does there exist such a function that works on all Foldables, or would that not really make sense?
2021-08-28 02:07:21 +0000Pent(sid313808@id-313808.tooting.irccloud.com)
2021-08-28 02:07:23 +0000 <hololeap> *so right after the `pure` the type would be `Parsec [[Char]]` aka `Parsec [String]`, and then the `read` inside the map turns this into `Read a => Parsec [a]`
2021-08-28 02:07:34 +0000 <hololeap> iqubic: witherable
2021-08-28 02:07:38 +0000hendi(sid489601@id-489601.tooting.irccloud.com) (Ping timeout: 256 seconds)
2021-08-28 02:07:53 +0000gonz__(sid304396@tooting.irccloud.com)
2021-08-28 02:08:10 +0000MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 240 seconds)
2021-08-28 02:08:12 +0000Adeon(sid418992@id-418992.tooting.irccloud.com) (Ping timeout: 256 seconds)
2021-08-28 02:08:13 +0000 <iqubic> But after the pure, you just get a list of strings of length 1. Is that really what you need in order to make the call to read typecheck?
2021-08-28 02:09:20 +0000christiaanb(sid84827@id-84827.tooting.irccloud.com) (Ping timeout: 256 seconds)
2021-08-28 02:09:37 +0000 <hololeap> it always typechecks... because it's partial. it will throw a pure error if it doesn't read, and we're depending on parsec to give it something that it can
2021-08-28 02:10:14 +0000Pent(sid313808@id-313808.tooting.irccloud.com) (Max SendQ exceeded)
2021-08-28 02:10:22 +0000hendi(sid489601@id-489601.tooting.irccloud.com)
2021-08-28 02:10:58 +0000Pent(sid313808@id-313808.tooting.irccloud.com)
2021-08-28 02:11:02 +0000MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-28 02:11:04 +0000nrr(sid20938@id-20938.tooting.irccloud.com) (Ping timeout: 250 seconds)
2021-08-28 02:11:46 +0000christiaanb(sid84827@tooting.irccloud.com)
2021-08-28 02:12:00 +0000adamse(sid72084@user/adamse) (Ping timeout: 272 seconds)
2021-08-28 02:12:06 +0000Adeon(sid418992@id-418992.tooting.irccloud.com)
2021-08-28 02:12:12 +0000 <hololeap> @hoogle Witherable
2021-08-28 02:12:12 +0000 <lambdabot> Data.Witherable.Class class (Traversable t, Filterable t) => Witherable t
2021-08-28 02:12:12 +0000 <lambdabot> package witherable
2021-08-28 02:12:12 +0000 <lambdabot> package witherable-class
2021-08-28 02:12:28 +0000hsiktas(sid224847@tooting.irccloud.com) (Ping timeout: 268 seconds)
2021-08-28 02:12:38 +0000 <hololeap> iqubic: ^ -- in regards to your second question about mapMaybe
2021-08-28 02:13:21 +0000MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-08-28 02:13:43 +0000 <dsal> :t read
2021-08-28 02:13:44 +0000 <lambdabot> Read a => String -> a
2021-08-28 02:14:01 +0000MQ-17J(~MQ-17J@8.6.144.209)
2021-08-28 02:14:40 +0000PotatoGim(sid99505@tooting.irccloud.com) (Ping timeout: 258 seconds)
2021-08-28 02:14:43 +0000adamse(sid72084@user/adamse)
2021-08-28 02:14:53 +0000 <hololeap> pure error meaning a runtime error that can't be caught, e.g. `head []`
2021-08-28 02:15:01 +0000hsiktas(sid224847@id-224847.tooting.irccloud.com)
2021-08-28 02:15:02 +0000 <hololeap> (or maybe you can in IO somehow... can't remember)
2021-08-28 02:15:59 +0000nrr(sid20938@id-20938.tooting.irccloud.com)
2021-08-28 02:16:36 +0000 <Cale> You can, but you definitely don't want to be forced to. I'd sooner fork a library than try to catch an exception it's throwing from evaluation.
2021-08-28 02:16:55 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 252 seconds)
2021-08-28 02:17:50 +0000 <hololeap> I think that calling `read` here is safe because the input is coming from parsec's `digit`
2021-08-28 02:17:52 +0000elf_fortrez(~elf_fortr@adsl-72-50-4-145.prtc.net) (Ping timeout: 246 seconds)
2021-08-28 02:18:51 +0000 <Cale> if the list is nonempty
2021-08-28 02:18:53 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-08-28 02:19:02 +0000 <Cale> You can also use reads
2021-08-28 02:19:22 +0000 <hololeap> which list needs to be nonempty?
2021-08-28 02:19:35 +0000 <Cale> the string you're parsing
2021-08-28 02:19:58 +0000 <hololeap> the string is made by running (\x -> [x]) on a Char from parsec
2021-08-28 02:20:11 +0000 <hololeap> so that won't be a problem
2021-08-28 02:20:40 +0000 <Cale> ah, yeah
2021-08-28 02:22:07 +0000falafel(~falafel@2600:100e:b144:da16:a499:a934:ae0d:b97) (Read error: Connection reset by peer)
2021-08-28 02:24:04 +0000Boarders(sid425905@id-425905.tooting.irccloud.com) (Ping timeout: 250 seconds)
2021-08-28 02:24:35 +0000PotatoGim(sid99505@id-99505.tooting.irccloud.com)
2021-08-28 02:24:37 +0000 <hololeap> iqubic: if you use that parser, be sure to change the signature to: (Stream s m Char, Num a, Read a) => ParsecT s u m [a]
2021-08-28 02:24:38 +0000integral(sid296274@user/integral) (Ping timeout: 256 seconds)
2021-08-28 02:25:00 +0000 <hololeap> so that a) it's more flexible b) you can't try to parse anything other than a Num
2021-08-28 02:25:45 +0000AlistairB(~AlistairB@121-200-5-212.79c805.syd.nbn.aussiebb.net)
2021-08-28 02:26:53 +0000integral(sid296274@user/integral)
2021-08-28 02:27:16 +0000Boarders(sid425905@id-425905.tooting.irccloud.com)
2021-08-28 02:27:55 +0000 <iqubic> hololeap: I'm using this signature:
2021-08-28 02:28:05 +0000td_(~td@94.134.91.64) (Ping timeout: 250 seconds)
2021-08-28 02:28:10 +0000 <iqubic> type Parser = Parsec Void String
2021-08-28 02:28:17 +0000 <iqubic> singleDigit :: Num a => Parser a
2021-08-28 02:28:29 +0000 <iqubic> Using definitions from Megaparsec.
2021-08-28 02:28:31 +0000kimjetwav(~user@2607:fea8:235f:9730:4718:18aa:30c8:2ab8) (Ping timeout: 250 seconds)
2021-08-28 02:28:56 +0000 <hololeap> I think you'll need (Read a) as well
2021-08-28 02:28:57 +0000MQ-17J(~MQ-17J@8.6.144.209) (Ping timeout: 250 seconds)
2021-08-28 02:29:57 +0000td_(~td@muedsl-82-207-238-049.citykom.de)
2021-08-28 02:32:07 +0000azeem(~azeem@5.168.221.147) (Ping timeout: 240 seconds)
2021-08-28 02:32:23 +0000azeem(~azeem@5.168.207.77)
2021-08-28 02:32:27 +0000 <iqubic> I won't, if I'm using this definition: "singleDigit = fmap (fromIntegral . digitToInt) digitChar"
2021-08-28 02:32:46 +0000 <iqubic> :t digitToInt
2021-08-28 02:32:47 +0000 <lambdabot> Char -> Int
2021-08-28 02:32:55 +0000 <iqubic> :t digitChar
2021-08-28 02:32:56 +0000 <lambdabot> error: Variable not in scope: digitChar
2021-08-28 02:33:17 +0000 <iqubic> digitChar being this: https://hackage.haskell.org/package/megaparsec-9.1.0/docs/Text-Megaparsec-Char.html#v:digitChar
2021-08-28 02:34:04 +0000 <iqubic> digitChar = satisfy isDigit
2021-08-28 02:34:09 +0000 <iqubic> :t isDigit
2021-08-28 02:34:10 +0000 <lambdabot> Char -> Bool
2021-08-28 02:42:10 +0000matthias1(~igloo@casewireless11.cwru.edu)
2021-08-28 02:43:13 +0000lbseale(~lbseale@user/ep1ctetus) (Read error: Connection reset by peer)
2021-08-28 02:43:27 +0000azeem(~azeem@5.168.207.77) (Ping timeout: 240 seconds)
2021-08-28 02:44:39 +0000matthias1(~igloo@casewireless11.cwru.edu) (Remote host closed the connection)
2021-08-28 02:48:00 +0000MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-28 02:54:57 +0000waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 250 seconds)
2021-08-28 02:55:09 +0000azeem(~azeem@5.168.207.77)
2021-08-28 03:01:27 +0000azeem(~azeem@5.168.207.77) (Ping timeout: 250 seconds)
2021-08-28 03:08:46 +0000img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2021-08-28 03:08:59 +0000redeveder(~user@221.232.105.47)
2021-08-28 03:10:17 +0000azeem(~azeem@5.168.207.77)
2021-08-28 03:11:16 +0000img(~img@user/img)
2021-08-28 03:13:27 +0000 <dsal> digitToInt is still partial.
2021-08-28 03:16:52 +0000otto_s(~user@p5de2f51d.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-08-28 03:18:36 +0000otto_s(~user@p5de2f7f6.dip0.t-ipconnect.de)
2021-08-28 03:25:12 +0000HarveyPwca(~HarveyPwc@2601:246:c180:a570:29df:3b00:ad0e:3a06)
2021-08-28 03:28:07 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-28 03:33:28 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:9004:d4f8:82b6:f105)
2021-08-28 03:36:30 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-08-28 03:40:10 +0000markpythonicbtc(~textual@2601:647:5a00:35:15d1:827c:596e:b228) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-28 03:44:47 +0000azeem(~azeem@5.168.207.77) (Ping timeout: 250 seconds)
2021-08-28 03:49:10 +0000sim590(~simon@76.65.67.73) (Quit: WeeChat 2.9)
2021-08-28 03:54:49 +0000azeem(~azeem@5.168.207.77)
2021-08-28 03:56:30 +0000bitdex_(~bitdex@gateway/tor-sasl/bitdex)
2021-08-28 03:56:48 +0000[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2021-08-28 03:58:30 +0000 <arahael> How do I list all the current targets I can build in a cabal project?
2021-08-28 03:58:51 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds)
2021-08-28 04:01:37 +0000edr(~edr@user/edr) (Ping timeout: 248 seconds)
2021-08-28 04:02:31 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-08-28 04:03:56 +0000edr(~edr@enlo.co)
2021-08-28 04:03:56 +0000edr(~edr@enlo.co) (Changing host)
2021-08-28 04:03:56 +0000edr(~edr@user/edr)
2021-08-28 04:10:59 +0000 <sclv> don’t think there’s a command at the moment :-/
2021-08-28 04:18:31 +0000 <arahael> Ah, that's a pity.
2021-08-28 04:19:01 +0000azeem(~azeem@5.168.207.77) (Ping timeout: 252 seconds)
2021-08-28 04:19:53 +0000azeem(~azeem@5.168.207.77)
2021-08-28 04:32:53 +0000azeem(~azeem@5.168.207.77) (Ping timeout: 250 seconds)
2021-08-28 04:38:39 +0000azeem(~azeem@5.168.207.77)
2021-08-28 04:41:39 +0000slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-08-28 04:42:07 +0000Guest9286(~chris@81.96.113.213) (Ping timeout: 240 seconds)
2021-08-28 04:44:26 +0000 <arahael> Can I run hoogle on a different port?
2021-08-28 04:46:19 +0000favonia(~favonia@user/favonia) (Ping timeout: 250 seconds)
2021-08-28 04:47:02 +0000chris(~chris@81.96.113.213)
2021-08-28 04:47:05 +0000chrisGuest9689
2021-08-28 04:50:14 +0000justsomeguy(~justsomeg@user/justsomeguy)
2021-08-28 04:53:45 +0000Guest9689(~chris@81.96.113.213) (Remote host closed the connection)
2021-08-28 04:54:22 +0000chris(~chris@81.96.113.213)
2021-08-28 04:54:25 +0000chrisGuest3277
2021-08-28 04:58:08 +0000 <hololeap> arahael: see: hoogle server --help
2021-08-28 04:58:25 +0000 <arahael> hololeap: Ah, thanks, I was only using hoogle --help. :)
2021-08-28 04:58:40 +0000Guest3277(~chris@81.96.113.213) (Ping timeout: 240 seconds)
2021-08-28 04:58:46 +0000 <arahael> And my attempts to specify a port only said "Unhandled argument, none expected..."
2021-08-28 04:59:29 +0000 <hololeap> in general, when something has subcommands, those also have flags (including help) that are passed after you specify the subcommand
2021-08-28 04:59:56 +0000 <hololeap> (for haskell stuff anyway)
2021-08-28 05:00:01 +0000 <arahael> Yes, but there was no indication it had subcommands. :)
2021-08-28 05:00:09 +0000AlistairB(~AlistairB@121-200-5-212.79c805.syd.nbn.aussiebb.net) (*.net *.split)
2021-08-28 05:00:09 +0000Cajun(~Cajun@user/cajun) (*.net *.split)
2021-08-28 05:00:34 +0000 <hololeap> if you look at the output of `hoogle --help`, you'll see "Commands:" which is how you can tell
2021-08-28 05:02:40 +0000azeem(~azeem@5.168.207.77) (Ping timeout: 240 seconds)
2021-08-28 05:02:54 +0000 <arahael> Hmm, right now I've got it running, but when I query http://192.168.1.2:8081, it hits the hoogle server (I see the log output), but the web browser basically hangs - something is blocked.
2021-08-28 05:03:58 +0000 <hololeap> probably try it with --local
2021-08-28 05:05:41 +0000azeem(~azeem@5.168.235.73)
2021-08-28 05:05:48 +0000 <arahael> Just did, same thing. I notice that only the / path works, the rest are all broken, including hoogle.css
2021-08-28 05:09:14 +0000 <hololeap> not sure exactly what you're trying to do, but on my system I run `hoogle generate --local` and `hoogle server --local` to have offline access to my installed library docs
2021-08-28 05:09:16 +0000 <arahael> Hmm, seems to be trying to establish a secure connection, but I didn't specify the certificates.
2021-08-28 05:09:36 +0000 <arahael> Yeah, but my dev system is on my server, and I want to access all that stuff from the laptop.
2021-08-28 05:12:55 +0000 <arahael> Ok, it seems that https is mandatory for some reason.
2021-08-28 05:14:20 +0000lavaman(~lavaman@98.38.249.169)
2021-08-28 05:14:40 +0000azeem(~azeem@5.168.235.73) (Ping timeout: 240 seconds)
2021-08-28 05:15:38 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:9004:d4f8:82b6:f105) ()
2021-08-28 05:16:21 +0000mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
2021-08-28 05:18:58 +0000lavaman(~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
2021-08-28 05:22:08 +0000azeem(~azeem@5.168.235.73)
2021-08-28 05:27:24 +0000justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
2021-08-28 05:31:36 +0000argento(~argent0@168-227-96-26.ptr.westnet.com.ar) (Remote host closed the connection)
2021-08-28 05:33:08 +0000falafel(~falafel@74.214.230.170)
2021-08-28 05:34:14 +0000 <arahael> Ok, and for some weird reason hoogle server's completely broken now. I think I'll make do with the command line hoogle.
2021-08-28 05:40:51 +0000zebrag(~chris@user/zebrag) (Remote host closed the connection)
2021-08-28 05:41:10 +0000azeem(~azeem@5.168.235.73) (Ping timeout: 240 seconds)
2021-08-28 05:41:23 +0000azeem(~azeem@5.168.235.73)
2021-08-28 05:45:05 +0000hyiltiz(~quassel@31.220.5.250) (Ping timeout: 248 seconds)
2021-08-28 05:45:25 +0000hyiltiz(~quassel@31.220.5.250)
2021-08-28 05:50:10 +0000wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2021-08-28 05:51:36 +0000markpythonicbtc(~textual@2601:647:5a00:35:15d1:827c:596e:b228)
2021-08-28 05:59:07 +0000hyiltiz(~quassel@31.220.5.250) (Ping timeout: 250 seconds)
2021-08-28 05:59:27 +0000azeem(~azeem@5.168.235.73) (Ping timeout: 240 seconds)
2021-08-28 06:00:11 +0000azeem(~azeem@5.168.235.73)
2021-08-28 06:02:02 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-28 06:02:02 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-08-28 06:02:02 +0000wroathe(~wroathe@user/wroathe)
2021-08-28 06:02:56 +0000takuan(~takuan@178-116-218-225.access.telenet.be)
2021-08-28 06:02:58 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-28 06:06:40 +0000wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2021-08-28 06:09:53 +0000markpythonicbtc(~textual@2601:647:5a00:35:15d1:827c:596e:b228) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-28 06:22:30 +0000nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-08-28 06:24:25 +0000azeem(~azeem@5.168.235.73) (Ping timeout: 252 seconds)
2021-08-28 06:24:54 +0000azeem(~azeem@5.168.235.73)
2021-08-28 06:24:54 +0000DJ_Ikstra(~mike@174.127.249.180) (Quit: leaving)
2021-08-28 06:25:28 +0000AlistairB(~AlistairB@121-200-5-212.79c805.syd.nbn.aussiebb.net)
2021-08-28 06:28:53 +0000hyiltiz(~quassel@31.220.5.250)
2021-08-28 06:32:23 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-28 06:32:23 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-08-28 06:32:23 +0000wroathe(~wroathe@user/wroathe)
2021-08-28 06:32:48 +0000nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 250 seconds)
2021-08-28 06:33:13 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-08-28 06:33:46 +0000Gurkenglas(~Gurkengla@dslb-088-064-053-140.088.064.pools.vodafone-ip.de)
2021-08-28 06:37:37 +0000wroathe(~wroathe@user/wroathe) (Ping timeout: 252 seconds)
2021-08-28 06:38:44 +0000dyeplexer(~dyeplexer@user/dyeplexer)
2021-08-28 06:43:38 +0000vysn(~vysn@user/vysn)
2021-08-28 06:52:19 +0000mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Quit: mikoto-chan)
2021-08-28 06:59:13 +0000azeem(~azeem@5.168.235.73) (Ping timeout: 248 seconds)
2021-08-28 06:59:23 +0000azeem(~azeem@5.168.235.73)
2021-08-28 07:00:10 +0000hyiltiz(~quassel@31.220.5.250) (Ping timeout: 252 seconds)
2021-08-28 07:05:13 +0000hannessteffenhag(~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de)
2021-08-28 07:06:11 +0000Cajun(~Cajun@user/cajun)
2021-08-28 07:08:27 +0000mud(~mud@user/kadoban) (Ping timeout: 250 seconds)
2021-08-28 07:08:43 +0000fendor(~fendor@77.119.210.198.wireless.dyn.drei.com)
2021-08-28 07:10:37 +0000azeem(~azeem@5.168.235.73) (Ping timeout: 252 seconds)
2021-08-28 07:11:07 +0000azeem(~azeem@5.168.235.73)
2021-08-28 07:13:28 +0000hyiltiz(~quassel@31.220.5.250)
2021-08-28 07:14:45 +0000AlistairB(~AlistairB@121-200-5-212.79c805.syd.nbn.aussiebb.net) (Quit: Client closed)
2021-08-28 07:20:10 +0000azeem(~azeem@5.168.235.73) (Ping timeout: 240 seconds)
2021-08-28 07:20:28 +0000hyiltiz(~quassel@31.220.5.250) (Ping timeout: 250 seconds)
2021-08-28 07:20:52 +0000azeem(~azeem@5.168.235.73)
2021-08-28 07:22:53 +0000hyiltiz(~quassel@31.220.5.250)
2021-08-28 07:31:51 +0000azeem(~azeem@5.168.235.73) (Ping timeout: 250 seconds)
2021-08-28 07:33:05 +0000azeem(~azeem@62.18.164.196)
2021-08-28 07:37:34 +0000azeem(~azeem@62.18.164.196) (Ping timeout: 252 seconds)
2021-08-28 07:37:57 +0000azeem(~azeem@62.18.164.196)
2021-08-28 07:41:39 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-28 07:42:08 +0000hyiltiz(~quassel@31.220.5.250) (Ping timeout: 250 seconds)
2021-08-28 07:49:38 +0000acidjnk_new(~acidjnk@p200300d0c72b95925da55fe159cc0756.dip0.t-ipconnect.de)
2021-08-28 07:49:40 +0000azeem(~azeem@62.18.164.196) (Ping timeout: 240 seconds)
2021-08-28 07:50:49 +0000eggplant_(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-08-28 07:51:23 +0000azeem(~azeem@62.18.164.196)
2021-08-28 07:51:52 +0000hyiltiz(~quassel@31.220.5.250)
2021-08-28 07:57:30 +0000amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-08-28 07:59:07 +0000redeveder(~user@221.232.105.47) (Ping timeout: 240 seconds)
2021-08-28 08:02:09 +0000falafel(~falafel@74.214.230.170) (Ping timeout: 248 seconds)
2021-08-28 08:05:13 +0000hendursa1(~weechat@user/hendursaga)
2021-08-28 08:08:27 +0000hendursaga(~weechat@user/hendursaga) (Ping timeout: 276 seconds)
2021-08-28 08:09:15 +0000maerwald(~maerwald@user/maerwald) (Quit: gone)
2021-08-28 08:10:30 +0000maerwald(~maerwald@mail.hasufell.de)
2021-08-28 08:11:50 +0000maerwald(~maerwald@mail.hasufell.de) (Changing host)
2021-08-28 08:11:50 +0000maerwald(~maerwald@user/maerwald)
2021-08-28 08:12:40 +0000hannessteffenhag(~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
2021-08-28 08:13:40 +0000hannessteffenhag(~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de)
2021-08-28 08:14:58 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-08-28 08:16:32 +0000 <tomsmeding> in ghcup tui, is the "show all tools" button supposed to do anything? It doesn't change the list of displayed tools at all for me :)
2021-08-28 08:16:47 +0000qbt(~edun@user/edun)
2021-08-28 08:17:10 +0000 <maerwald> tomsmeding: initially, stack was in the list of tools to be hidden by default
2021-08-28 08:17:13 +0000 <maerwald> now it's empty
2021-08-28 08:17:17 +0000 <tomsmeding> ah
2021-08-28 08:17:39 +0000geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-08-28 08:17:39 +0000 <maerwald> https://gitlab.haskell.org/haskell/ghcup-hs/-/blob/1fb048777c099ef6c0caa7619387513e5ee63888/app/gh…
2021-08-28 08:17:39 +0000allbery_b(~geekosaur@xmonad/geekosaur)
2021-08-28 08:17:42 +0000allbery_bgeekosaur
2021-08-28 08:17:48 +0000 <tomsmeding> heh
2021-08-28 08:18:13 +0000hannessteffenhag(~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de) (Ping timeout: 250 seconds)
2021-08-28 08:18:25 +0000amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection)
2021-08-28 08:18:25 +0000 <maerwald> there was a distant idea of maybe distributing more than just basic toolchain (e.g. hlint, etc?)
2021-08-28 08:18:39 +0000 <maerwald> but I'm not sure that's going to happen
2021-08-28 08:19:07 +0000 <tomsmeding> in any case I'm not sure if putting tools like that in a hidden list is optimal UI
2021-08-28 08:19:33 +0000 <tomsmeding> but I guess that's an issue that only needs to be discussed if those tools indeed get added to ghcup :)
2021-08-28 08:20:30 +0000 <maerwald> the idea is that the TUI list fits into a single screen always without scrolling
2021-08-28 08:21:13 +0000cods(~fred@82-65-232-44.subs.proxad.net) (Ping timeout: 268 seconds)
2021-08-28 08:21:43 +0000 <tomsmeding> I think it would be nicer if, to reach that goal (which I think is a good goal!), one should make meaningful categories instead of "common" vs "all"
2021-08-28 08:21:53 +0000 <tomsmeding> because everyone's definition of "common" is going to differ :)
2021-08-28 08:22:23 +0000tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2021-08-28 08:22:55 +0000 <maerwald> well, we have a definition of "Haskell toolchain" that's kinda agreed upon, which includes ghc, cabal, stack and optionally HLS
2021-08-28 08:23:17 +0000 <maerwald> so that haskell toolchain should always be visible
2021-08-28 08:24:10 +0000 <tomsmeding> makes sense
2021-08-28 08:29:16 +0000azeem(~azeem@62.18.164.196) (Ping timeout: 252 seconds)
2021-08-28 08:29:42 +0000azeem(~azeem@62.18.164.196)
2021-08-28 08:32:22 +0000Xnuk(~xnuk@45.76.202.58) (Quit: ZNC - https://znc.in)
2021-08-28 08:32:39 +0000Xnuk(~xnuk@45.76.202.58)
2021-08-28 08:37:36 +0000_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-08-28 08:38:35 +0000gehmehgeh(~user@user/gehmehgeh)
2021-08-28 08:38:40 +0000azeem(~azeem@62.18.164.196) (Ping timeout: 240 seconds)
2021-08-28 08:39:22 +0000hannessteffenhag(~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de)
2021-08-28 08:39:24 +0000azeem(~azeem@62.18.164.196)
2021-08-28 08:39:39 +0000neurocyte(~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat)
2021-08-28 08:40:41 +0000Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-08-28 08:40:42 +0000hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-08-28 08:42:39 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-28 08:43:45 +0000hannessteffenhag(~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de) (Ping timeout: 248 seconds)
2021-08-28 08:44:28 +0000neurocyte(~neurocyte@45.131.39.239)
2021-08-28 08:44:28 +0000neurocyte(~neurocyte@45.131.39.239) (Changing host)
2021-08-28 08:44:28 +0000neurocyte(~neurocyte@user/neurocyte)
2021-08-28 08:47:07 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-08-28 08:47:31 +0000kenran(~kenran@200116b82bc0270099b2de0ffa120b08.dip.versatel-1u1.de)
2021-08-28 08:51:39 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:45ef:351a:e045:ed35)
2021-08-28 08:54:36 +0000kuribas(~user@ptr-25vy0i6qx5na6znp5k4.18120a2.ip6.access.telenet.be)
2021-08-28 08:55:55 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:45ef:351a:e045:ed35) (Ping timeout: 250 seconds)
2021-08-28 08:56:10 +0000azeem(~azeem@62.18.164.196) (Ping timeout: 240 seconds)
2021-08-28 08:57:47 +0000azeem(~azeem@62.18.164.196)
2021-08-28 08:59:28 +0000t3hyoshi(~snicf@2600:8804:1b96:4900:1472:5a94:c594:83ca)
2021-08-28 08:59:55 +0000hannessteffenhag(~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de)
2021-08-28 09:02:36 +0000emliunix(~emliunix@61-216-165-205.hinet-ip.hinet.net)
2021-08-28 09:04:33 +0000hannessteffenhag(~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de) (Ping timeout: 248 seconds)
2021-08-28 09:12:20 +0000haykam(~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
2021-08-28 09:12:34 +0000haykam(~haykam@static.100.2.21.65.clients.your-server.de)
2021-08-28 09:18:25 +0000hannessteffenhag(~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de)
2021-08-28 09:27:07 +0000hannessteffenhag(~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de) (Ping timeout: 250 seconds)
2021-08-28 09:29:22 +0000Tuplanolla(~Tuplanoll@91-159-69-50.elisa-laajakaista.fi)
2021-08-28 09:33:53 +0000azeem(~azeem@62.18.164.196) (Ping timeout: 248 seconds)
2021-08-28 09:34:27 +0000kenran(~kenran@200116b82bc0270099b2de0ffa120b08.dip.versatel-1u1.de) (Ping timeout: 240 seconds)
2021-08-28 09:35:43 +0000azeem(~azeem@62.18.164.196)
2021-08-28 09:36:08 +0000__monty__(~toonn@user/toonn)
2021-08-28 09:36:18 +0000kenran(~kenran@200116b82bc02700d2fed1b66be991af.dip.versatel-1u1.de)
2021-08-28 09:51:13 +0000azeem(~azeem@62.18.164.196) (Ping timeout: 252 seconds)
2021-08-28 09:53:00 +0000azeem(~azeem@62.18.164.196)
2021-08-28 09:53:00 +0000img(~img@user/img) (Ping timeout: 250 seconds)
2021-08-28 09:53:20 +0000polyphem(~polyphem@2a02:810d:640:776c:b139:3454:9b21:7c63)
2021-08-28 09:54:25 +0000acidjnk_new3(~acidjnk@p200300d0c72b95310c4cb6300b253e7e.dip0.t-ipconnect.de)
2021-08-28 09:55:02 +0000img(~img@user/img)
2021-08-28 09:57:27 +0000acidjnk_new(~acidjnk@p200300d0c72b95925da55fe159cc0756.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2021-08-28 09:58:22 +0000martin02(~silas@141.84.69.76) (Ping timeout: 252 seconds)
2021-08-28 09:59:56 +0000benin036932(~benin@183.82.178.152)
2021-08-28 10:02:02 +0000kenran(~kenran@200116b82bc02700d2fed1b66be991af.dip.versatel-1u1.de) (Quit: WeeChat info:version)
2021-08-28 10:07:10 +0000azeem(~azeem@62.18.164.196) (Ping timeout: 240 seconds)
2021-08-28 10:12:19 +0000azeem(~azeem@62.18.164.196)
2021-08-28 10:13:01 +0000zmt00(~zmt00@user/zmt00)
2021-08-28 10:14:48 +0000 <kaol> If I have a top level function that uses (for example) "Num n => ..." how do I use the same n if I define a function in my where section? GHC has renamed my use as "Num n1" and complains that it can't deduce it. It compiles if I omit the type definition of my auxiliary function.
2021-08-28 10:15:32 +0000zmt01(~zmt00@user/zmt00) (Ping timeout: 250 seconds)
2021-08-28 10:15:41 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-28 10:16:03 +0000hannessteffenhag(~hannesste@77.20.255.200)
2021-08-28 10:17:47 +0000 <maerwald> ScopedTypeVariables
2021-08-28 10:20:07 +0000hannessteffenhag(~hannesste@77.20.255.200) (Ping timeout: 240 seconds)
2021-08-28 10:20:53 +0000 <kaol> Nope, that had no effect. I tried to make a trivial example of it but that works just as I'd expect. Odd.
2021-08-28 10:22:47 +0000vysn(~vysn@user/vysn) (Ping timeout: 240 seconds)
2021-08-28 10:23:43 +0000 <kaol> Oh, right. What I needed was to add "Num n =>" to that inner function.
2021-08-28 10:24:33 +0000 <kaol> It's going to be always the same n as on top level but never mind that.
2021-08-28 10:25:11 +0000 <tomsmeding> kaol: that's probably the right fix, what you now did
2021-08-28 10:25:29 +0000martin02(~silas@141.84.69.76)
2021-08-28 10:25:46 +0000 <tomsmeding> using ScopedTypeVariables you have to put some 'forall' keywords in the right places. See the ghc user's guide on the extension: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/exts/scoped_type_variables.html#ex…
2021-08-28 10:26:37 +0000 <kaol> The type's optional in this case but it makes "getSum . (foldMap . foldMap . foldMap . foldMap) Sum" easier to read.
2021-08-28 10:27:04 +0000 <tomsmeding> by default, type variables aren't "inherited" by nested functions
2021-08-28 10:27:23 +0000 <tomsmeding> if you can make it work like that, which in this case you could by adding "Num n =>", apparently, that's always the right thing
2021-08-28 10:27:47 +0000 <tomsmeding> if you can't because you use some values from the parent function so the types really need to be linked for it to typecheck, you can use ScopedTypeVariables
2021-08-28 10:34:47 +0000jtomas(~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) (Remote host closed the connection)
2021-08-28 10:34:49 +0000d0ku(~d0ku@178.43.56.75.ipv4.supernova.orange.pl)
2021-08-28 10:47:28 +0000oxide(~lambda@user/oxide)
2021-08-28 10:49:00 +0000jtomas(~jtomas@233.red-83-34-2.dynamicip.rima-tde.net)
2021-08-28 10:49:54 +0000sjb0(~stephen@2001:8004:2738:35de:a1a3:a1c1:6e62:ba62) (Quit: Leaving.)
2021-08-28 10:51:45 +0000d0ku(~d0ku@178.43.56.75.ipv4.supernova.orange.pl) (Ping timeout: 248 seconds)
2021-08-28 10:53:04 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:45ef:351a:e045:ed35)
2021-08-28 10:57:10 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:45ef:351a:e045:ed35) (Ping timeout: 240 seconds)
2021-08-28 11:01:03 +0000alx741(~alx741@181.196.68.187)
2021-08-28 11:01:03 +0000Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-28 11:01:15 +0000Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-28 11:10:26 +0000pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-08-28 11:10:58 +0000Erutuon(~Erutuon@user/erutuon) (Ping timeout: 252 seconds)
2021-08-28 11:18:29 +0000azeem(~azeem@62.18.164.196) (Ping timeout: 250 seconds)
2021-08-28 11:18:52 +0000azeem(~azeem@62.18.164.196)
2021-08-28 11:19:13 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-08-28 11:24:06 +0000Pickchea(~private@user/pickchea)
2021-08-28 11:26:07 +0000cheater(~Username@user/cheater) (Ping timeout: 240 seconds)
2021-08-28 11:34:26 +0000polyphem(~polyphem@2a02:810d:640:776c:b139:3454:9b21:7c63) (Read error: Connection reset by peer)
2021-08-28 11:38:03 +0000 <hololeap> @unmtl StateT s (ExceptT e) a
2021-08-28 11:38:03 +0000 <lambdabot> err: `ExceptT e (a, s)' is not applied to enough arguments.
2021-08-28 11:38:12 +0000 <hololeap> @unmtl StateT s (Except e) a
2021-08-28 11:38:12 +0000 <lambdabot> s -> Except e (a, s)
2021-08-28 11:38:20 +0000hannessteffenhag(~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de)
2021-08-28 11:38:31 +0000 <hololeap> @unmtl ExceptT e (State s) a
2021-08-28 11:38:31 +0000 <lambdabot> s -> (Either e a, s)
2021-08-28 11:44:40 +0000hannessteffenhag(~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
2021-08-28 11:46:41 +0000azeem(~azeem@62.18.164.196) (Ping timeout: 248 seconds)
2021-08-28 11:47:45 +0000azeem(~azeem@62.18.164.196)
2021-08-28 11:50:34 +0000martin02(~silas@141.84.69.76) (Ping timeout: 252 seconds)
2021-08-28 11:50:34 +0000MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-08-28 11:51:33 +0000MQ-17J(~MQ-17J@8.6.144.209)
2021-08-28 11:54:26 +0000slowButPresent(~slowButPr@user/slowbutpresent)
2021-08-28 11:55:31 +0000slowButPresent(~slowButPr@user/slowbutpresent) (Client Quit)
2021-08-28 11:56:27 +0000azeem(~azeem@62.18.164.196) (Ping timeout: 240 seconds)
2021-08-28 11:58:12 +0000slowButPresent(~slowButPr@user/slowbutpresent)
2021-08-28 12:01:50 +0000Codaraxis__(~Codaraxis@user/codaraxis)
2021-08-28 12:04:47 +0000Codaraxis_(~Codaraxis@user/codaraxis) (Ping timeout: 240 seconds)
2021-08-28 12:05:11 +0000azeem(~azeem@62.18.164.196)
2021-08-28 12:09:52 +0000feepo(sid28508@id-28508.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
2021-08-28 12:09:55 +0000hannessteffenhag(~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de)
2021-08-28 12:12:00 +0000timCF(~timCF@m91-129-108-244.cust.tele2.ee) (Quit: leaving)
2021-08-28 12:14:10 +0000hannessteffenhag(~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
2021-08-28 12:17:25 +0000MQ-17J(~MQ-17J@8.6.144.209) (Ping timeout: 250 seconds)
2021-08-28 12:21:45 +0000xff0x(~xff0x@2001:1a81:5215:d000:44b2:e3e1:102e:1373) (Ping timeout: 250 seconds)
2021-08-28 12:23:14 +0000aman(~aman@user/aman)
2021-08-28 12:23:19 +0000[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2021-08-28 12:26:14 +0000hannessteffenhag(~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de)
2021-08-28 12:26:26 +0000peterhil(~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi)
2021-08-28 12:28:15 +0000favonia(~favonia@user/favonia)
2021-08-28 12:29:29 +0000mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
2021-08-28 12:31:29 +0000hannessteffenhag(~hannesste@ip4d14ffc8.dynamic.kabel-deutschland.de) (Ping timeout: 248 seconds)
2021-08-28 12:39:20 +0000Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-28 12:39:32 +0000Vajb(~Vajb@85-76-137-121-nat.elisa-mobile.fi)
2021-08-28 12:40:23 +0000hendursa1(~weechat@user/hendursaga) (Quit: hendursa1)
2021-08-28 12:41:04 +0000hendursaga(~weechat@user/hendursaga)
2021-08-28 12:42:32 +0000xff0x(~xff0x@2001:1a81:5215:d000:44b2:e3e1:102e:1373)
2021-08-28 12:46:38 +0000jakalx(~jakalx@base.jakalx.net) ()
2021-08-28 12:46:54 +0000icebreaker(~icebreake@user/icebreaker) ()
2021-08-28 12:50:02 +0000martin02(~silas@2001:4ca0:0:fe00:0:5efe:a96:1bc1)
2021-08-28 12:52:49 +0000mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 248 seconds)
2021-08-28 12:54:39 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:45ef:351a:e045:ed35)
2021-08-28 12:54:52 +0000 <siers> I have found this nix shell to work well for getting cabal/hls for freshly cloned projects: nix-shell -p cabal2nix --run 'nix-shell -E "$(cabal2nix --shell .)" --run "nix-shell -p cabal-install -p haskell-language-server --run zsh"'
2021-08-28 12:55:15 +0000 <siers> as I don't like declaring unneeded dependencies for my user profile
2021-08-28 12:55:34 +0000 <maerwald> how long does that run? :)
2021-08-28 12:56:35 +0000waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-08-28 12:57:52 +0000 <siers> instantly
2021-08-28 12:58:04 +0000 <siers> ah, well depends on whether you have the deps :)
2021-08-28 12:58:13 +0000 <maerwald> in my experience, entering a nix shell takes a couple hours depending on your configuration :p
2021-08-28 12:58:35 +0000 <siers> no, very fast after the first download run. do you have a HDD?
2021-08-28 12:58:54 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:45ef:351a:e045:ed35) (Ping timeout: 250 seconds)
2021-08-28 12:59:26 +0000 <maerwald> it also didn't share subdirectories from git clones, not sure that's fixed
2021-08-28 12:59:50 +0000mykyta(~mykyta@37.53.0.230)
2021-08-28 13:00:17 +0000APic(apic@apic.name) (Ping timeout: 248 seconds)
2021-08-28 13:02:24 +0000mykyta(~mykyta@37.53.0.230) ()
2021-08-28 13:02:53 +0000[_](~itchyjunk@user/itchyjunk/x-7353470)
2021-08-28 13:03:19 +0000[itchyjunk]Guest3360
2021-08-28 13:03:19 +0000Guest3360(~itchyjunk@user/itchyjunk/x-7353470) (Killed (silver.libera.chat (Nickname regained by services)))
2021-08-28 13:03:19 +0000[_][itchyjunk]
2021-08-28 13:03:43 +0000Guest3360(~itchyjunk@user/itchyjunk/x-7353470)
2021-08-28 13:03:57 +0000Guest3360(~itchyjunk@user/itchyjunk/x-7353470) (Client Quit)
2021-08-28 13:04:52 +0000 <siers> is SetEnv a function? https://gitlab.com/goldfirere/stitch/blob/58f49b8c8f6cc66cc634944afd9961c7bc15d9d1/src/Language/St…
2021-08-28 13:05:53 +0000MQ-17J(~MQ-17J@8.6.144.209)
2021-08-28 13:05:55 +0000cods(~fred@82-65-232-44.subs.proxad.net)
2021-08-28 13:06:14 +0000 <siers> hlocal/MonadHReader breaks my head
2021-08-28 13:06:33 +0000 <maerwald> associated type family
2021-08-28 13:07:01 +0000egoist(~egoist@186.235.82.117)
2021-08-28 13:07:02 +0000 <siers> I can't also conceptually understand how it may result in a ReaderT r1 m, if it returns a r2 and the SetEnv seems to convert to r2 also
2021-08-28 13:08:32 +0000 <maerwald> https://downloads.haskell.org/~ghc/8.10.7/docs/html/users_guide/glasgow_exts.html#associated-type-…
2021-08-28 13:08:51 +0000 <siers> I'll take a look
2021-08-28 13:10:18 +0000 <maerwald> you can view type families as functions on types
2021-08-28 13:10:53 +0000ArctVaulMarsHMPJ(~pjetcetal@128-71-152-79.broadband.corbina.ru)
2021-08-28 13:10:57 +0000 <siers> that is how I viewed them already
2021-08-28 13:11:14 +0000 <maerwald> 1. function: value -> value, 2. type family: type -> type, 3. class: type -> value, 4. GADT: value -> type
2021-08-28 13:11:18 +0000 <maerwald> I think it was like that?
2021-08-28 13:11:40 +0000 <maerwald> so the combination of class and type family is especially interesting
2021-08-28 13:11:45 +0000 <siers> that's an interesting list, I'd never seen one like that
2021-08-28 13:11:54 +0000waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 250 seconds)
2021-08-28 13:12:30 +0000 <siers> it looks like a type, not a type family at the first glance
2021-08-28 13:12:43 +0000 <maerwald> it is a family
2021-08-28 13:12:48 +0000 <maerwald> becuaes it's in the class
2021-08-28 13:12:56 +0000 <maerwald> and can have multiple type instances
2021-08-28 13:13:00 +0000 <siers> ahm ok
2021-08-28 13:13:04 +0000 <siers> m = ,
2021-08-28 13:13:55 +0000waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-08-28 13:13:58 +0000 <maerwald> you also have open type families and closed type families
2021-08-28 13:14:08 +0000 <maerwald> https://downloads.haskell.org/~ghc/8.10.7/docs/html/users_guide/glasgow_exts.html#closed-type-fami…
2021-08-28 13:16:01 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-28 13:17:25 +0000lavaman(~lavaman@98.38.249.169)
2021-08-28 13:19:17 +0000waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Quit: WeeChat 3.2)
2021-08-28 13:20:20 +0000 <maerwald> maybe also check out https://hackage.haskell.org/package/mtl-tf
2021-08-28 13:21:52 +0000lavaman(~lavaman@98.38.249.169) (Ping timeout: 250 seconds)
2021-08-28 13:22:26 +0000jiribenes(~jiribenes@rosa.jiribenes.com) (Ping timeout: 258 seconds)
2021-08-28 13:22:52 +0000pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net) (Quit: gone to sleep. ZZZzzz…)
2021-08-28 13:24:22 +0000 <siers> is Mark a brother/relative of Simon or something?
2021-08-28 13:24:51 +0000acidjnk_new(~acidjnk@p200300d0c72b9531c50f6552fc7b880d.dip0.t-ipconnect.de)
2021-08-28 13:24:51 +0000waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-08-28 13:26:53 +0000acidjnk(~acidjnk@p200300d0c72b9531c50f6552fc7b880d.dip0.t-ipconnect.de)
2021-08-28 13:28:29 +0000acidjnk_new3(~acidjnk@p200300d0c72b95310c4cb6300b253e7e.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2021-08-28 13:29:26 +0000burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk)
2021-08-28 13:29:30 +0000burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-28 13:29:40 +0000acidjnk_new(~acidjnk@p200300d0c72b9531c50f6552fc7b880d.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2021-08-28 13:29:41 +0000burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk)
2021-08-28 13:31:51 +0000 <siers> ok, I get what hlocal is doing now, finally
2021-08-28 13:33:58 +0000 <siers> haddock is a fish! ha, I just found out
2021-08-28 13:35:08 +0000burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-28 13:36:48 +0000oxide(~lambda@user/oxide) (Quit: oxide)
2021-08-28 13:41:03 +0000benin0369322(~benin@183.82.206.21)
2021-08-28 13:41:29 +0000azeem(~azeem@62.18.164.196) (Ping timeout: 250 seconds)
2021-08-28 13:41:41 +0000lbseale(~lbseale@user/ep1ctetus)
2021-08-28 13:42:16 +0000azeem(~azeem@62.18.164.196)
2021-08-28 13:42:24 +0000 <sshine_> siers, yes
2021-08-28 13:43:19 +0000benin036932(~benin@183.82.178.152) (Ping timeout: 252 seconds)
2021-08-28 13:43:19 +0000benin0369322benin036932
2021-08-28 13:44:01 +0000 <sshine_> I didn't know. :) but it makes sense, considering Captain Haddock from Tintin is a fisherman.
2021-08-28 13:49:10 +0000waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 250 seconds)
2021-08-28 13:50:09 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
2021-08-28 13:53:11 +0000lbseale_(~lbseale@user/ep1ctetus)
2021-08-28 13:53:28 +0000jiribenes(~jiribenes@rosa.jiribenes.com)
2021-08-28 13:54:08 +0000oxide(~lambda@user/oxide)
2021-08-28 13:56:07 +0000lbseale(~lbseale@user/ep1ctetus) (Ping timeout: 240 seconds)
2021-08-28 13:56:54 +0000fendor_(~fendor@178.165.164.244.wireless.dyn.drei.com)
2021-08-28 13:59:15 +0000fendor(~fendor@77.119.210.198.wireless.dyn.drei.com) (Ping timeout: 250 seconds)
2021-08-28 14:07:28 +0000APic(apic@apic.name)
2021-08-28 14:08:53 +0000dagi59194(~dagit@2001:558:6025:38:6476:a063:d05a:44da)
2021-08-28 14:09:23 +0000dagit(~dagit@2001:558:6025:38:6476:a063:d05a:44da) (Read error: Connection reset by peer)
2021-08-28 14:10:24 +0000acidjnk(~acidjnk@p200300d0c72b9531c50f6552fc7b880d.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2021-08-28 14:11:17 +0000oxide(~lambda@user/oxide) (Quit: oxide)
2021-08-28 14:13:26 +0000Gurkenglas(~Gurkengla@dslb-088-064-053-140.088.064.pools.vodafone-ip.de) (Ping timeout: 250 seconds)
2021-08-28 14:15:26 +0000burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk)
2021-08-28 14:17:53 +0000jakalx(~jakalx@base.jakalx.net)
2021-08-28 14:20:55 +0000burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk) (Ping timeout: 250 seconds)
2021-08-28 14:20:58 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-08-28 14:22:01 +0000PinealGlandOptic(~PinealGla@37.115.210.35)
2021-08-28 14:27:51 +0000azeem(~azeem@62.18.164.196) (Ping timeout: 250 seconds)
2021-08-28 14:28:38 +0000azeem(~azeem@62.18.164.196)
2021-08-28 14:30:17 +0000oxide(~lambda@user/oxide)
2021-08-28 14:30:21 +0000pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net)
2021-08-28 14:36:27 +0000MQ-17J(~MQ-17J@8.6.144.209) (Ping timeout: 240 seconds)
2021-08-28 14:40:38 +0000leplep-
2021-08-28 14:44:06 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-28 14:44:06 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-08-28 14:44:06 +0000wroathe(~wroathe@user/wroathe)
2021-08-28 14:45:51 +0000markpythonicbtc(~textual@50.228.44.6)
2021-08-28 14:50:02 +0000APic(apic@apic.name) (Ping timeout: 245 seconds)
2021-08-28 14:51:37 +0000lep-lep
2021-08-28 14:54:05 +0000leplep-
2021-08-28 14:54:06 +0000Vajb(~Vajb@85-76-137-121-nat.elisa-mobile.fi) (Read error: Connection reset by peer)
2021-08-28 14:54:36 +0000Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-28 14:56:24 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:45ef:351a:e045:ed35)
2021-08-28 14:57:49 +0000geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-08-28 15:00:19 +0000geekosaur(~geekosaur@xmonad/geekosaur)
2021-08-28 15:00:35 +0000markpythonicbtc(~textual@50.228.44.6) (Remote host closed the connection)
2021-08-28 15:00:40 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:45ef:351a:e045:ed35) (Ping timeout: 240 seconds)
2021-08-28 15:01:13 +0000Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Ping timeout: 250 seconds)
2021-08-28 15:01:21 +0000Vajb(~Vajb@2001:999:252:4e3c:27f9:d93:655e:583)
2021-08-28 15:03:20 +0000lep-lep
2021-08-28 15:07:17 +0000mei(~mei@user/mei) (Read error: Connection reset by peer)
2021-08-28 15:12:03 +0000Vajb(~Vajb@2001:999:252:4e3c:27f9:d93:655e:583) (Read error: Connection reset by peer)
2021-08-28 15:12:25 +0000alx741(~alx741@181.196.68.187) (Ping timeout: 252 seconds)
2021-08-28 15:13:07 +0000Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-28 15:14:00 +0000leplep-
2021-08-28 15:14:37 +0000Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-28 15:14:39 +0000Pickchea(~private@user/pickchea) (Quit: Leaving)
2021-08-28 15:14:56 +0000Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-28 15:16:01 +0000nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-08-28 15:20:56 +0000burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk)
2021-08-28 15:22:09 +0000azeem(~azeem@62.18.164.196) (Ping timeout: 248 seconds)
2021-08-28 15:24:03 +0000azeem(~azeem@62.18.164.196)
2021-08-28 15:24:51 +0000cheater(~Username@user/cheater)
2021-08-28 15:24:56 +0000lep-lep
2021-08-28 15:25:39 +0000alx741(~alx741@186.178.108.114)
2021-08-28 15:26:10 +0000burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk) (Ping timeout: 240 seconds)
2021-08-28 15:27:15 +0000Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-28 15:27:59 +0000Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-28 15:29:15 +0000jiribenes(~jiribenes@rosa.jiribenes.com) (Remote host closed the connection)
2021-08-28 15:29:58 +0000jiribenes(~jiribenes@rosa.jiribenes.com)
2021-08-28 15:30:33 +0000pavonia(~user@user/siracusa) (Quit: Bye!)
2021-08-28 15:33:50 +0000leplep-
2021-08-28 15:35:40 +0000azeem(~azeem@62.18.164.196) (Ping timeout: 240 seconds)
2021-08-28 15:36:11 +0000azeem(~azeem@5.168.90.242)
2021-08-28 15:38:25 +0000lep-lep
2021-08-28 15:42:40 +0000azeem(~azeem@5.168.90.242) (Ping timeout: 240 seconds)
2021-08-28 15:42:59 +0000azeem(~azeem@5.168.90.242)
2021-08-28 15:43:13 +0000Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Ping timeout: 252 seconds)
2021-08-28 15:43:50 +0000Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-28 15:46:17 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-28 15:48:31 +0000leplep-
2021-08-28 15:49:07 +0000 <DigitalKiwi> hi i'm here to talk about stocks
2021-08-28 15:51:54 +0000hexfive(~eric@50.35.83.177)
2021-08-28 15:53:45 +0000chris(~chris@81.96.113.213)
2021-08-28 15:53:48 +0000chrisGuest3892
2021-08-28 15:53:59 +0000lep-lep
2021-08-28 15:57:28 +0000 <maerwald> what you got for me today
2021-08-28 15:58:18 +0000azeem(~azeem@5.168.90.242) (Ping timeout: 250 seconds)
2021-08-28 15:58:40 +0000renzhi(~xp@2607:fa49:6500:3d00::d986) (Ping timeout: 240 seconds)
2021-08-28 15:58:59 +0000azeem(~azeem@5.168.90.242)
2021-08-28 15:59:40 +0000 <DigitalKiwi> jokes
2021-08-28 16:01:19 +0000hexfive(~eric@50.35.83.177) (Quit: WeeChat 3.0.1)
2021-08-28 16:03:01 +0000Morrow_(~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 252 seconds)
2021-08-28 16:06:24 +0000 <maerwald> https://www.haskell.org/tutorial/ what's this
2021-08-28 16:07:39 +0000 <monochrom> The best Haskell tutorial.
2021-08-28 16:07:43 +0000Guest3199(~Guest31@82.40.121.143)
2021-08-28 16:07:55 +0000Guest3199(~Guest31@82.40.121.143) (Client Quit)
2021-08-28 16:08:10 +0000azeem(~azeem@5.168.90.242) (Ping timeout: 240 seconds)
2021-08-28 16:08:25 +0000azeem(~azeem@5.168.90.242)
2021-08-28 16:08:31 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:45ef:351a:e045:ed35)
2021-08-28 16:14:36 +0000derelict(~derelict@user/derelict) (Quit: WeeChat 3.2)
2021-08-28 16:15:34 +0000 <DigitalKiwi> is it really the best?
2021-08-28 16:15:57 +0000 <DigitalKiwi> simply being official doesn't make it the gest
2021-08-28 16:16:04 +0000 <DigitalKiwi> or best
2021-08-28 16:16:16 +0000derelict(derelict@2600:3c02::f03c:92ff:fe45:2498)
2021-08-28 16:16:34 +0000dajoer(~david@user/gvx) (Quit: leaving)
2021-08-28 16:18:11 +0000Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-28 16:18:21 +0000 <maerwald> I think we just established that it's the best.
2021-08-28 16:19:23 +0000 <DigitalKiwi> have we though
2021-08-28 16:20:37 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-08-28 16:21:04 +0000neo2(~neo3@cpe-292712.ip.primehome.com)
2021-08-28 16:21:14 +0000Vajb(~Vajb@85-76-37-217-nat.elisa-mobile.fi)
2021-08-28 16:22:44 +0000derelict(derelict@2600:3c02::f03c:92ff:fe45:2498) (Quit: bye)
2021-08-28 16:22:59 +0000derelict(derelict@user/derelict)
2021-08-28 16:25:48 +0000Vajb(~Vajb@85-76-37-217-nat.elisa-mobile.fi) (Read error: Connection reset by peer)
2021-08-28 16:26:42 +0000Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-28 16:27:40 +0000azeem(~azeem@5.168.90.242) (Ping timeout: 240 seconds)
2021-08-28 16:28:27 +0000nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Quit: WeeChat 3.2)
2021-08-28 16:28:48 +0000azeem(~azeem@5.168.90.242)
2021-08-28 16:33:05 +0000azeem(~azeem@5.168.90.242) (Ping timeout: 248 seconds)
2021-08-28 16:33:43 +0000falafel(~falafel@74.214.230.170)
2021-08-28 16:34:08 +0000azeem(~azeem@5.168.90.242)
2021-08-28 16:34:46 +0000lbseale_(~lbseale@user/ep1ctetus) (Read error: Connection reset by peer)
2021-08-28 16:37:53 +0000Guest3892(~chris@81.96.113.213) (Ping timeout: 248 seconds)
2021-08-28 16:42:06 +0000chris(~chris@81.96.113.213)
2021-08-28 16:42:09 +0000chrisGuest2283
2021-08-28 16:42:38 +0000Guest2283(~chris@81.96.113.213) (Remote host closed the connection)
2021-08-28 16:43:22 +0000falafel(~falafel@74.214.230.170) (Ping timeout: 245 seconds)
2021-08-28 16:44:46 +0000hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com)
2021-08-28 16:46:15 +0000APic(apic@apic.name)
2021-08-28 16:49:38 +0000chris(~chris@81.96.113.213)
2021-08-28 16:49:42 +0000chrisGuest8241
2021-08-28 16:51:29 +0000Pickchea(~private@user/pickchea)
2021-08-28 16:51:56 +0000jrm(~jrm@156.34.187.65) (Quit: ciao)
2021-08-28 16:53:23 +0000 <monochrom> It's how I learned Haskell, and I think it's the best, or least worst, compared to tutorials that came after.
2021-08-28 16:54:25 +0000 <monochrom> One of its strengths is that it does not have broken analogies or misleading pictures that everyone praises in other, worse, tutorials.
2021-08-28 16:55:51 +0000 <monochrom> Note that there is a line to be drawn between tutorials and textbooks. I am comparing tutorials with tutorials, not tutorials with textbooks.
2021-08-28 16:57:13 +0000 <monochrom> http://www.vex.net/~trebla/haskell/learn-sources.html#a-gentle-introduction-to-haskell
2021-08-28 17:04:52 +0000kuribas(~user@ptr-25vy0i6qx5na6znp5k4.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2021-08-28 17:10:48 +0000geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-08-28 17:11:26 +0000Morrow_(~Morrow@bzq-110-168-31-106.red.bezeqint.net)
2021-08-28 17:11:42 +0000azeem(~azeem@5.168.90.242) (Ping timeout: 245 seconds)
2021-08-28 17:14:07 +0000geekosaur(~geekosaur@xmonad/geekosaur)
2021-08-28 17:14:35 +0000 <hololeap> is there a monad (transformer) similar to ExceptT, but with different semantics, where the monad will "short-circuit" and return when a computation is finished, as opposed to on an error?
2021-08-28 17:15:20 +0000 <janus> hololeap: not sure i understand, why not just swap success and error types in ExceptT ?
2021-08-28 17:17:19 +0000 <monochrom> I don't understand how "finished" and "short-circuit" can be brought together.
2021-08-28 17:17:23 +0000 <janus> maybe if we eschew the "success/error" terminology and just call it "returned on short circuit" "returned when no short circuiting appears". that captures ExceptT just as accurately, no?
2021-08-28 17:17:34 +0000 <monochrom> I would think "short-circuit" means "unfinished but quit".
2021-08-28 17:17:34 +0000azeem(~azeem@5.168.90.242)
2021-08-28 17:18:19 +0000 <hololeap> monochrom: for instance, I'm building a data structure using Accum using "pieces" that come in from a list, and I want to stop reading from the list when the data structure is complete
2021-08-28 17:18:47 +0000 <monochrom> I don't know Accum.
2021-08-28 17:19:05 +0000 <hololeap> It's basically just State but specialized for monoids as `s`
2021-08-28 17:19:07 +0000haykam(~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
2021-08-28 17:19:14 +0000lavaman(~lavaman@98.38.249.169)
2021-08-28 17:19:21 +0000haykam(~haykam@static.100.2.21.65.clients.your-server.de)
2021-08-28 17:19:23 +0000 <hololeap> it's actually in transformers
2021-08-28 17:20:00 +0000 <monochrom> But "f (x:y:_) = (x,y)" satisfies "stop reading from the list when the tuple (x,y) is complete".
2021-08-28 17:20:57 +0000 <hololeap> this is more like, `data MyThing (Maybe X) (Maybe Y) (Maybe Z)` and I want to stop when all the fields are (Just X), (Just Y), etc
2021-08-28 17:22:16 +0000 <hololeap> oh, I just remembered monad-loops. takeWhileM is probably what I'm looking for
2021-08-28 17:23:40 +0000lavaman(~lavaman@98.38.249.169) (Ping timeout: 250 seconds)
2021-08-28 17:24:18 +0000 <monochrom> Equivalently, making a recursive call means "don't stop", therefore simply don't make a recursive call to "stop".
2021-08-28 17:25:24 +0000 <hololeap> true, but I like to avoid rolling my own recursion when possible. I find the code easier to comprehend that way
2021-08-28 17:27:36 +0000 <monochrom> When I'm writing in C, half of the loops are for-loops that don't contain "break", "continue", "return", "exit()". They are the pure loops, they would be foldl, foldr, foldMap, mapM_ if I were writing Haskell.
2021-08-28 17:27:41 +0000 <kaol> I've used ContT for my not-ExceptT things sometimes.
2021-08-28 17:28:54 +0000 <monochrom> But the other half, they were really handwritten recursion in my head, and for just cause, but then it's C so I compiled recursion to "loop"s with "break" and "continue" and "return".
2021-08-28 17:30:00 +0000Erutuon(~Erutuon@user/erutuon)
2021-08-28 17:30:28 +0000 <monochrom> Basically trying to explain that half of the "loops" in C are dishonest loops. They don't improve comprehensibility.
2021-08-28 17:33:05 +0000tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2021-08-28 17:33:51 +0000 <kaol> flip runContT return $ callCC $ \exit -> ... and exit can be called to short circuit and it'll have the same type as the whole computation, with no Either involved.
2021-08-28 17:35:27 +0000 <monochrom> http://www.vex.net/~trebla/haskell/cont.xhtml#yield for using that to exit and re-enter and re-exit and re-enter... >:)
2021-08-28 17:38:35 +0000 <hpc> if you want to be extra mean, flip runContT pure $ callCC $ \return -> ...
2021-08-28 17:39:02 +0000 <hpc> now return actually affects control flow! :D
2021-08-28 17:39:16 +0000 <monochrom> That's only the 2nd meanest. s/pure/return/ to be the meanest.
2021-08-28 17:40:17 +0000 <hpc> then you can't nest it though
2021-08-28 17:40:27 +0000 <monochrom> But let me optimize it for you.
2021-08-28 17:40:27 +0000martin02(~silas@2001:4ca0:0:fe00:0:5efe:a96:1bc1) (Ping timeout: 240 seconds)
2021-08-28 17:40:27 +0000 <maerwald> is `pure` even politically correct?
2021-08-28 17:40:30 +0000 <hpc> it's fun to not know if your return is going to take you too far up, or not take you too far up enough
2021-08-28 17:40:41 +0000 <monochrom> flip runContT pure $ \pure -> ...
2021-08-28 17:41:07 +0000 <monochrom> err
2021-08-28 17:41:13 +0000 <hpc> actually, hmm
2021-08-28 17:41:16 +0000 <monochrom> flip runContT pure $ ContT $ \pure -> ...
2021-08-28 17:41:30 +0000 <hpc> in \pure, that pure has the same type as actual pure
2021-08-28 17:41:37 +0000 <hpc> monochrom: so yes, yours is better
2021-08-28 17:41:48 +0000 <hpc> because then who even knows what nesting it will do
2021-08-28 17:46:40 +0000azeem(~azeem@5.168.90.242) (Ping timeout: 240 seconds)
2021-08-28 17:46:54 +0000azeem(~azeem@5.168.90.242)
2021-08-28 17:51:10 +0000azeem(~azeem@5.168.90.242) (Ping timeout: 240 seconds)
2021-08-28 17:52:15 +0000azeem(~azeem@5.168.90.242)
2021-08-28 17:52:43 +0000Gurkenglas(~Gurkengla@dslb-088-064-053-140.088.064.pools.vodafone-ip.de)
2021-08-28 17:52:53 +0000martin02(~silas@141.84.69.76)
2021-08-28 17:59:37 +0000APic(apic@apic.name) (Ping timeout: 252 seconds)
2021-08-28 18:01:10 +0000azeem(~azeem@5.168.90.242) (Ping timeout: 240 seconds)
2021-08-28 18:02:06 +0000azeem(~azeem@5.168.90.242)
2021-08-28 18:03:33 +0000 <monochrom> On second thought, callCC is necessary.
2021-08-28 18:04:06 +0000 <hpc> it's always on second thought with callCC :P
2021-08-28 18:06:05 +0000ArctVaulMarsHMPJ(~pjetcetal@128-71-152-79.broadband.corbina.ru) (Remote host closed the connection)
2021-08-28 18:06:13 +0000azeem(~azeem@5.168.90.242) (Ping timeout: 252 seconds)
2021-08-28 18:07:18 +0000azeem(~azeem@5.168.86.163)
2021-08-28 18:07:41 +0000 <hololeap> is there something (premade) that combines takeWhile with a fold, so that you can access the state of the fold in the check?
2021-08-28 18:08:24 +0000 <Rembane_> MonadPlus might be your friend here, I haven't used it though, only seen something about it in the docs.
2021-08-28 18:08:46 +0000 <hololeap> I don't think that would help here, but explain
2021-08-28 18:11:33 +0000 <hololeap> @hoogle (b -> Either b c) -> (a -> b -> b) -> b -> t a -> Either b c
2021-08-28 18:11:34 +0000 <lambdabot> No results found
2021-08-28 18:12:27 +0000d0ku(~d0ku@178.43.56.75.ipv4.supernova.orange.pl)
2021-08-28 18:15:07 +0000Pickchea(~private@user/pickchea) (Ping timeout: 240 seconds)
2021-08-28 18:15:12 +0000 <hololeap> well, I think I'll just stick with what I have: mapM_ using ExceptT (Bare T) (Accum (Partial T)) ()
2021-08-28 18:15:39 +0000 <hololeap> although that () in the last position makes me feel like the monad interface is too powerful here
2021-08-28 18:16:06 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 250 seconds)
2021-08-28 18:17:04 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-28 18:17:09 +0000hololeaprenames Bare to Finished -- there, that makes more sense
2021-08-28 18:17:47 +0000eldritch_(~eldritch@134.209.221.71) (Changing host)
2021-08-28 18:17:47 +0000eldritch_(~eldritch@user/eldritch/x-9272577)
2021-08-28 18:18:06 +0000TranquilEcho(~grom@user/tranquilecho)
2021-08-28 18:18:17 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-08-28 18:19:53 +0000andinus(andinus@tilde.institute) (Remote host closed the connection)
2021-08-28 18:20:33 +0000andinus(andinus@tilde.institute)
2021-08-28 18:23:38 +0000Jeanne-Kamikaze(~Jeanne-Ka@static-198-54-131-126.cust.tzulo.com)
2021-08-28 18:25:27 +0000azeem(~azeem@5.168.86.163) (Ping timeout: 240 seconds)
2021-08-28 18:26:11 +0000azeem(~azeem@5.168.86.163)
2021-08-28 18:26:40 +0000ArctVaulMarsHMPJ(~pjetcetal@128-71-152-79.broadband.corbina.ru)
2021-08-28 18:27:53 +0000mud(~mud@user/kadoban)
2021-08-28 18:32:36 +0000Guest8241(~chris@81.96.113.213) (Remote host closed the connection)
2021-08-28 18:32:41 +0000azeem(~azeem@5.168.86.163) (Ping timeout: 250 seconds)
2021-08-28 18:33:13 +0000chris(~chris@81.96.113.213)
2021-08-28 18:33:16 +0000chrisGuest3524
2021-08-28 18:33:23 +0000Guest3524(~chris@81.96.113.213) (Remote host closed the connection)
2021-08-28 18:34:21 +0000chris(~chris@81.96.113.213)
2021-08-28 18:34:24 +0000chrisGuest9786
2021-08-28 18:35:29 +0000azeem(~azeem@5.168.86.163)
2021-08-28 18:36:00 +0000dyeplexer(~dyeplexer@user/dyeplexer) (Remote host closed the connection)
2021-08-28 18:41:47 +0000azeem(~azeem@5.168.86.163) (Ping timeout: 250 seconds)
2021-08-28 18:43:02 +0000azeem(~azeem@5.168.86.163)
2021-08-28 18:43:09 +0000desophos(~desophos@2601:249:1680:a570:b9dc:dd21:8c3e:8765)
2021-08-28 18:43:34 +0000waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-08-28 18:49:40 +0000azeem(~azeem@5.168.86.163) (Ping timeout: 252 seconds)
2021-08-28 18:50:06 +0000azeem(~azeem@5.168.92.20)
2021-08-28 18:51:10 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-08-28 19:01:07 +0000azeem(~azeem@5.168.92.20) (Ping timeout: 240 seconds)
2021-08-28 19:01:38 +0000azeem(~azeem@5.168.92.20)
2021-08-28 19:01:40 +0000Pickchea(~private@user/pickchea)
2021-08-28 19:03:25 +0000Jeanne-Kamikaze(~Jeanne-Ka@static-198-54-131-126.cust.tzulo.com) (Ping timeout: 252 seconds)
2021-08-28 19:11:49 +0000mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
2021-08-28 19:12:01 +0000martin02(~silas@141.84.69.76) (Ping timeout: 248 seconds)
2021-08-28 19:13:10 +0000kenran(~kenran@200116b82bc02700b5002519151f8c73.dip.versatel-1u1.de)
2021-08-28 19:14:27 +0000_xor(~xor@74.215.232.67) (Read error: Connection reset by peer)
2021-08-28 19:14:35 +0000pavonia(~user@user/siracusa)
2021-08-28 19:14:58 +0000_xor(~xor@74.215.232.67)
2021-08-28 19:15:14 +0000vysn(~vysn@user/vysn)
2021-08-28 19:15:49 +0000Guest9786(~chris@81.96.113.213) (Remote host closed the connection)
2021-08-28 19:15:55 +0000martin02(~silas@141.84.69.76)
2021-08-28 19:16:20 +0000neo2(~neo3@cpe-292712.ip.primehome.com) (Ping timeout: 250 seconds)
2021-08-28 19:16:29 +0000chris(~chris@81.96.113.213)
2021-08-28 19:16:33 +0000chrisGuest473
2021-08-28 19:21:01 +0000Guest473(~chris@81.96.113.213) (Ping timeout: 252 seconds)
2021-08-28 19:23:26 +0000chris(~chris@81.96.113.213)
2021-08-28 19:23:29 +0000chrisGuest1221
2021-08-28 19:24:43 +0000mastarija(~mastarija@78-3-210-70.adsl.net.t-com.hr)
2021-08-28 19:27:13 +0000 <mastarija> any idea how I might be able to escape this in haddock: `failIf [UnderAge] (<18)`? It interprets [UnderAge] (<18) as a markdown link syntax. I tried "escaping" the brackets, but then they render with backslashes (which isn't really escaping them).
2021-08-28 19:31:26 +0000 <hololeap> are you trying to put a code snippet in the doc?
2021-08-28 19:31:32 +0000acidjnk(~acidjnk@p200300d0c72b9531c50f6552fc7b880d.dip0.t-ipconnect.de)
2021-08-28 19:32:24 +0000 <hololeap> https://www.haskell.org/haddock/doc/html/ch03s08.html#idm140354810780208
2021-08-28 19:32:24 +0000 <hololeap> you wrap the code in "at signs" @
2021-08-28 19:32:24 +0000 <hololeap> it doesn't use the markdown syntax
2021-08-28 19:32:46 +0000 <mastarija> hololeap, I use @@ block, not inline
2021-08-28 19:32:57 +0000burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk)
2021-08-28 19:33:08 +0000 <mastarija> and it has that problem
2021-08-28 19:33:20 +0000Guest1221(~chris@81.96.113.213) (Remote host closed the connection)
2021-08-28 19:34:02 +0000chris(~chris@81.96.113.213)
2021-08-28 19:34:05 +0000chrisGuest7545
2021-08-28 19:35:18 +0000 <mastarija> I mean, it's the same if I do it inline as well.
2021-08-28 19:38:33 +0000Guest7545(~chris@81.96.113.213) (Ping timeout: 250 seconds)
2021-08-28 19:40:36 +0000azeem(~azeem@5.168.92.20) (Ping timeout: 250 seconds)
2021-08-28 19:40:52 +0000azeem(~azeem@5.168.92.20)
2021-08-28 19:42:40 +0000 <hololeap> can you post the actual line of code?
2021-08-28 19:43:50 +0000 <mastarija> Sure, just a sec
2021-08-28 19:43:53 +0000tput(~tim@S0106a84e3fe54613.ed.shawcable.net)
2021-08-28 19:44:11 +0000 <mastarija> hololeap, `ageV = 'adapt' unAge $ 'passIf' [AgeUnder] (>18) <> 'failIf' [AgeOver] (>65)`
2021-08-28 19:45:01 +0000 <hololeap> so are you using backticks or @ ?
2021-08-28 19:45:23 +0000 <mastarija> sorry, habit
2021-08-28 19:45:25 +0000 <mastarija> I use @
2021-08-28 19:45:44 +0000 <hololeap> can you post the actual line of code copied directly from your sorce?
2021-08-28 19:46:53 +0000 <hololeap> sorry, lines, since you said it was a block... you can use https://paste.tomsmeding.com
2021-08-28 19:47:30 +0000 <mastarija> hololeap, https://paste.tomsmeding.com/p9hVfre9
2021-08-28 19:49:43 +0000 <hololeap> maralorn: hm, try indenting the code block (not the @'s) by four spaces
2021-08-28 19:50:13 +0000 <hololeap> that's the way it's shown in the doc
2021-08-28 19:50:22 +0000 <mastarija> hololeap, nope doesn't work
2021-08-28 19:50:34 +0000wroathe(~wroathe@user/wroathe) (Ping timeout: 250 seconds)
2021-08-28 19:50:35 +0000 <maerwald> is there a optparse-applicative plugin that shows suggestions on mistyping flags/commands?
2021-08-28 19:50:54 +0000 <maerwald> foo --heeelp -- did you mean `--help`?
2021-08-28 19:51:03 +0000 <mastarija> It still renders as linked AgeOver instead of [AgeOver] (>65)
2021-08-28 19:51:18 +0000 <hololeap> mastarija: > Additionally, the character > has a special meaning at the beginning of a line, and the following characters have special meanings at the beginning of a paragraph: *, -. These characters can also be escaped using \.
2021-08-28 19:51:56 +0000 <hololeap> mastarija: try escaping the > in front of 18 like so: (\>18)@
2021-08-28 19:52:13 +0000 <hololeap> and also 64
2021-08-28 19:52:15 +0000 <hololeap> *65
2021-08-28 19:52:33 +0000hololeapmight be clutching at straws here
2021-08-28 19:52:53 +0000 <mastarija> I tried escaping [ with \[, but it just renders it as \[. Similarly, escaping > does nothing :(
2021-08-28 19:53:22 +0000gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-08-28 19:53:41 +0000 <hololeap> mastarija: you might have a typo if you meant <18 :p
2021-08-28 19:54:23 +0000 <mastarija> hololeap, `passIf`, not `failIf` :P
2021-08-28 19:54:55 +0000 <hololeap> oh, good point
2021-08-28 19:55:24 +0000 <mastarija> damn, this is annoying
2021-08-28 19:55:38 +0000 <mastarija> Almost done with all the documentation, and this is such pain in the ass
2021-08-28 19:55:46 +0000 <mastarija> And I have plenty of such examples
2021-08-28 19:56:16 +0000PinealGlandOptic(~PinealGla@37.115.210.35) (Quit: leaving)
2021-08-28 19:57:24 +0000 <hololeap> mastarija: can you identify which one of these you think it is erroneously parsing from your code block: https://www.haskell.org/haddock/doc/html/ch03s08.html#idm140354810770608
2021-08-28 19:57:27 +0000 <mastarija> hm.. I can use > to start a code line, but then I loose ability to link to my functions within the documentation
2021-08-28 19:57:37 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 250 seconds)
2021-08-28 19:57:56 +0000 <hololeap> it's hard to verify since I can't see the output
2021-08-28 19:59:11 +0000 <mastarija> It's not listed there, but it is a markdown link syntax. e.g. [Link text](https://linkurl.com)
2021-08-28 19:59:29 +0000dsrt^(~dsrt@12.16.129.111) (Ping timeout: 248 seconds)
2021-08-28 19:59:31 +0000 <mastarija> It's technically correct
2021-08-28 19:59:38 +0000Guest32(~Guest32@188.113.204.172)
2021-08-28 19:59:38 +0000 <mastarija> But I can't find a way to escape it
2021-08-28 19:59:47 +0000juhp_(~juhp@bb116-14-48-29.singnet.com.sg) (Ping timeout: 240 seconds)
2021-08-28 20:00:51 +0000dsrt^(~dsrt@12.16.129.111)
2021-08-28 20:01:07 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2021-08-28 20:02:35 +0000Guest32(~Guest32@188.113.204.172) (Quit: Client closed)
2021-08-28 20:03:44 +0000josh(~lordgrenv@141.226.14.154)
2021-08-28 20:04:08 +0000joshGuest8166
2021-08-28 20:06:03 +0000 <hololeap> mastarija: ok, I confirmed it
2021-08-28 20:06:21 +0000 <mastarija> I reported it in the meantime :D
2021-08-28 20:06:33 +0000 <hololeap> good idea
2021-08-28 20:06:39 +0000 <hololeap> because I don't see that documented
2021-08-28 20:06:51 +0000 <hololeap> and it shouldn't be happening inside a code block
2021-08-28 20:07:40 +0000APic(apic@apic.name)
2021-08-28 20:07:44 +0000 <mastarija> I've found a stackoverflow question where they confirmed it used to happen on GitHub as well, but they have added ability to escape [] later.
2021-08-28 20:08:02 +0000 <jiribenes> maerwald: AFAICT optparse-applicative already does this automatically when you're close enough
2021-08-28 20:08:07 +0000 <jiribenes> something like "edit distance at most two"
2021-08-28 20:08:57 +0000 <jiribenes> yeah, see here https://github.com/pcapriotti/optparse-applicative/blob/8edc41994984cbfdfc1ee960e4d4d112cfccbc11/s…
2021-08-28 20:10:00 +0000emliunix(~emliunix@61-216-165-205.hinet-ip.hinet.net) (Remote host closed the connection)
2021-08-28 20:10:18 +0000emliunix(~emliunix@61-216-165-205.HINET-IP.hinet.net)
2021-08-28 20:10:57 +0000fresheyeball(~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9)
2021-08-28 20:15:12 +0000tllp(~tllp@69.233.98.238)
2021-08-28 20:15:31 +0000 <maerwald> jiribenes: doesn't seem to work for subcommands
2021-08-28 20:19:46 +0000hololeap_(~hololeap@user/hololeap)
2021-08-28 20:20:25 +0000azeem(~azeem@5.168.92.20) (Ping timeout: 252 seconds)
2021-08-28 20:21:58 +0000azeem(~azeem@5.168.92.20)
2021-08-28 20:22:18 +0000hololeap(~hololeap@user/hololeap) (Ping timeout: 276 seconds)
2021-08-28 20:22:41 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Read error: Connection reset by peer)
2021-08-28 20:23:06 +0000hololeap_hololeap
2021-08-28 20:30:52 +0000burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-28 20:31:19 +0000burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk)
2021-08-28 20:35:40 +0000burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk) (Ping timeout: 240 seconds)
2021-08-28 20:41:42 +0000azeem(~azeem@5.168.92.20) (Ping timeout: 250 seconds)
2021-08-28 20:42:44 +0000azeem(~azeem@5.168.92.20)
2021-08-28 20:44:44 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-28 20:44:44 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-08-28 20:44:44 +0000wroathe(~wroathe@user/wroathe)
2021-08-28 20:47:06 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-28 20:47:56 +0000Pickchea(~private@user/pickchea) (Quit: Leaving)
2021-08-28 20:56:58 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2021-08-28 20:59:07 +0000wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2021-08-28 21:00:39 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Client Quit)
2021-08-28 21:00:43 +0000enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
2021-08-28 21:01:09 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2021-08-28 21:03:52 +0000Morrow_(~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 252 seconds)
2021-08-28 21:07:21 +0000_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-08-28 21:08:33 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:45ef:351a:e045:ed35) (Remote host closed the connection)
2021-08-28 21:11:29 +0000Sgeo(~Sgeo@user/sgeo)
2021-08-28 21:12:43 +0000wroathe(~wroathe@96-88-30-181-static.hfc.comcastbusiness.net)
2021-08-28 21:12:43 +0000wroathe(~wroathe@96-88-30-181-static.hfc.comcastbusiness.net) (Changing host)
2021-08-28 21:12:43 +0000wroathe(~wroathe@user/wroathe)
2021-08-28 21:12:46 +0000oxide(~lambda@user/oxide) (Quit: oxide)
2021-08-28 21:13:01 +0000favonia(~favonia@user/favonia) (Ping timeout: 250 seconds)
2021-08-28 21:17:21 +0000azeem(~azeem@5.168.92.20) (Ping timeout: 250 seconds)
2021-08-28 21:18:26 +0000azeem(~azeem@5.168.106.177)
2021-08-28 21:21:15 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
2021-08-28 21:21:28 +0000Guest8166(~lordgrenv@141.226.14.154) (Ping timeout: 252 seconds)
2021-08-28 21:24:30 +0000favonia(~favonia@user/favonia)
2021-08-28 21:24:35 +0000__monty__(~toonn@user/toonn) (Quit: leaving)
2021-08-28 21:26:48 +0000kimjetwav(~user@2607:fea8:235f:9730:4718:18aa:30c8:2ab8)
2021-08-28 21:28:21 +0000mnrmnaugh(~mnrmnaugh@68.162.206.56)
2021-08-28 21:29:01 +0000berberman_(~berberman@user/berberman)
2021-08-28 21:29:17 +0000berberman(~berberman@user/berberman) (Ping timeout: 252 seconds)
2021-08-28 21:29:58 +0000mnrmnaugh(~mnrmnaugh@68.162.206.56) ()
2021-08-28 21:38:09 +0000kenran(~kenran@200116b82bc02700b5002519151f8c73.dip.versatel-1u1.de) (Quit: WeeChat info:version)
2021-08-28 21:40:04 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:45ef:351a:e045:ed35)
2021-08-28 21:42:46 +0000minimario(~minimario@2603:900a:1600:ba00:f194:27a7:3a07:9cc5)
2021-08-28 21:43:44 +0000 <minimario> i'm trying to read the type families article on ghc, what exactly is this syntax: "data instance XList Char = XCons !Char !(XList Char) | XNil"
2021-08-28 21:44:08 +0000 <minimario> what's the significance of ~ and |
2021-08-28 21:44:11 +0000 <minimario> *!
2021-08-28 21:45:45 +0000 <minimario> i know it's kind of like list syntax, but what are the key differences here?
2021-08-28 21:46:10 +0000 <minimario> (article here for reference: https://wiki.haskell.org/GHC/Type_families)
2021-08-28 21:48:28 +0000 <mastarija> minimario, ~ is a type equality and | is just a separator for different value constructors
2021-08-28 21:48:39 +0000 <mastarija> Just like with regular data definitions
2021-08-28 21:48:40 +0000t3hyoshi(~snicf@2600:8804:1b96:4900:1472:5a94:c594:83ca) (Quit: Konversation terminated!)
2021-08-28 21:48:56 +0000 <minimario> sorry i meant !, not ~
2021-08-28 21:49:08 +0000 <mastarija> ! is strictness modifier
2021-08-28 21:49:10 +0000mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 240 seconds)
2021-08-28 21:49:14 +0000 <minimario> what does that mean
2021-08-28 21:49:43 +0000 <mastarija> in short, it says that XCon doesn't contain a pointer to a Char, but Char it self
2021-08-28 21:49:52 +0000 <mastarija> Not really, but you can think of it that way
2021-08-28 21:50:20 +0000 <mastarija> Although, neither of those things are related to the type families
2021-08-28 21:51:16 +0000Morrow_(~Morrow@bzq-110-168-31-106.red.bezeqint.net)
2021-08-28 21:52:10 +0000martin02(~silas@141.84.69.76) (Ping timeout: 240 seconds)
2021-08-28 21:53:37 +0000AlistairB(~AlistairB@121-200-5-212.79c805.syd.nbn.aussiebb.net)
2021-08-28 21:55:00 +0000 <yushyin> minimario: https://wiki.haskell.org/Performance/Data_types#Strict_fields
2021-08-28 21:56:47 +0000mastarija(~mastarija@78-3-210-70.adsl.net.t-com.hr) (Quit: Leaving)
2021-08-28 22:00:12 +0000fresheyeball(~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net)
2021-08-28 22:00:28 +0000 <fresheyeball> hey is there any reason why servant is treating status 401 as a success?
2021-08-28 22:02:48 +0000jrm(~jrm@156.34.187.65)
2021-08-28 22:03:24 +0000enab2(~a@p200300ef970830b945b8de8f8152bf35.dip0.t-ipconnect.de)
2021-08-28 22:04:27 +0000 <pavonia> fresheyeball: In what way is it treating it a success?
2021-08-28 22:05:38 +0000 <enab2> In ghci i did "x = [1, 2, 3]; seq x (); :sprint x". I expected to see "x = _:_" but it said "x = _". Why is x not evaluated to whnf?
2021-08-28 22:05:50 +0000martin02(~silas@141.84.69.76)
2021-08-28 22:06:08 +0000 <c_wraith> enab2: try x = [1, 2, 3] :: [Int]
2021-08-28 22:08:23 +0000dsrt^(~dsrt@12.16.129.111) (Remote host closed the connection)
2021-08-28 22:11:17 +0000 <enab2> c_wraith: x = [1, 2, 3] :: [Int]; :sprint x returns x = [1, 2, 3], fully evaluated. Without using seq or anything. Is this a ghci thing? Or a top-level special case?
2021-08-28 22:11:41 +0000 <c_wraith> enab2: neither. it's got to do with typeclasses being implemented as functions
2021-08-28 22:16:43 +0000 <c_wraith> enab2: if you have a typeclass-polymorphic value, it's implemented as a function that takes the class dictionary as a hidden argument that the compiler fills in. But it means that any evaluation isn't shared, because it's evaluation of the result of applying a function, not a value that's stored.
2021-08-28 22:17:34 +0000azeem(~azeem@5.168.106.177) (Ping timeout: 252 seconds)
2021-08-28 22:17:49 +0000azeem(~azeem@5.168.106.177)
2021-08-28 22:24:01 +0000azeem(~azeem@5.168.106.177) (Ping timeout: 248 seconds)
2021-08-28 22:24:16 +0000azeem(~azeem@5.168.106.177)
2021-08-28 22:24:28 +0000takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-08-28 22:25:58 +0000Jeanne-Kamikaze(~Jeanne-Ka@static-198-54-131-126.cust.tzulo.com)
2021-08-28 22:26:17 +0000jlamothe(~jlamothe@104.158.48.100) (Ping timeout: 245 seconds)
2021-08-28 22:31:06 +0000oxide(~lambda@user/oxide)
2021-08-28 22:32:25 +0000d0ku(~d0ku@178.43.56.75.ipv4.supernova.orange.pl) (Ping timeout: 252 seconds)
2021-08-28 22:34:40 +0000wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2021-08-28 22:36:12 +0000bitdex_(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds)
2021-08-28 22:38:25 +0000bitdex_(~bitdex@gateway/tor-sasl/bitdex)
2021-08-28 22:38:57 +0000minimario(~minimario@2603:900a:1600:ba00:f194:27a7:3a07:9cc5) (Ping timeout: 256 seconds)
2021-08-28 22:42:09 +0000fendor_(~fendor@178.165.164.244.wireless.dyn.drei.com) (Ping timeout: 248 seconds)
2021-08-28 22:43:50 +0000acidjnk_new(~acidjnk@p200300d0c72b95318d14906cff331aba.dip0.t-ipconnect.de)
2021-08-28 22:46:30 +0000 <enab2> c_wraith: I understand. If a function is typeclass polymorphic will this hidden argument be the first or the last argument of the function?
2021-08-28 22:46:49 +0000 <c_wraith> first. GHC actually compiles => as -> in core
2021-08-28 22:47:29 +0000acidjnk(~acidjnk@p200300d0c72b9531c50f6552fc7b880d.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2021-08-28 22:51:03 +0000haykam(~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
2021-08-28 22:51:17 +0000haykam(~haykam@static.100.2.21.65.clients.your-server.de)
2021-08-28 22:54:49 +0000enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
2021-08-28 22:58:12 +0000kimjetwav(~user@2607:fea8:235f:9730:4718:18aa:30c8:2ab8) (Ping timeout: 250 seconds)
2021-08-28 23:02:39 +0000qbt(~edun@user/edun) (Ping timeout: 250 seconds)
2021-08-28 23:03:21 +0000asthasr(~asthasr@162.210.28.151) (Remote host closed the connection)
2021-08-28 23:04:40 +0000asthasr(~asthasr@162.210.28.151)
2021-08-28 23:06:00 +0000hendi(sid489601@id-489601.tooting.irccloud.com) (Ping timeout: 250 seconds)
2021-08-28 23:06:21 +0000jtomas(~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) (Remote host closed the connection)
2021-08-28 23:11:12 +0000hendi(sid489601@tooting.irccloud.com)
2021-08-28 23:11:48 +0000Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-28 23:12:00 +0000Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-28 23:12:46 +0000d0ku(~d0ku@178.43.56.75.ipv4.supernova.orange.pl)
2021-08-28 23:14:01 +0000hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-08-28 23:15:52 +0000Gurkenglas(~Gurkengla@dslb-088-064-053-140.088.064.pools.vodafone-ip.de) (Ping timeout: 252 seconds)
2021-08-28 23:18:02 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-28 23:19:40 +0000idnar(sid12240@debian/mithrandi) (Ping timeout: 258 seconds)
2021-08-28 23:19:57 +0000yaroot(~yaroot@6.3.30.125.dy.iij4u.or.jp) (Quit: The Lounge - https://thelounge.chat)
2021-08-28 23:20:11 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-28 23:20:11 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-08-28 23:20:11 +0000wroathe(~wroathe@user/wroathe)
2021-08-28 23:20:34 +0000 <janus> if you have multiple constraints, will there be multiple dictionaries? or one for the whole combination?
2021-08-28 23:21:25 +0000lavaman(~lavaman@98.38.249.169)
2021-08-28 23:21:53 +0000idnar(sid12240@debian/mithrandi)
2021-08-28 23:23:50 +0000 <janus> i always imagined there would be one dictionary per instance chosen, but there can be only one =>. so are the dictionaries put in a tuple?
2021-08-28 23:24:38 +0000hendi(sid489601@tooting.irccloud.com) (Ping timeout: 250 seconds)
2021-08-28 23:25:04 +0000Pent(sid313808@id-313808.tooting.irccloud.com) (Ping timeout: 250 seconds)
2021-08-28 23:25:20 +0000 <geekosaur> actually there can be more than one => (there's not supposed to be, it's a side effect of how ghc implements it)
2021-08-28 23:25:27 +0000lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2021-08-28 23:26:22 +0000d0ku(~d0ku@178.43.56.75.ipv4.supernova.orange.pl) (Ping timeout: 250 seconds)
2021-08-28 23:26:23 +0000 <hpc> higher-ranked types can have more (=>) without being weird
2021-08-28 23:27:32 +0000zebrag(~chris@user/zebrag)
2021-08-28 23:28:05 +0000Pent(sid313808@tooting.irccloud.com)
2021-08-28 23:28:09 +0000hendi(sid489601@tooting.irccloud.com)
2021-08-28 23:28:13 +0000 <janus> hpc: oh, do you know of an example? it's hard to hoogle or google
2021-08-28 23:29:31 +0000acidjnk_new(~acidjnk@p200300d0c72b95318d14906cff331aba.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2021-08-28 23:32:04 +0000 <monochrom> execute :: MonadIO m => (forall n. MyMonadClass n => n a) -> m a
2021-08-28 23:32:27 +0000 <hpc> foo :: IsString s => (forall s' a. (Show a, IsString s') => a -> s') -> s
2021-08-28 23:32:42 +0000 <hpc> foo f = (f "this", f 5)
2021-08-28 23:32:46 +0000 <hpc> or something along those lines
2021-08-28 23:32:50 +0000 <hpc> too lazy to ghci :P
2021-08-28 23:35:35 +0000enab2(~a@p200300ef970830b945b8de8f8152bf35.dip0.t-ipconnect.de) (Quit: WeeChat 3.0.1)
2021-08-28 23:37:40 +0000tllp(~tllp@69.233.98.238) (Quit: nyaa~)
2021-08-28 23:38:04 +0000Adeon(sid418992@id-418992.tooting.irccloud.com) (Ping timeout: 250 seconds)
2021-08-28 23:38:41 +0000NemesisD(sid24071@tooting.irccloud.com) (Ping timeout: 248 seconds)
2021-08-28 23:39:05 +0000vysn(~vysn@user/vysn) (Remote host closed the connection)
2021-08-28 23:39:07 +0000idnar(sid12240@debian/mithrandi) (Ping timeout: 240 seconds)
2021-08-28 23:39:22 +0000dajoer(~david@user/gvx)
2021-08-28 23:39:31 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
2021-08-28 23:40:49 +0000Pent(sid313808@tooting.irccloud.com) (Ping timeout: 248 seconds)
2021-08-28 23:40:57 +0000Guest|50(~Guest|50@cpe-94-253-166-65.zg.cable.xnet.hr)
2021-08-28 23:41:53 +0000NemesisD(sid24071@tooting.irccloud.com)
2021-08-28 23:42:32 +0000Adeon(sid418992@tooting.irccloud.com)
2021-08-28 23:42:37 +0000enemeth79(sid309041@tooting.irccloud.com) (Ping timeout: 245 seconds)
2021-08-28 23:42:44 +0000idnar(sid12240@debian/mithrandi)
2021-08-28 23:43:42 +0000hsiktas(sid224847@id-224847.tooting.irccloud.com) (Ping timeout: 250 seconds)
2021-08-28 23:44:18 +0000Pent(sid313808@tooting.irccloud.com)
2021-08-28 23:44:30 +0000Guest|50(~Guest|50@cpe-94-253-166-65.zg.cable.xnet.hr) (Client Quit)
2021-08-28 23:44:56 +0000yaroot(~yaroot@6.3.30.125.dy.iij4u.or.jp)
2021-08-28 23:45:07 +0000martin02(~silas@141.84.69.76) (Ping timeout: 240 seconds)
2021-08-28 23:45:07 +0000enemeth79(sid309041@tooting.irccloud.com)
2021-08-28 23:47:07 +0000integral(sid296274@user/integral) (Ping timeout: 240 seconds)
2021-08-28 23:48:02 +0000integral(sid296274@user/integral)
2021-08-28 23:48:02 +0000nrr(sid20938@id-20938.tooting.irccloud.com) (Ping timeout: 250 seconds)
2021-08-28 23:48:39 +0000hsiktas(sid224847@tooting.irccloud.com)
2021-08-28 23:49:53 +0000azeem(~azeem@5.168.106.177) (Ping timeout: 248 seconds)
2021-08-28 23:49:53 +0000hsiktas(sid224847@tooting.irccloud.com) (Max SendQ exceeded)
2021-08-28 23:52:03 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
2021-08-28 23:52:46 +0000hsiktas(sid224847@tooting.irccloud.com)
2021-08-28 23:55:07 +0000nrr(sid20938@tooting.irccloud.com)
2021-08-28 23:55:25 +0000haykam(~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
2021-08-28 23:55:27 +0000Jeanne-Kamikaze(~Jeanne-Ka@static-198-54-131-126.cust.tzulo.com) (Quit: Leaving)
2021-08-28 23:55:31 +0000hendi(sid489601@tooting.irccloud.com) (Ping timeout: 250 seconds)
2021-08-28 23:55:38 +0000haykam(~haykam@static.100.2.21.65.clients.your-server.de)
2021-08-28 23:57:58 +0000hendi(sid489601@id-489601.tooting.irccloud.com)
2021-08-28 23:59:45 +0000azeem(~azeem@5.168.114.19)