2022/11/16

2022-11-16 00:01:06 +0100 <int-e> yes, lazy black-holing is related... but conflicts with what you want for SMP
2022-11-16 00:01:35 +0100 <dolio> Sure.
2022-11-16 00:02:26 +0100segfaultfizzbuzz(~segfaultf@12.172.217.142) (Ping timeout: 268 seconds)
2022-11-16 00:02:32 +0100mmhat(~mmh@p200300f1c7050c1bee086bfffe095315.dip0.t-ipconnect.de)
2022-11-16 00:03:09 +0100segfaultfizzbuzz(~segfaultf@12.172.217.142)
2022-11-16 00:05:23 +0100Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt https://tinyurl.com/4m8d4kd5)
2022-11-16 00:07:22 +0100machinedgod(~machinedg@clnet-b05-118.ikbnet.co.at) (Ping timeout: 268 seconds)
2022-11-16 00:09:39 +0100segfaultfizzbuzz(~segfaultf@12.172.217.142) (Ping timeout: 260 seconds)
2022-11-16 00:10:32 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-11-16 00:11:21 +0100johnw(~johnw@2600:1700:cf00:db0:99a3:483a:651:9bf1) (Quit: ZNC - http://znc.in)
2022-11-16 00:15:17 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-11-16 00:17:51 +0100vglfr(~vglfr@145.224.100.100) (Ping timeout: 268 seconds)
2022-11-16 00:22:17 +0100freeside(~mengwong@bb115-66-48-84.singnet.com.sg)
2022-11-16 00:31:39 +0100johnw(~johnw@2600:1700:cf00:db0:6d6a:a571:6c8a:51fc)
2022-11-16 00:36:01 +0100use-value(~Thunderbi@2a00:23c6:8a03:2f01:d5b6:b99f:4049:77a7) (Remote host closed the connection)
2022-11-16 00:36:20 +0100use-value(~Thunderbi@2a00:23c6:8a03:2f01:d5b6:b99f:4049:77a7)
2022-11-16 00:39:10 +0100fockerize(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds)
2022-11-16 00:39:40 +0100cheater(~Username@user/cheater) (Read error: Connection reset by peer)
2022-11-16 00:42:34 +0100Guest75(~Guest75@178.141.177.81) (Quit: Client closed)
2022-11-16 00:44:37 +0100segfaultfizzbuzz(~segfaultf@12.172.217.142)
2022-11-16 00:44:40 +0100segfaultfizzbuzz(~segfaultf@12.172.217.142) (Remote host closed the connection)
2022-11-16 00:45:36 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
2022-11-16 00:51:38 +0100mixfix41(~sdeny9ee@user/mixfix41)
2022-11-16 00:54:11 +0100stiell(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 255 seconds)
2022-11-16 00:54:23 +0100causal(~user@50.35.83.177) (Quit: WeeChat 3.7.1)
2022-11-16 00:54:30 +0100CiaoSen(~Jura@p200300c95701f1002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-11-16 00:55:00 +0100stiell(~stiell@gateway/tor-sasl/stiell)
2022-11-16 00:56:54 +0100mixfix41(~sdeny9ee@user/mixfix41) (Ping timeout: 260 seconds)
2022-11-16 00:57:57 +0100slac39565(~slack1256@191.126.227.195)
2022-11-16 00:58:52 +0100mixfix41(~sdeny9ee@user/mixfix41)
2022-11-16 01:00:24 +0100slack1256(~slack1256@186.11.56.146) (Ping timeout: 268 seconds)
2022-11-16 01:03:50 +0100 <energizer> why does haskell use ++ for concatenation?
2022-11-16 01:03:57 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-11-16 01:04:16 +0100 <energizer> instead of another symbol
2022-11-16 01:04:48 +0100 <monochrom> Other FP people were already using it.
2022-11-16 01:04:51 +0100 <Axman6> what symbol should it use? that's a pretty odd question
2022-11-16 01:05:08 +0100 <energizer> monochrom: in what context?
2022-11-16 01:05:16 +0100 <energizer> Axman6: there are a lot of symbols out there, why that one
2022-11-16 01:05:27 +0100 <Rembane> <> is also used for concatenation
2022-11-16 01:05:36 +0100 <hpc> > length ['\0'..]
2022-11-16 01:05:38 +0100 <lambdabot> 1114112
2022-11-16 01:06:16 +0100 <hpc> eventually you just have to pick something
2022-11-16 01:06:27 +0100 <Axman6> energizer: why not?
2022-11-16 01:06:30 +0100 <hpc> why (>>=) either?
2022-11-16 01:06:38 +0100mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in)
2022-11-16 01:06:41 +0100 <hpc> or (**) for exponentiation when it could be (^)
2022-11-16 01:06:48 +0100 <energizer> Axman6: + is commutative, concatenation isn't
2022-11-16 01:07:03 +0100 <Axman6> that's why we don't use (+)
2022-11-16 01:07:42 +0100 <EvanR> concat isn't commutative, but we use a symmetric symbol anyway, why xD
2022-11-16 01:07:49 +0100 <money> Face
2022-11-16 01:08:16 +0100mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
2022-11-16 01:08:17 +0100 <hpc> EvanR: that's why i always use subtract instead of (-)
2022-11-16 01:08:27 +0100 <monochrom> In some FP languages before Haskell, and in theoretical papers.
2022-11-16 01:08:53 +0100 <Axman6> why do y we use + for addition? or / for division? or any symbol for anything?
2022-11-16 01:08:55 +0100 <monochrom> You come across as refusing to believe it.
2022-11-16 01:09:09 +0100 <Axman6> At least we're not using @@ like OCaml
2022-11-16 01:09:16 +0100 <EvanR> or as I was told by a wrong school mate many years ago, subtraction is commutative too, you just don't know how yet
2022-11-16 01:09:43 +0100freeside(~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 260 seconds)
2022-11-16 01:10:01 +0100 <energizer> monochrom: if the answer is "because that's how miranda did it" that's fine, but then i'll ask why did miranda
2022-11-16 01:10:06 +0100 <hpc> subtraction is commutative, it's just addition with one of the arguments different :P
2022-11-16 01:11:01 +0100 <EvanR> on the subject of + and @, a few days ago I was wondering about a programming languages where every ascii symbol was used for something that was obvious from outside programming. + does addition only, $ does money only, @ does email only, haha xD
2022-11-16 01:11:20 +0100 <EvanR> % means percent
2022-11-16 01:11:21 +0100 <yahb2> <interactive>:58:1: error: Variable not in scope: means :: t0 -> t ; ; <interactive>:58:7: error: Variable not in scope: percent
2022-11-16 01:11:31 +0100 <EvanR> see, we're ridiculous
2022-11-16 01:11:34 +0100 <hpc> energizer: eventually you have to ask why punch cards were 80 characters wide too
2022-11-16 01:11:42 +0100 <hpc> sometimes people just make decisions about things
2022-11-16 01:11:54 +0100 <Rembane> In APL they tried to use the most intuitive character for each operation, it's not clear if they succeeded, but they really tried.
2022-11-16 01:12:38 +0100 <energizer> hpc: i heard a story that it's because they'd fit in the US dollar containers they had at the Treasury office across the street or something like that
2022-11-16 01:12:41 +0100 <geekosaur> EvanR, sounds like some horrendous cross between (COBOL, Unison, etc.) and PL/I
2022-11-16 01:12:52 +0100 <energizer> hpc: but i remember that being debunked
2022-11-16 01:12:59 +0100 <geekosaur> they made 96 column punch cards
2022-11-16 01:13:50 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 240 seconds)
2022-11-16 01:14:33 +0100 <hpc> geekosaur: that was actually just 8 punch cards turned sideways :P
2022-11-16 01:15:18 +0100 <energizer> Rembane: certainly APL did a good job for a bunch of them. ⌈ ceil ⌊ floor ∣ absolute value ⌽ flip over vertical axis ⊖ flip over horizontal axis ⍉ flip over diagonal axis
2022-11-16 01:16:02 +0100 <geekosaur> intuitive for whom, though
2022-11-16 01:16:37 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-11-16 01:16:46 +0100KaipeiKaiepi
2022-11-16 01:16:47 +0100 <energizer> geekosaur: i claim ⌽ ⊖ ⍉ are intuitive for everybody
2022-11-16 01:17:03 +0100king_gs(~Thunderbi@2806:103e:29:bfeb:c988:bbd5:2586:4924)
2022-11-16 01:17:11 +0100 <Rembane> energizer: Indeed. :)
2022-11-16 01:17:15 +0100 <geekosaur> ι though
2022-11-16 01:17:26 +0100 <Rembane> geekosaur: They are incredibly intuitive for those who know them.
2022-11-16 01:17:31 +0100 <hpc> ⌽ could be the power off button
2022-11-16 01:18:46 +0100kenaryn(~aurele@cre71-h03-89-88-44-27.dsl.sta.abo.bbox.fr) (Quit: leaving)
2022-11-16 01:23:30 +0100acidjnk(~acidjnk@p200300d6e7137a17b1807064f1abc0ef.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-11-16 01:28:43 +0100freeside(~mengwong@bb115-66-48-84.singnet.com.sg)
2022-11-16 01:32:09 +0100Inst(~Inst@2601:6c4:4081:54f0:155b:1b8c:fa18:504e) (Leaving)
2022-11-16 01:32:29 +0100Inst(~Liam@c-98-208-218-119.hsd1.fl.comcast.net)
2022-11-16 01:34:02 +0100 <EvanR> the egyptians invented a horizontal line to mean fraction, I'm glad they figured that one out early
2022-11-16 01:34:23 +0100Inst(~Liam@c-98-208-218-119.hsd1.fl.comcast.net) (Killed (NickServ (GHOST command used by sakura!~Inst@2601:6c4:4081:54f0:155b:1b8c:fa18:504e)))
2022-11-16 01:34:25 +0100Tuplanolla(~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) (Quit: Leaving.)
2022-11-16 01:34:32 +0100 <EvanR> but it does render ⊖ confusing
2022-11-16 01:34:36 +0100Inst(~Inst@2601:6c4:4081:54f0:155b:1b8c:fa18:504e)
2022-11-16 01:35:11 +0100 <EvanR> and thanks to that story about APL <|> will be confusing from now on
2022-11-16 01:35:33 +0100 <EvanR> another very unsymmetric operation with a symmetric symbol
2022-11-16 01:36:17 +0100 <EvanR> at least foldl and foldr aren't literally symmetric
2022-11-16 01:36:24 +0100 <Inst> @hpc
2022-11-16 01:36:24 +0100 <lambdabot> Maybe you meant: src rc pl ghc
2022-11-16 01:36:27 +0100 <Inst> pred is better ;)
2022-11-16 01:38:47 +0100king_gs(~Thunderbi@2806:103e:29:bfeb:c988:bbd5:2586:4924) (Remote host closed the connection)
2022-11-16 01:39:06 +0100king_gs(~Thunderbi@2806:103e:29:bfeb:c988:bbd5:2586:4924)
2022-11-16 01:40:30 +0100slac39565(~slack1256@191.126.227.195) (Read error: Connection reset by peer)
2022-11-16 01:40:37 +0100slack1256(~slack1256@186.11.58.146)
2022-11-16 01:40:53 +0100 <monochrom> ⌽ could be power off, ⊖ could be power on, and ⍉ could be both (when there is only one button) >:)
2022-11-16 01:43:33 +0100sgarcia(sgarcia@swarm.znchost.com)
2022-11-16 01:46:15 +0100 <EvanR> 0V, 5V and 3.3V
2022-11-16 01:46:35 +0100 <EvanR> and FILE NOT FOUND
2022-11-16 01:46:40 +0100 <Rembane> The turbo button is important
2022-11-16 01:47:31 +0100 <int-e> EvanR: don't forget open, and weak low (0V), weak high (whatever your nominal signal voltage is)
2022-11-16 01:48:43 +0100 <int-e> (AIUI the weak outputs can put signal on low speed buses that can be overridden by other strong signals)
2022-11-16 01:53:27 +0100Lycurgus(~juan@user/Lycurgus)
2022-11-16 01:57:37 +0100Lycurgus(~juan@user/Lycurgus) (Read error: Connection reset by peer)
2022-11-16 02:03:27 +0100 <monochrom> "9-value logic" was what I heard for very serious digital circuits from IEEE. :)
2022-11-16 02:03:32 +0100califax(~califax@user/califx) (Remote host closed the connection)
2022-11-16 02:03:46 +0100 <monochrom> (I ran out of time, so I didn't investigate.)
2022-11-16 02:04:34 +0100 <EvanR> sounds like an april fools on the level of UTF-9
2022-11-16 02:04:50 +0100xff0x(~xff0x@2405:6580:b080:900:3e39:3b08:3cd:f770) (Ping timeout: 240 seconds)
2022-11-16 02:05:32 +0100califax(~califax@user/califx)
2022-11-16 02:06:44 +0100 <davean> monochrom: you mean https://en.wikipedia.org/wiki/IEEE_1164 ?
2022-11-16 02:07:33 +0100 <monochrom> I think yes! But it has been more than a decade.
2022-11-16 02:07:58 +0100stef204(~stef204@user/stef204) (Quit: WeeChat 3.7.1)
2022-11-16 02:08:20 +0100lottaquestions(~nick@2607:fa49:503e:7100:bded:99b3:7299:5ee6)
2022-11-16 02:10:20 +0100mei(~mei@user/mei) (Remote host closed the connection)
2022-11-16 02:11:04 +0100mei(~mei@user/mei)
2022-11-16 02:20:34 +0100evanvarvell(~evanvarve@097-088-181-216.res.spectrum.com)
2022-11-16 02:20:34 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
2022-11-16 02:21:19 +0100slac73842(~slack1256@191.126.227.195)
2022-11-16 02:23:10 +0100slack1256(~slack1256@186.11.58.146) (Ping timeout: 240 seconds)
2022-11-16 02:24:24 +0100troydm(~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 260 seconds)
2022-11-16 02:33:09 +0100freeside(~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 260 seconds)
2022-11-16 02:41:01 +0100ddellacosta(~ddellacos@89.45.224.46)
2022-11-16 02:41:11 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-11-16 02:42:11 +0100werneta(~werneta@137.78.30.207) (Ping timeout: 256 seconds)
2022-11-16 02:46:04 +0100slac73842(~slack1256@191.126.227.195) (Remote host closed the connection)
2022-11-16 02:48:28 +0100DDR(~DDR@2604:3d08:4c7f:8250:f6df:a2b:941d:3e56)
2022-11-16 02:49:51 +0100xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2022-11-16 02:50:10 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:ac76:5dba:fbad:434b)
2022-11-16 02:50:47 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
2022-11-16 02:54:30 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:ac76:5dba:fbad:434b) (Ping timeout: 240 seconds)
2022-11-16 02:56:16 +0100srz(~srz@181.84.183.212)
2022-11-16 02:57:14 +0100thyriaen(~thyriaen@2a01:aea0:dd4:470d:6245:cbff:fe9f:48b1) (Remote host closed the connection)
2022-11-16 02:59:15 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-11-16 02:59:21 +0100finsternis(~X@23.226.237.192) (Read error: Connection reset by peer)
2022-11-16 03:01:12 +0100freeside(~mengwong@bb115-66-48-84.singnet.com.sg)
2022-11-16 03:04:51 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-11-16 03:10:32 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds)
2022-11-16 03:16:43 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-11-16 03:25:34 +0100Lycurgus(~juan@user/Lycurgus)
2022-11-16 03:29:35 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius) (Quit: free())
2022-11-16 03:30:38 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-11-16 03:34:14 +0100perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 3.7.1)
2022-11-16 03:36:14 +0100perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca)
2022-11-16 03:37:11 +0100beteigeuze(~Thunderbi@bl14-81-220.dsl.telepac.pt) (Ping timeout: 260 seconds)
2022-11-16 03:38:30 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius)
2022-11-16 03:39:55 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius) (Max SendQ exceeded)
2022-11-16 03:40:52 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2022-11-16 03:42:20 +0100Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt https://tinyurl.com/4m8d4kd5)
2022-11-16 03:49:13 +0100justsomeguy(~justsomeg@user/justsomeguy)
2022-11-16 03:57:35 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius)
2022-11-16 04:02:12 +0100foul_owl(~kerry@23.82.194.108) (Ping timeout: 248 seconds)
2022-11-16 04:04:16 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds)
2022-11-16 04:07:00 +0100jespada(~jespada@82.36.38.229) (Ping timeout: 248 seconds)
2022-11-16 04:10:20 +0100td_(~td@83.135.9.38) (Ping timeout: 268 seconds)
2022-11-16 04:10:35 +0100freeside(~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 256 seconds)
2022-11-16 04:10:58 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 268 seconds)
2022-11-16 04:11:30 +0100td_(~td@83.135.9.43)
2022-11-16 04:11:46 +0100jespada(~jespada@nmal-24-b2-v4wan-166357-cust1764.vm24.cable.virginm.net)
2022-11-16 04:12:40 +0100srz(~srz@181.84.183.212) (Remote host closed the connection)
2022-11-16 04:14:30 +0100JimL(~quassel@89-162-2-132.fiber.signal.no) (Ping timeout: 252 seconds)
2022-11-16 04:16:02 +0100foul_owl(~kerry@174-21-75-230.tukw.qwest.net)
2022-11-16 04:16:50 +0100marc___(~marc@5.83.191.221)
2022-11-16 04:17:47 +0100youziqi(~youziqi@103.37.140.93) (Ping timeout: 260 seconds)
2022-11-16 04:18:36 +0100jero98772(~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection)
2022-11-16 04:19:50 +0100marc__(~marc@5.83.191.99) (Ping timeout: 240 seconds)
2022-11-16 04:20:55 +0100eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2022-11-16 04:21:05 +0100youziqi(~youziqi@103.37.140.91)
2022-11-16 04:23:05 +0100razetime(~quassel@117.193.2.3)
2022-11-16 04:23:32 +0100sh1n(~sh1n@186.152.126.112) (Remote host closed the connection)
2022-11-16 04:25:15 +0100mixfix41(~sdeny9ee@user/mixfix41) (Ping timeout: 260 seconds)
2022-11-16 04:33:32 +0100king_gs(~Thunderbi@2806:103e:29:bfeb:c988:bbd5:2586:4924) (Read error: Connection reset by peer)
2022-11-16 04:33:48 +0100king_gs(~Thunderbi@187.201.139.206)
2022-11-16 04:38:31 +0100freeside(~mengwong@bb115-66-48-84.singnet.com.sg)
2022-11-16 04:41:33 +0100 <zzz> ?pl uncurry f <$> zipWith a b
2022-11-16 04:41:33 +0100 <lambdabot> uncurry f <$> zipWith a b
2022-11-16 04:41:53 +0100 <zzz> ?pl uncurry f <$> zip a b
2022-11-16 04:41:54 +0100 <lambdabot> uncurry f <$> zip a b
2022-11-16 04:42:51 +0100 <zzz> wasn't there a lambdabot thing for turning for example this into `zipWIth f a b`
2022-11-16 04:44:10 +0100justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 240 seconds)
2022-11-16 04:46:53 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2022-11-16 04:46:53 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2022-11-16 04:46:53 +0100wroathe(~wroathe@user/wroathe)
2022-11-16 04:47:17 +0100finn_elija(~finn_elij@user/finn-elija/x-0085643)
2022-11-16 04:47:17 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-11-16 04:47:17 +0100finn_elijaFinnElija
2022-11-16 04:47:51 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-11-16 04:47:55 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2022-11-16 04:50:09 +0100 <int-e> @pl map (uncurry f) (zip a b)
2022-11-16 04:50:09 +0100 <lambdabot> zipWith f a b
2022-11-16 04:50:22 +0100 <int-e> @pl fmap (uncurry f) (zip a b)
2022-11-16 04:50:22 +0100 <lambdabot> fmap (uncurry f) (zip a b)
2022-11-16 04:51:24 +0100vglfr(~vglfr@145.224.100.22)
2022-11-16 04:52:26 +0100 <int-e> @pl fmap f . fmap g
2022-11-16 04:52:26 +0100 <lambdabot> fmap (f . g)
2022-11-16 04:52:31 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds)
2022-11-16 04:52:53 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
2022-11-16 04:53:19 +0100 <int-e> Eh, @pl has a bunch of ad-hoc simplification rules. It also predates Applicative, so it wouldn't know about the <$> notation.
2022-11-16 04:58:23 +0100Kaiepi(~Kaiepi@108.175.84.104) (Ping timeout: 260 seconds)
2022-11-16 04:58:51 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 260 seconds)
2022-11-16 05:00:44 +0100Sauvin(~sauvin@user/Sauvin) (Ping timeout: 260 seconds)
2022-11-16 05:02:46 +0100 <Axman6> feels like more of an hlint rule than a pointfree thing
2022-11-16 05:04:13 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2022-11-16 05:05:18 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2022-11-16 05:06:27 +0100Sauvin(~sauvin@user/Sauvin)
2022-11-16 05:06:43 +0100fjmorazan(~quassel@user/fjmorazan) ()
2022-11-16 05:07:23 +0100fjmorazan(~quassel@user/fjmorazan)
2022-11-16 05:08:03 +0100 <int-e> Axman6: are you saying that improving the output of @pl is a pointless exercise...
2022-11-16 05:22:30 +0100king_gs(~Thunderbi@187.201.139.206) (Read error: Connection reset by peer)
2022-11-16 05:33:31 +0100 <monochrom> haha
2022-11-16 05:33:52 +0100mmhat(~mmh@p200300f1c7050c1bee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.7.1)
2022-11-16 05:36:45 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-11-16 05:37:49 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-11-16 05:44:04 +0100freeside(~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 268 seconds)
2022-11-16 05:49:42 +0100monochrom(trebla@216.138.220.146) (Quit: NO CARRIER)
2022-11-16 05:50:14 +0100ddellacosta(~ddellacos@89.45.224.46) (Ping timeout: 268 seconds)
2022-11-16 05:50:54 +0100waleee(~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 260 seconds)
2022-11-16 05:54:04 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2022-11-16 05:54:25 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2022-11-16 05:54:36 +0100freeside(~mengwong@bb115-66-48-84.singnet.com.sg)
2022-11-16 05:58:22 +0100troydm(~troydm@host-176-37-124-197.b025.la.net.ua)
2022-11-16 05:58:50 +0100freeside(~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 240 seconds)
2022-11-16 05:58:51 +0100monochrom(trebla@216.138.220.146)
2022-11-16 06:01:16 +0100 <zzz> i knew it
2022-11-16 06:04:29 +0100biberu(~biberu@user/biberu) (Read error: Connection reset by peer)
2022-11-16 06:08:23 +0100biberu(~biberu@user/biberu)
2022-11-16 06:08:24 +0100Vajb(~Vajb@2001:999:504:3ad6:52a4:a3b5:32d8:e74d) (Read error: Connection reset by peer)
2022-11-16 06:08:34 +0100Vajb(~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi)
2022-11-16 06:09:01 +0100johnw(~johnw@2600:1700:cf00:db0:6d6a:a571:6c8a:51fc) (Quit: ZNC - http://znc.in)
2022-11-16 06:10:10 +0100freeside(~mengwong@bb115-66-48-84.singnet.com.sg)
2022-11-16 06:12:03 +0100evanvarvell(~evanvarve@097-088-181-216.res.spectrum.com) (Quit: Leaving)
2022-11-16 06:13:25 +0100zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2022-11-16 06:17:07 +0100zaquest(~notzaques@5.130.79.72)
2022-11-16 06:19:15 +0100chromoblob(~user@37.113.164.122)
2022-11-16 06:23:47 +0100chromoblob(~user@37.113.164.122) (Ping timeout: 260 seconds)
2022-11-16 06:30:08 +0100InstX1(~Liam@c-98-208-218-119.hsd1.fl.comcast.net)
2022-11-16 06:30:34 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2022-11-16 06:30:56 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds)
2022-11-16 06:31:52 +0100Lord_of_Life_Lord_of_Life
2022-11-16 06:34:31 +0100InstX1(~Liam@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 256 seconds)
2022-11-16 06:35:15 +0100Vajb(~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) (Ping timeout: 268 seconds)
2022-11-16 06:35:27 +0100Vajb(~Vajb@2001:999:504:3ad6:52a4:a3b5:32d8:e74d)
2022-11-16 06:39:48 +0100phma(~phma@2001:5b0:215d:9748:5bc9:473d:a4cc:a159) (Read error: Connection reset by peer)
2022-11-16 06:40:15 +0100phma(~phma@host-67-44-208-21.hnremote.net)
2022-11-16 06:44:10 +0100sammelweis(~quassel@c-68-48-18-140.hsd1.mi.comcast.net) (Ping timeout: 240 seconds)
2022-11-16 06:44:30 +0100foul_owl(~kerry@174-21-75-230.tukw.qwest.net) (Ping timeout: 240 seconds)
2022-11-16 06:49:09 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-11-16 06:53:13 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-11-16 07:00:04 +0100foul_owl(~kerry@23.82.194.107)
2022-11-16 07:02:51 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 256 seconds)
2022-11-16 07:11:07 +0100bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2022-11-16 07:16:37 +0100king_gs(~Thunderbi@187.201.139.206)
2022-11-16 07:19:02 +0100Xeroine(~Xeroine@user/xeroine) (Ping timeout: 268 seconds)
2022-11-16 07:22:29 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds)
2022-11-16 07:24:17 +0100Xeroine(~Xeroine@user/xeroine)
2022-11-16 07:29:10 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-11-16 07:29:53 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-11-16 07:32:06 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2022-11-16 07:35:34 +0100kenran(~user@user/kenran)
2022-11-16 07:37:03 +0100DDR(~DDR@2604:3d08:4c7f:8250:f6df:a2b:941d:3e56) (Ping timeout: 260 seconds)
2022-11-16 07:54:00 +0100echoreply(~echoreply@2001:19f0:9002:1f3b:5400:ff:fe6f:8b8d) (Quit: WeeChat 2.8)
2022-11-16 07:54:29 +0100echoreply(~echoreply@45.32.163.16)
2022-11-16 07:55:35 +0100Kaiepi(~Kaiepi@108.175.84.104)
2022-11-16 08:02:53 +0100vglfr(~vglfr@145.224.100.22) (Read error: Connection reset by peer)
2022-11-16 08:03:48 +0100vglfr(~vglfr@145.224.100.22)
2022-11-16 08:19:06 +0100bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2022-11-16 08:20:40 +0100machinedgod(~machinedg@clnet-p10-126.ikbnet.co.at)
2022-11-16 08:21:03 +0100vglfr(~vglfr@145.224.100.22) (Ping timeout: 256 seconds)
2022-11-16 08:24:19 +0100 <Inst> ummm, i'm getting a really weird bug now
2022-11-16 08:24:44 +0100 <Inst> something seems to be wrong with generateM
2022-11-16 08:25:02 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-11-16 08:29:50 +0100 <Inst> ah, i see what's going on, generate creates a traverse
2022-11-16 08:30:46 +0100sa(sid1055@2a03:5180:f::41f) (Read error: Software caused connection abort)
2022-11-16 08:31:06 +0100sa(sid1055@id-1055.tinside.irccloud.com)
2022-11-16 08:36:47 +0100ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 255 seconds)
2022-11-16 08:37:58 +0100troydm(~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 268 seconds)
2022-11-16 08:37:59 +0100eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-11-16 08:38:50 +0100ec(~ec@gateway/tor-sasl/ec)
2022-11-16 08:40:36 +0100sunarch(sid526836@user/sunarch) (Read error: Software caused connection abort)
2022-11-16 08:41:02 +0100sunarch(sid526836@user/sunarch)
2022-11-16 08:44:34 +0100akegalj(~akegalj@93-142-168-177.adsl.net.t-com.hr)
2022-11-16 08:45:30 +0100mastarija(~mastarija@2a05:4f46:e03:6000:bd1:38d3:bfb:8169)
2022-11-16 08:45:54 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds)
2022-11-16 08:46:07 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2022-11-16 08:46:56 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:2667:3554:7507:27aa)
2022-11-16 08:48:00 +0100vglfr(~vglfr@145.224.100.22)
2022-11-16 08:49:51 +0100fockerize(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-11-16 08:51:49 +0100discuss9128(~discuss91@bb119-74-93-26.singnet.com.sg)
2022-11-16 08:52:43 +0100michalz(~michalz@185.246.207.197)
2022-11-16 08:55:29 +0100king_gs1(~Thunderbi@2806:103e:29:bfeb:c988:bbd5:2586:4924)
2022-11-16 08:55:35 +0100king_gs(~Thunderbi@187.201.139.206) (Read error: Connection reset by peer)
2022-11-16 08:55:35 +0100king_gs1king_gs
2022-11-16 08:55:36 +0100titibandit(~titibandi@xdsl-78-35-167-196.nc.de)
2022-11-16 09:03:43 +0100chele(~chele@user/chele)
2022-11-16 09:04:13 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-11-16 09:04:19 +0100king_gs(~Thunderbi@2806:103e:29:bfeb:c988:bbd5:2586:4924) (Ping timeout: 260 seconds)
2022-11-16 09:13:11 +0100MajorBiscuit(~MajorBisc@c-001-018-015.client.tudelft.eduvpn.nl)
2022-11-16 09:17:50 +0100fockerize(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds)
2022-11-16 09:19:13 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-11-16 09:22:50 +0100razetime(~quassel@117.193.2.3) (Ping timeout: 240 seconds)
2022-11-16 09:23:38 +0100ub(~Thunderbi@178.165.184.78.wireless.dyn.drei.com)
2022-11-16 09:23:39 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2022-11-16 09:28:32 +0100Kaiepi(~Kaiepi@108.175.84.104) (Ping timeout: 268 seconds)
2022-11-16 09:32:27 +0100hgolden(~hgolden@cpe-172-251-233-141.socal.res.rr.com)
2022-11-16 09:33:35 +0100fockerize(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-11-16 09:36:11 +0100hgolden(~hgolden@cpe-172-251-233-141.socal.res.rr.com) (Client Quit)
2022-11-16 09:36:47 +0100ft(~ft@p508dbd59.dip0.t-ipconnect.de) (Quit: leaving)
2022-11-16 09:38:27 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:7423:a580:f992:c653)
2022-11-16 09:39:20 +0100gmg(~user@user/gehmehgeh)
2022-11-16 09:41:27 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-11-16 09:43:31 +0100razetime(~quassel@117.193.2.3)
2022-11-16 09:44:00 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:7423:a580:f992:c653) (Ping timeout: 260 seconds)
2022-11-16 09:44:06 +0100ub(~Thunderbi@178.165.184.78.wireless.dyn.drei.com) (Quit: ub)
2022-11-16 09:44:22 +0100acidjnk(~acidjnk@p200300d6e7137a79b1807064f1abc0ef.dip0.t-ipconnect.de)
2022-11-16 09:45:29 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net)
2022-11-16 09:46:46 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-11-16 09:47:20 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2022-11-16 09:47:29 +0100discuss9128(~discuss91@bb119-74-93-26.singnet.com.sg) (Quit: Client closed)
2022-11-16 09:49:06 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2022-11-16 09:49:09 +0100nschoe(~q@141.101.51.197)
2022-11-16 09:50:17 +0100nschoe(~q@141.101.51.197) (Client Quit)
2022-11-16 09:50:44 +0100shriekingnoise(~shrieking@186.137.167.202) (Quit: Quit)
2022-11-16 09:53:35 +0100nschoe(~q@141.101.51.197)
2022-11-16 10:00:04 +0100pareto-optimal-d(~pareto-op@2001:470:69fc:105::1:b61f) (Quit: You have been kicked for being idle)
2022-11-16 10:00:06 +0100disco-dave[m](~disco-dav@2001:470:69fc:105::2:1892) (Quit: You have been kicked for being idle)
2022-11-16 10:00:13 +0100fockerize(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 256 seconds)
2022-11-16 10:00:47 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 260 seconds)
2022-11-16 10:02:10 +0100AlexZenon(~alzenon@94.233.241.222) (Quit: ;-)
2022-11-16 10:02:34 +0100Alex_test(~al_test@94.233.241.222) (Quit: ;-)
2022-11-16 10:03:00 +0100AlexNoo(~AlexNoo@94.233.241.222) (Quit: Leaving)
2022-11-16 10:03:50 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds)
2022-11-16 10:05:56 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-11-16 10:07:12 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2022-11-16 10:07:12 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2022-11-16 10:07:16 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-11-16 10:16:38 +0100fserucas(~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7)
2022-11-16 10:19:51 +0100Feuermagier_(~Feuermagi@2a02:2488:4211:3400:6419:933b:46e0:8942)
2022-11-16 10:20:43 +0100AlexNoo(~AlexNoo@94.233.241.222)
2022-11-16 10:20:45 +0100AlexZenon(~alzenon@94.233.241.222)
2022-11-16 10:21:25 +0100chromoblob(~user@37.113.164.122)
2022-11-16 10:22:34 +0100ub(~Thunderbi@178.165.184.78.wireless.dyn.drei.com)
2022-11-16 10:23:56 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-11-16 10:24:43 +0100emmanuelux(~emmanuelu@user/emmanuelux) (Quit: au revoir)
2022-11-16 10:25:07 +0100Alex_test(~al_test@94.233.241.222)
2022-11-16 10:25:23 +0100__monty__(~toonn@user/toonn)
2022-11-16 10:26:01 +0100ubert1(~Thunderbi@178.165.179.251.wireless.dyn.drei.com)
2022-11-16 10:26:02 +0100ub1(~Thunderbi@178.165.179.251.wireless.dyn.drei.com)
2022-11-16 10:27:25 +0100ub(~Thunderbi@178.165.184.78.wireless.dyn.drei.com) (Ping timeout: 256 seconds)
2022-11-16 10:27:30 +0100ubert(~Thunderbi@178.165.184.78.wireless.dyn.drei.com) (Ping timeout: 240 seconds)
2022-11-16 10:27:30 +0100ubert1ubert
2022-11-16 10:27:31 +0100ub1ub
2022-11-16 10:27:43 +0100Pickchea(~private@user/pickchea)
2022-11-16 10:27:59 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-11-16 10:28:20 +0100ham(~ham@user/ham) (Ping timeout: 248 seconds)
2022-11-16 10:28:34 +0100ham(~ham@user/ham)
2022-11-16 10:30:08 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2022-11-16 10:30:41 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2022-11-16 10:32:21 +0100titibandit(~titibandi@xdsl-78-35-167-196.nc.de) (Remote host closed the connection)
2022-11-16 10:35:47 +0100youziqi(~youziqi@103.37.140.91) (Ping timeout: 260 seconds)
2022-11-16 10:37:37 +0100youziqi(~youziqi@103.37.140.123)
2022-11-16 10:39:56 +0100freeside_(~mengwong@103.252.202.193)
2022-11-16 10:40:38 +0100gmg(~user@user/gehmehgeh) (Quit: Leaving)
2022-11-16 10:41:18 +0100freeside(~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 268 seconds)
2022-11-16 10:49:34 +0100vglfr(~vglfr@145.224.100.22) (Ping timeout: 260 seconds)
2022-11-16 10:51:26 +0100tzh_(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2022-11-16 10:53:41 +0100vglfr(~vglfr@145.224.100.22)
2022-11-16 11:04:49 +0100ub(~Thunderbi@178.165.179.251.wireless.dyn.drei.com) (Ping timeout: 256 seconds)
2022-11-16 11:07:20 +0100econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-11-16 11:09:59 +0100xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 260 seconds)
2022-11-16 11:19:30 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 240 seconds)
2022-11-16 11:21:29 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds)
2022-11-16 11:22:10 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-11-16 11:22:11 +0100Pickchea(~private@user/pickchea) (Quit: Leaving)
2022-11-16 11:23:57 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-11-16 11:28:06 +0100dcoutts__dcoutts_
2022-11-16 11:28:16 +0100dcoutts_dcoutts
2022-11-16 11:28:32 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-11-16 11:30:13 +0100Kaiepi(~Kaiepi@108.175.84.104)
2022-11-16 11:34:53 +0100razetime(~quassel@117.193.2.3) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-11-16 11:43:49 +0100Feuermagier_(~Feuermagi@2a02:2488:4211:3400:6419:933b:46e0:8942) (Quit: Leaving)
2022-11-16 11:45:47 +0100jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 260 seconds)
2022-11-16 11:47:37 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-11-16 11:49:10 +0100chromoblob(~user@37.113.164.122) (Ping timeout: 240 seconds)
2022-11-16 11:49:13 +0100troydm(~troydm@host-176-37-124-197.b025.la.net.ua)
2022-11-16 11:51:45 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-11-16 11:52:52 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-11-16 11:53:19 +0100chromoblob(~user@37.113.164.122)
2022-11-16 11:57:14 +0100foul_owl(~kerry@23.82.194.107) (Ping timeout: 260 seconds)
2022-11-16 12:00:39 +0100razetime(~quassel@117.254.35.168)
2022-11-16 12:03:53 +0100Erutuon(~Erutuon@user/erutuon)
2022-11-16 12:06:34 +0100shailangsa(~shailangs@host109-159-108-137.range109-159.btcentralplus.com) (Ping timeout: 260 seconds)
2022-11-16 12:06:56 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds)
2022-11-16 12:10:21 +0100xff0x(~xff0x@ai071162.d.east.v6connect.net)
2022-11-16 12:10:44 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-11-16 12:11:05 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-11-16 12:12:52 +0100dagit(~dagit@2001:558:6025:38:6476:a063:d05a:44da) (Ping timeout: 252 seconds)
2022-11-16 12:15:39 +0100chromoblob(~user@37.113.164.122) (Ping timeout: 268 seconds)
2022-11-16 12:16:13 +0100foul_owl(~kerry@174-21-75-230.tukw.qwest.net)
2022-11-16 12:20:34 +0100infinity0(~infinity0@pwned.gg) (Remote host closed the connection)
2022-11-16 12:21:37 +0100chromoblob(~user@37.113.164.122)
2022-11-16 12:23:39 +0100infinity0(~infinity0@pwned.gg)
2022-11-16 12:27:43 +0100MajorBiscuit(~MajorBisc@c-001-018-015.client.tudelft.eduvpn.nl) (Ping timeout: 252 seconds)
2022-11-16 12:27:45 +0100mei(~mei@user/mei) (Quit: mei)
2022-11-16 12:29:20 +0100mei(~mei@user/mei)
2022-11-16 12:31:54 +0100MajorBiscuit(~MajorBisc@2a02-a461-129d-1-193d-75d8-745d-e91e.fixed6.kpn.net)
2022-11-16 12:32:32 +0100cafkafk(~cafkafk@fsf/member/cafkafk)
2022-11-16 12:32:48 +0100cafkafk(~cafkafk@fsf/member/cafkafk) (Client Quit)
2022-11-16 12:33:11 +0100cafkafk(~cafkafk@fsf/member/cafkafk)
2022-11-16 12:33:47 +0100use-value(~Thunderbi@2a00:23c6:8a03:2f01:d5b6:b99f:4049:77a7) (Ping timeout: 256 seconds)
2022-11-16 12:36:22 +0100thyriaen(~thyriaen@2a01:aea0:dd4:470d:6245:cbff:fe9f:48b1)
2022-11-16 12:39:13 +0100 <dminuoso> tomsmeding: So I thought a while about your Array/Vector question. Without adding State# RealWorld to the implementation, you could also have parsers produce IO actions that copyBytes into a mutable array buffer.
2022-11-16 12:39:34 +0100 <dminuoso> tomsmeding: However, the problem here is that you must extend the lifetime of the underyling bytestring until that IO action has been executed.
2022-11-16 12:40:15 +0100 <dminuoso> But this could easily be done by a simple unsafePerformIO and some seq usage.
2022-11-16 12:40:21 +0100 <dminuoso> That is, something along the lines of
2022-11-16 12:41:13 +0100 <dminuoso> readThin :: Parser (IO ()); readThing = do { act1 <- readChunk 1024 mutvar; act2 <- readChunk 1024 mutvar; pure (act 1 >> act 2) }
2022-11-16 12:41:45 +0100jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-11-16 12:42:01 +0100 <dminuoso> And then as your final parser do something like `f = do { io <- readThing; pure $! unsafePerformIO io }`
2022-11-16 12:42:29 +0100 <dminuoso> That way you a) dont have to worry about lifetime, and b) you will keep unsafePerformIO isolated into a singular spot, keeping the rest of the parser pure and sane
2022-11-16 12:46:21 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-11-16 12:46:22 +0100beteigeuze(~Thunderbi@bl14-81-220.dsl.telepac.pt)
2022-11-16 12:46:23 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-11-16 12:47:26 +0100a_troubled_walru(~Thunderbi@210.185.77.16)
2022-11-16 12:47:45 +0100jakalx(~jakalx@base.jakalx.net)
2022-11-16 12:48:06 +0100 <dminuoso> tomsmeding: however, keep in mind that given your specific problem domain, you likely cannot just naively copy buffers into a mutable vector anyway, because a string could have escaped sequences. So you will end up having to peek and poke a byte at a time with a small state machine?
2022-11-16 12:49:29 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-11-16 12:49:44 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2022-11-16 12:51:15 +0100MajorBiscuit(~MajorBisc@2a02-a461-129d-1-193d-75d8-745d-e91e.fixed6.kpn.net) (Ping timeout: 260 seconds)
2022-11-16 12:53:35 +0100MajorBiscuit(~MajorBisc@86-88-79-148.fixed.kpn.net)
2022-11-16 12:56:53 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds)
2022-11-16 12:57:07 +0100mc47(~mc47@xmonad/TheMC47)
2022-11-16 12:57:47 +0100ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 255 seconds)
2022-11-16 12:58:53 +0100ec(~ec@gateway/tor-sasl/ec)
2022-11-16 12:59:41 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-11-16 13:05:23 +0100Franciman(~Franciman@mx1.fracta.dev) (Remote host closed the connection)
2022-11-16 13:07:39 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-11-16 13:08:15 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2022-11-16 13:10:18 +0100stackdroid18(14094@user/stackdroid)
2022-11-16 13:10:21 +0100 <sshine> I saw a package one time about a year ago that was plug-and-play for Megaparsec and provided some nice ASCII rendering around its errors. I think it was a generic framework for making any kind of (syntax?) error look nice.
2022-11-16 13:10:30 +0100 <sshine> does anyone know what package I'm talking about?
2022-11-16 13:10:31 +0100Franciman(~Franciman@mx1.fracta.dev)
2022-11-16 13:13:15 +0100Guest75(~Guest75@178.141.207.13)
2022-11-16 13:14:08 +0100`2jt(~jtomas@191.red-88-17-199.dynamicip.rima-tde.net)
2022-11-16 13:14:51 +0100freeside_(~mengwong@103.252.202.193) (Ping timeout: 268 seconds)
2022-11-16 13:18:28 +0100meooow(~meooow@2400:6180:100:d0::ad9:e001) (Quit: q)
2022-11-16 13:18:46 +0100meooow(~meooow@2400:6180:100:d0::ad9:e001)
2022-11-16 13:20:49 +0100youziqi(~youziqi@103.37.140.123) (Ping timeout: 256 seconds)
2022-11-16 13:22:34 +0100youziqi(~youziqi@103.37.140.124)
2022-11-16 13:25:37 +0100 <dminuoso> tomsmeding: https://gist.github.com/dminuoso/6de513c3e98ba67588957c19ce4eacbd
2022-11-16 13:25:39 +0100 <dminuoso> Maybe this?
2022-11-16 13:25:52 +0100CiaoSen(~Jura@p200300c95701f1002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-11-16 13:26:24 +0100freeside(~mengwong@103.252.202.193)
2022-11-16 13:27:24 +0100 <sshine> diagnose!
2022-11-16 13:28:31 +0100Guest75(~Guest75@178.141.207.13) (Quit: Client closed)
2022-11-16 13:30:11 +0100InstX1(~Liam@c-98-208-218-119.hsd1.fl.comcast.net)
2022-11-16 13:31:14 +0100 <dminuoso> You havent lived until you pattern match on an IO without hesitation.
2022-11-16 13:31:30 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 268 seconds)
2022-11-16 13:33:01 +0100mmhat(~mmh@p200300f1c7050c1bee086bfffe095315.dip0.t-ipconnect.de)
2022-11-16 13:33:24 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-11-16 13:33:40 +0100bitdex_(~bitdex@gateway/tor-sasl/bitdex)
2022-11-16 13:33:51 +0100 <lortabac> haha I only had to match on IO once because I had no choice and it was perfectly safe (all I did was newtype wrapping/unwrapping)
2022-11-16 13:34:22 +0100 <lortabac> outside of that very limited case I wouldn't dare :s
2022-11-16 13:34:30 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2022-11-16 13:34:37 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-11-16 13:35:14 +0100InstX1(~Liam@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 260 seconds)
2022-11-16 13:35:45 +0100ubert1(~Thunderbi@178.165.179.251.wireless.dyn.drei.com)
2022-11-16 13:36:07 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2022-11-16 13:37:08 +0100`2jt(~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) (Ping timeout: 248 seconds)
2022-11-16 13:38:09 +0100ubert(~Thunderbi@178.165.179.251.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
2022-11-16 13:38:09 +0100ubert1ubert
2022-11-16 13:38:42 +0100lortabac_(~lortabac@37.170.202.252)
2022-11-16 13:38:44 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2022-11-16 13:39:03 +0100lortabac_(~lortabac@37.170.202.252) (Client Quit)
2022-11-16 13:39:10 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:2667:3554:7507:27aa) (Ping timeout: 240 seconds)
2022-11-16 13:39:20 +0100lortabac(~lortabac@37.170.202.252)
2022-11-16 13:45:40 +0100lyle(~lyle@104.246.145.85)
2022-11-16 13:50:30 +0100lortabac(~lortabac@37.170.202.252) (Ping timeout: 240 seconds)
2022-11-16 13:51:50 +0100akegalj(~akegalj@93-142-168-177.adsl.net.t-com.hr) (Quit: leaving)
2022-11-16 13:53:32 +0100Feuermagier_(~Feuermagi@87.249.132.146)
2022-11-16 13:53:39 +0100youziqi(~youziqi@103.37.140.124) (Ping timeout: 260 seconds)
2022-11-16 13:53:56 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-11-16 13:56:35 +0100Feuermagier(~Feuermagi@user/feuermagier) (Ping timeout: 260 seconds)
2022-11-16 13:56:42 +0100youziqi(~youziqi@103.37.140.45)
2022-11-16 13:57:30 +0100acidjnk(~acidjnk@p200300d6e7137a79b1807064f1abc0ef.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-11-16 13:58:13 +0100mc47(~mc47@xmonad/TheMC47) (Ping timeout: 256 seconds)
2022-11-16 13:59:38 +0100freeside(~mengwong@103.252.202.193)
2022-11-16 14:00:26 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-11-16 14:00:42 +0100ozkutuk5(~ozkutuk@176.240.173.153)
2022-11-16 14:01:46 +0100`2jt(~jtomas@191.red-88-17-199.dynamicip.rima-tde.net)
2022-11-16 14:04:23 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 260 seconds)
2022-11-16 14:06:10 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds)
2022-11-16 14:07:15 +0100ub(~Thunderbi@178.165.179.251.wireless.dyn.drei.com)
2022-11-16 14:07:19 +0100chromoblob(~user@37.113.164.122) (Ping timeout: 260 seconds)
2022-11-16 14:08:45 +0100fockerize(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-11-16 14:11:41 +0100acidjnk(~acidjnk@p200300d6e7137a8274644e28d572a0cd.dip0.t-ipconnect.de)
2022-11-16 14:12:25 +0100bitdex_(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-11-16 14:13:29 +0100bitdex_(~bitdex@gateway/tor-sasl/bitdex)
2022-11-16 14:13:32 +0100a_troubled_walru(~Thunderbi@210.185.77.16) (Quit: a_troubled_walru)
2022-11-16 14:14:08 +0100 <dminuoso> tomsmeding: Im starting to like this, actually. https://gist.github.com/dminuoso/6de513c3e98ba67588957c19ce4eacbd#file-f-hs-L68-L79
2022-11-16 14:14:12 +0100 <dminuoso> I should upstream this
2022-11-16 14:17:57 +0100chromoblob(~user@37.113.164.122)
2022-11-16 14:20:25 +0100hgolden(~hgolden@cpe-172-251-233-141.socal.res.rr.com)
2022-11-16 14:22:30 +0100dsrt^(~dsrt@76.145.185.103) (Remote host closed the connection)
2022-11-16 14:23:31 +0100razetime(~quassel@117.254.35.168) (Ping timeout: 260 seconds)
2022-11-16 14:24:27 +0100bitdex_(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-11-16 14:25:31 +0100 <[exa]> dminuoso: ok wow
2022-11-16 14:26:25 +0100bitdex_(~bitdex@gateway/tor-sasl/bitdex)
2022-11-16 14:27:05 +0100 <carbolymer> when I input a block of code in GHCi with :{ :}, how can I navigate between lines, e.g. go to line up? arrow up seems to go back in history instead
2022-11-16 14:27:27 +0100 <dminuoso> carbolymer: I dont think you can.
2022-11-16 14:27:33 +0100 <carbolymer> :|
2022-11-16 14:27:44 +0100 <carbolymer> I should setup ihaskell one day
2022-11-16 14:27:48 +0100 <carbolymer> with jupyter
2022-11-16 14:28:36 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2022-11-16 14:32:29 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-11-16 14:36:14 +0100cafkafkjust uses org-babel
2022-11-16 14:37:22 +0100razetime(~quassel@117.254.35.168)
2022-11-16 14:38:27 +0100troydm(~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 256 seconds)
2022-11-16 14:39:56 +0100ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 255 seconds)
2022-11-16 14:41:10 +0100ec(~ec@gateway/tor-sasl/ec)
2022-11-16 14:44:23 +0100moonsheep(~user@user/moonsheep)
2022-11-16 14:44:37 +0100moonsheep(~user@user/moonsheep) ()
2022-11-16 14:45:36 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:f467:abff:e567:955f)
2022-11-16 14:47:35 +0100cafkafk(~cafkafk@fsf/member/cafkafk) (Ping timeout: 255 seconds)
2022-11-16 14:48:29 +0100cafkafk(~cafkafk@fsf/member/cafkafk)
2022-11-16 14:50:07 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:f467:abff:e567:955f) (Ping timeout: 260 seconds)
2022-11-16 14:51:37 +0100zeenk(~zeenk@2a02:2f04:a208:3600::7fe)
2022-11-16 14:52:05 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:e456:ad2e:a3ee:4a31)
2022-11-16 14:52:32 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2022-11-16 14:54:43 +0100stiell(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2022-11-16 14:54:48 +0100bitdex_(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-11-16 14:55:44 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2022-11-16 14:56:32 +0100bitdex_(~bitdex@gateway/tor-sasl/bitdex)
2022-11-16 14:56:39 +0100stiell(~stiell@gateway/tor-sasl/stiell)
2022-11-16 14:56:51 +0100causal(~user@50.35.83.177)
2022-11-16 14:56:59 +0100 <jean-paul[m]> Why would you pattern match on IO? And also how
2022-11-16 14:57:44 +0100cafkafk(~cafkafk@fsf/member/cafkafk) (Quit: WeeChat 3.6)
2022-11-16 14:57:51 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-11-16 14:58:23 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Ping timeout: 255 seconds)
2022-11-16 14:59:26 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2022-11-16 15:00:19 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-11-16 15:00:32 +0100 <lortabac> jean-paul[m]: I'd say 99.99% of the time you don't need to know what's inside IO
2022-11-16 15:01:06 +0100 <jean-paul[m]> lortabac: For me it is 100% so far.
2022-11-16 15:01:24 +0100irrgit_(~irrgit@146.70.27.250)
2022-11-16 15:01:40 +0100 <jean-paul[m]> But that 0.001% sounds like it might be fun stuff
2022-11-16 15:02:08 +0100 <lortabac> in my case I was implementing an interpreter and "piggybacking" on Haskell's IO mechanism to implement the IO of the object language
2022-11-16 15:02:08 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-11-16 15:03:02 +0100 <lortabac> IIRC I had a newtype over IO, and I needed to replicate the same monadic behavior
2022-11-16 15:03:34 +0100 <lortabac> I don't remember the exact details, but at some point I was obliged to look inside the IO constructor
2022-11-16 15:04:39 +0100 <lortabac> very simple stuff, compared to what dminuoso is doing :D
2022-11-16 15:04:43 +0100 <jean-paul[m]> Oh. And the IO constructor is just ... exposed. So it's not even that hard to look inside if you feel like it. I never thought to look.
2022-11-16 15:05:15 +0100stiell(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2022-11-16 15:05:58 +0100stiell(~stiell@gateway/tor-sasl/stiell)
2022-11-16 15:06:04 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-11-16 15:07:05 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
2022-11-16 15:08:42 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-11-16 15:09:36 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-11-16 15:13:36 +0100 <probie> whatever happened to Arrows? They seemed to have a brief surge in popularity back in 2010? 2011? and then died out
2022-11-16 15:16:55 +0100 <probie> (context: last time I directly pattern matched on IO, it was in an attempt to replace the "IO Monad" with the "IO Arrow" without just directly using `Kleisli IO`)
2022-11-16 15:18:23 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-11-16 15:18:55 +0100 <dminuoso> probie: Arrow has been superseeded by Applicative, Monad and Profunctor.
2022-11-16 15:19:05 +0100Feuermagier_(~Feuermagi@87.249.132.146) (Quit: Leaving)
2022-11-16 15:19:15 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-11-16 15:19:59 +0100 <dminuoso> And Category I suppose
2022-11-16 15:20:34 +0100 <dminuoso> I think the only arrow-type of interfaces still left around are in FRP
2022-11-16 15:21:01 +0100 <dminuoso> jean-paul[m]: So the reason here is quite simple: I want guaranteed unboxing.
2022-11-16 15:21:29 +0100 <dminuoso> jean-paul[m]: In flatparse, you have `newtype Parser e a = Parser {runParser# :: ForeignPtrContents -> Addr# -> Addr# -> Res# e a}`
2022-11-16 15:21:51 +0100 <dminuoso> Where `type Res# e a = (# (# a, Addr# #) | (# #) | (# e #) #)`
2022-11-16 15:23:09 +0100 <probie> dminuoso: Profunctor isn't in base though
2022-11-16 15:23:09 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds)
2022-11-16 15:23:15 +0100fockerize(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 260 seconds)
2022-11-16 15:24:00 +0100 <dminuoso> probie: Yes, but things that want that kind of interface can simply depend on `profunctors`
2022-11-16 15:24:23 +0100stiell(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2022-11-16 15:25:17 +0100 <dminuoso> So here comes the issue: When you want IOful parsers, you would have to conjure some kind of `newtype ParserIO e a = Parser {runParser# :: ForeignPtrContents -> Addr# -> Addr# -> IO (Res# e a) }` - however that wont type check as IO only works over boxed types.
2022-11-16 15:25:37 +0100 <tomsmeding> dminuoso: hi
2022-11-16 15:25:40 +0100 <dminuoso> jean-paul[m]: ^- so what you can simply do, is take IO apart, and weave the State# passing mechanism inside into the Parser function itself
2022-11-16 15:25:55 +0100stiell(~stiell@gateway/tor-sasl/stiell)
2022-11-16 15:26:06 +0100 <tomsmeding> dminuoso: before reading your code, building up a huge thunk of IO actions seems not any better than just building the intermediate list?
2022-11-16 15:26:23 +0100 <tomsmeding> ("thunk" is not the right word here, excuse me)
2022-11-16 15:26:24 +0100 <dminuoso> tomsmeding: why would there be a *thunk*?
2022-11-16 15:26:29 +0100 <tomsmeding> yeah no thunk
2022-11-16 15:26:40 +0100 <tomsmeding> but a large chain of closures referring to each other
2022-11-16 15:26:40 +0100 <dminuoso> But yeah, you will have a lot of closure allocations
2022-11-16 15:26:55 +0100 <dminuoso> tomsmeding: Therefore, let me introduce you to my final idea: ParserIO
2022-11-16 15:26:59 +0100 <tomsmeding> indeed, one for every (:) in the naive version where you make the intermediate list :p
2022-11-16 15:27:01 +0100 <tomsmeding> i.e. doesn't help
2022-11-16 15:27:08 +0100 <dminuoso> https://gist.github.com/dminuoso/6de513c3e98ba67588957c19ce4eacbd
2022-11-16 15:27:09 +0100 <tomsmeding> (I assume)
2022-11-16 15:27:15 +0100AdamConner-Sax[m(~adamcsmat@2001:470:69fc:105::1:e2c8)
2022-11-16 15:27:34 +0100 <dminuoso> Ah there's some copy paste bugs left in there, let me fix them real quick
2022-11-16 15:27:39 +0100 <tomsmeding> ah this is sortof similar-ish to 'ParserT IO'?
2022-11-16 15:27:50 +0100 <dminuoso> Yeah
2022-11-16 15:28:39 +0100 <dminuoso> None of it is tested, but Im confident this will work.
2022-11-16 15:29:17 +0100 <dminuoso> (Should I mention I originally did have a bug making unsafeParserIO really an accursedUnutterableParserIO?)
2022-11-16 15:29:56 +0100 <tomsmeding> dminuoso: why isthat unsafeCoerce# not unsafeCoerce
2022-11-16 15:30:22 +0100 <dminuoso> Because these are unboxed tuples?
2022-11-16 15:30:30 +0100 <tomsmeding> oh wait yes
2022-11-16 15:30:49 +0100 <dminuoso> Those functor/applicative/monad instances are just boiler-plate copy and paste
2022-11-16 15:31:06 +0100 <dminuoso> The neat stuff begins at line 51
2022-11-16 15:32:14 +0100 <tomsmeding> I don't know enough about the IO implementation internals to say anything about the duplication :p
2022-11-16 15:32:33 +0100InstX1(~Liam@c-98-208-218-119.hsd1.fl.comcast.net)
2022-11-16 15:32:38 +0100 <dminuoso> tomsmeding: its really mundane, its just a direct mapping to how unsafePerformIO is implemented
2022-11-16 15:32:52 +0100stackdroid18(14094@user/stackdroid) (Quit: hasta la vista... tchau!)
2022-11-16 15:32:53 +0100 <tomsmeding> yeah I've looked through those definitions at some point
2022-11-16 15:32:55 +0100 <dminuoso> `noDuplicate# (s :: State# a)` is a kind of lock
2022-11-16 15:33:04 +0100 <dminuoso> (think of it as acquiring a kind of mutex)
2022-11-16 15:33:15 +0100 <dminuoso> and never releasing it
2022-11-16 15:33:16 +0100 <tomsmeding> oh that no two threads evaluate that thunk simultaneously?
2022-11-16 15:33:18 +0100 <dminuoso> yes
2022-11-16 15:33:28 +0100 <dminuoso> noDuplicate = IO $ \s -> case noDuplicate# s of s' -> (# s', () #)
2022-11-16 15:33:33 +0100 <dminuoso> unsafePerformIO m = unsafeDupablePerformIO (noDuplicate >> m)
2022-11-16 15:34:36 +0100 <dminuoso> The entire construction of ParserIO is really harmless
2022-11-16 15:34:53 +0100 <tomsmeding> looks cool
2022-11-16 15:35:20 +0100 <tomsmeding> I imagine you don't want to create yet another (third?) copy of the parser implementation in flatparse :p
2022-11-16 15:35:23 +0100 <fendor[m]> Another question for understanding kinds and types... what does it mean if I give a class a kind signature like here: https://paste.tomsmeding.com/evYyAyYj
2022-11-16 15:35:27 +0100 <fendor[m]> That the class can only have instances for [AccessLevel]?
2022-11-16 15:35:34 +0100 <dminuoso> tomsmeding: Not needed, because you can just liftP all the Basic combinators in
2022-11-16 15:35:47 +0100 <tomsmeding> fendor[m]: I guess this is easily tried :)
2022-11-16 15:35:53 +0100 <dminuoso> And no stateful variant is needed, because I think this subsumes Stateful
2022-11-16 15:35:57 +0100 <tomsmeding> seems the only sensible interpretation
2022-11-16 15:36:06 +0100 <tomsmeding> dminuoso: ah right
2022-11-16 15:36:08 +0100 <tomsmeding> yeah
2022-11-16 15:36:30 +0100 <tomsmeding> you'd want to {-# INLINE liftP #-} then though
2022-11-16 15:36:38 +0100 <dminuoso> tomsmeding: only problem is going to be thing with Parser in negative position. Mmm
2022-11-16 15:36:44 +0100 <fendor[m]> tomsmeding: fair, that's what it means apparently
2022-11-16 15:36:44 +0100 <tomsmeding> or maybe rather, ensure that the argument to liftP is going to be inlined?
2022-11-16 15:37:02 +0100 <dminuoso> so we need a kind of askUnliftIO variant for ParserIO
2022-11-16 15:37:23 +0100InstX1(~Liam@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 256 seconds)
2022-11-16 15:37:40 +0100 <fendor[m]> but [AccessLevel] is not fundamentally different to Type, right?
2022-11-16 15:37:47 +0100tomsmedingis not sure that even makes much sense for ParserIO
2022-11-16 15:37:52 +0100 <dminuoso> Ahh but no, it wont work because of that stateful address. :(
2022-11-16 15:37:54 +0100 <tomsmeding> fendor[m]: well, it's a different kind
2022-11-16 15:38:01 +0100 <dminuoso> tomsmeding: it absolutely would!
2022-11-16 15:38:23 +0100 <dminuoso> tomsmeding: otherwise you couldnt make full use of things like `withByteString :: Parser r e a -> (a -> ByteString -> Parser r e b) -> Parser r e b
2022-11-16 15:38:31 +0100CiaoSen(~Jura@p200300c95701f1002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2022-11-16 15:38:47 +0100 <fendor[m]> I don't quite grasp what that entails. Is Type not some kind of super type of [AccessLevel]?
2022-11-16 15:38:49 +0100 <dminuoso> liftP $ withByteString (\a buf -> ???)
2022-11-16 15:39:11 +0100 <tomsmeding> fendor[m]: 4 is a value of type Int, which is of kind Type; 'True is a type of kind 'Bool
2022-11-16 15:39:17 +0100 <dminuoso> And how do you parse an IOful parser to withByteString?
2022-11-16 15:39:20 +0100 <tomsmeding> Type and '['AccessLevel] are kinds
2022-11-16 15:39:51 +0100 <tomsmeding> though ghc has this type-in-type thing where types and kinds are secretly the same, so if you're asking about that then yes there is some tomfoolery going on
2022-11-16 15:39:55 +0100 <tomsmeding> but apart from that, no
2022-11-16 15:39:58 +0100 <dminuoso> tomsmeding: anyway, we *could* make an askUnliftIO thing, but this has a drastic price - namely that will interact subtly broken with respect to backtracking.
2022-11-16 15:40:25 +0100 <tomsmeding> dminuoso: that sounds too scary to be admissible
2022-11-16 15:40:40 +0100 <fendor[m]> I am very much confused 😄 'True is a promoted type constructor no?
2022-11-16 15:40:41 +0100 <dminuoso> yeah, so I guess if you want this, you can no longer use any of the CPS things
2022-11-16 15:40:47 +0100 <tomsmeding> fendor[m]: yes as in DataKinds
2022-11-16 15:41:03 +0100 <tomsmeding> fendor[m]: your code would trigger -Wunticked-promoted-constructors if I'm not mistaken
2022-11-16 15:41:17 +0100 <fendor[m]> not with ghc 9.4 where it is encouraged
2022-11-16 15:41:25 +0100 <tomsmeding> dminuoso: unless they are reimplemented, right?
2022-11-16 15:41:32 +0100 <dminuoso> tomsmeding: right.
2022-11-16 15:41:47 +0100 <tomsmeding> fendor[m]: okay sure, but still, the fact that it _would_ is useful information here :p
2022-11-16 15:42:15 +0100 <geekosaur> 'True is a promoted data constructor
2022-11-16 15:42:21 +0100 <dminuoso> but honestly its a non-issue. If you're in a spot where you *rely* on the performance advantage of the CPS version and *need* IO (you know, the 0 people out there currently), you are equipped to just rewrite this combinator yourself on the spot
2022-11-16 15:42:31 +0100 <tomsmeding> dminuoso: :D
2022-11-16 15:42:34 +0100 <geekosaur> 'Bool is a promoted type constructor
2022-11-16 15:43:09 +0100 <dminuoso> geekosaur: mmm. I think the wording is poor either way.
2022-11-16 15:43:25 +0100 <dminuoso> that is does "promoted type constructor" mean the resulting thing is a type, or that the original thing is a type?
2022-11-16 15:44:16 +0100 <dminuoso> The GHC manual wording suggest calling 'True a promoted type constructor is fine.
2022-11-16 15:44:26 +0100 <tomsmeding> dminuoso: curious how much the RealWorld passing influences performance
2022-11-16 15:44:37 +0100 <dminuoso> tomsmeding: honestly probably not much at all.
2022-11-16 15:44:54 +0100 <fendor[m]> what is the difference between a promoted data constructor and a promoted type constructor?
2022-11-16 15:45:02 +0100mvk(~mvk@2607:fea8:5ce3:8500::4b68)
2022-11-16 15:45:10 +0100 <dminuoso> tomsmeding: if it inlined+fused before, it will still inline+fuse (because State# RealWorld does not exist)
2022-11-16 15:45:19 +0100 <dminuoso> if there's any penalty Im tempted to consider a GHC simplifier bug
2022-11-16 15:45:36 +0100 <tomsmeding> yay
2022-11-16 15:45:43 +0100jero98772(~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff)
2022-11-16 15:45:45 +0100 <dminuoso> because consider: we do have that Addr# threading that is in the way of the GHC simplifier
2022-11-16 15:45:51 +0100 <dminuoso> so you cant just freely reorder things
2022-11-16 15:46:10 +0100 <tomsmeding> fendor[m]: True/Just are data constructors, Bool/Maybe are type constructors
2022-11-16 15:46:17 +0100 <fendor[m]> yeah
2022-11-16 15:46:29 +0100 <tomsmeding> lifting True to the type level using DataKinds makes it a type constructor
2022-11-16 15:47:04 +0100 <tomsmeding> so is 'True then a type constructor resulting from promotion (a "promoted type constructor"), or a promoted (data constructor) ("promoted data constructor")?
2022-11-16 15:47:10 +0100 <tomsmeding> but terminology
2022-11-16 15:47:31 +0100acidjnk(~acidjnk@p200300d6e7137a8274644e28d572a0cd.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-11-16 15:47:41 +0100 <tomsmeding> but yeah, so [AccessList] :: Type, but '['AccessList] is itself a kind
2022-11-16 15:47:54 +0100 <dminuoso> The GHC uses phrases like `promoting a data constructor into a type`, "promoted type constructor" reads ambiguous to me
2022-11-16 15:47:58 +0100 <tomsmeding> which is again of """kind""" Type in ghc because the hierarchy is forcibly flattened
2022-11-16 15:48:22 +0100 <dminuoso> I would actually understand `promoted type constructor` to mean `a type constructor resulting from promotion` just from the English side of it
2022-11-16 15:48:26 +0100 <tomsmeding> in a dependently-typed language with universe levels, you have values that have types that have kinds that have sorts that have... ad infinitum
2022-11-16 15:48:35 +0100 <tomsmeding> and then '['AccessLevel] would not be in Type
2022-11-16 15:48:46 +0100 <tomsmeding> dminuoso: I would read the opposite :p
2022-11-16 15:48:51 +0100 <tomsmeding> so it's a bad phrase
2022-11-16 15:49:14 +0100 <geekosaur> as a native English speaker I find ghc's usage of it pretty obvious
2022-11-16 15:49:31 +0100 <geekosaur> but ewhen it comes down to it, this needs to be described in some kind of formal language
2022-11-16 15:49:49 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2022-11-16 15:49:50 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2022-11-16 15:49:50 +0100wroathe(~wroathe@user/wroathe)
2022-11-16 15:49:56 +0100 <dminuoso> does GHC use the phrase "promoted data constructor" anywhere?
2022-11-16 15:49:58 +0100 <geekosaur> natural language, especially English (way too flexible!), kinda sucks for this kind of thing
2022-11-16 15:50:12 +0100 <fendor[m]> but if I am not mistaken, '['AccessLevel] /~ ['AccessLevel]?
2022-11-16 15:50:25 +0100 <dminuoso> fendor[m]: correct.
2022-11-16 15:51:00 +0100 <dminuoso> Though ['AccessLevel] is ill-typed
2022-11-16 15:51:12 +0100 <dminuoso> % :k []
2022-11-16 15:51:12 +0100 <yahb2> [] :: * -> *
2022-11-16 15:51:34 +0100 <dminuoso> (So Im not entirely sure whether asking whether two types are equal when one is ill-typed is sensible at all)
2022-11-16 15:51:57 +0100 <geekosaur> doesn't ghc read that as '['AccessLevel] because it can't mean anything else? (which is kinda Englishing it)
2022-11-16 15:52:05 +0100mastarija(~mastarija@2a05:4f46:e03:6000:bd1:38d3:bfb:8169) (Ping timeout: 260 seconds)
2022-11-16 15:52:25 +0100 <dminuoso> % :set -XDataKinds
2022-11-16 15:52:25 +0100 <yahb2> <no output>
2022-11-16 15:52:31 +0100 <fendor[m]> then I am confused again what `type AcceptableList :: [AccessLevel] -> [AccessLevel] -> [AccessLevel] -> Constraint` means, if '[AccessLevel]' is supposed to be a kind?
2022-11-16 15:52:42 +0100 <tomsmeding> fendor[m]: Type and Constraint are also kinds
2022-11-16 15:52:42 +0100 <dminuoso> % data AccessLevel = N | R | X
2022-11-16 15:52:42 +0100 <yahb2> <no output>
2022-11-16 15:52:49 +0100 <dminuoso> % :k ['AccessLevel]
2022-11-16 15:52:49 +0100 <fendor[m]> well, no it isn't, it is a type of some kind
2022-11-16 15:52:49 +0100 <yahb2> <interactive>:1:2: error: ; Not in scope: data constructor ‘AccessLevel’ ; Perhaps you meant variable ‘$tcAccessLevel’ (<no location info>)
2022-11-16 15:53:01 +0100 <dminuoso> Huh what?
2022-11-16 15:53:17 +0100 <tomsmeding> % :k '['AccessLevel]
2022-11-16 15:53:17 +0100 <yahb2> <interactive>:1:15: error: parse error on input ‘]’
2022-11-16 15:53:22 +0100 <tomsmeding> % :k '[ 'AccessLevel]
2022-11-16 15:53:22 +0100 <yahb2> <interactive>:1:4: error: ; Not in scope: data constructor ‘AccessLevel’ ; Perhaps you meant variable ‘$tcAccessLevel’ (<no location info>)
2022-11-16 15:53:31 +0100tomsmedingconfused
2022-11-16 15:53:32 +0100 <dminuoso> % :k 'AccessLevel
2022-11-16 15:53:33 +0100 <yahb2> <interactive>:1:1: error: ; Not in scope: data constructor ‘AccessLevel’ ; Perhaps you meant variable ‘$tcAccessLevel’ (<no location info>)
2022-11-16 15:53:34 +0100shriekingnoise(~shrieking@186.137.167.202)
2022-11-16 15:53:36 +0100acidjnk(~acidjnk@p200300d6e7137a8274644e28d572a0cd.dip0.t-ipconnect.de)
2022-11-16 15:53:38 +0100 <dminuoso> Maybe someone killed yahb in between?
2022-11-16 15:53:38 +0100 <tomsmeding> % :k AccessLevel
2022-11-16 15:53:38 +0100 <yahb2> AccessLevel :: *
2022-11-16 15:53:48 +0100 <dminuoso> Oh maybe :k is just magically broken
2022-11-16 15:53:48 +0100 <tomsmeding> % '[Int]
2022-11-16 15:53:48 +0100 <yahb2> <interactive>:76:3: error: parse error on input ‘Int’
2022-11-16 15:53:52 +0100 <tomsmeding> % :k '[Int]
2022-11-16 15:53:52 +0100 <yahb2> '[Int] :: [*]
2022-11-16 15:53:54 +0100 <dminuoso> % :kind! 'AccessLevel
2022-11-16 15:53:54 +0100 <yahb2> <interactive>:1:1: error: ; Not in scope: data constructor ‘AccessLevel’ ; Perhaps you meant variable ‘$tcAccessLevel’ (<no location info>)
2022-11-16 15:54:06 +0100 <dminuoso> What's going on here?
2022-11-16 15:54:24 +0100 <dminuoso> Ah..
2022-11-16 15:54:33 +0100 <dminuoso> % :kind! AccessLevel
2022-11-16 15:54:34 +0100 <yahb2> AccessLevel :: * ; = AccessLevel
2022-11-16 15:54:54 +0100 <dminuoso> % :t (undefined :: ['AccessLevel])
2022-11-16 15:54:54 +0100 <yahb2> <interactive>:1:16: error: ; Not in scope: data constructor ‘AccessLevel’ ; Perhaps you meant variable ‘$tcAccessLevel’ (<no location info>)
2022-11-16 15:55:14 +0100 <dminuoso> % :set -XTypeInType
2022-11-16 15:55:14 +0100 <yahb2> <no output>
2022-11-16 15:55:17 +0100 <dminuoso> % :t (undefined :: ['AccessLevel])
2022-11-16 15:55:17 +0100 <yahb2> <interactive>:1:16: error: ; Not in scope: data constructor ‘AccessLevel’ ; Perhaps you meant variable ‘$tcAccessLevel’ (<no location info>)
2022-11-16 15:55:17 +0100 <tomsmeding> % :t (undefined :: ['Int])
2022-11-16 15:55:18 +0100 <yahb2> <interactive>:1:16: error: Not in scope: data constructor ‘Int’
2022-11-16 15:55:29 +0100 <dminuoso> There's some really strange scoping rules
2022-11-16 15:55:29 +0100 <tomsmeding> yeah this makes sense
2022-11-16 15:55:33 +0100 <tomsmeding> here we're writing a type
2022-11-16 15:55:40 +0100 <dminuoso> 'AccessLevel is a type too.
2022-11-16 15:55:45 +0100 <tomsmeding> no
2022-11-16 15:55:48 +0100 <dminuoso> TypeInType.
2022-11-16 15:55:48 +0100 <tomsmeding> 'N is is a type
2022-11-16 15:55:51 +0100 <tomsmeding> 'AccessLevel is a kind
2022-11-16 15:55:52 +0100 <tomsmeding> oh
2022-11-16 15:56:16 +0100 <tomsmeding> ghc is complaining that it wants a _data constructor_ AccessLevel
2022-11-16 15:56:35 +0100 <dminuoso> Oh hold on.
2022-11-16 15:56:39 +0100 <dminuoso> I see what's going ong.
2022-11-16 15:56:52 +0100 <dminuoso> The tick is asking for the *promoted* type constructor from a data constructor.
2022-11-16 15:56:58 +0100 <dminuoso> But AccessLevel is not a data constructor.
2022-11-16 15:57:10 +0100 <tomsmeding> % :k '[Int]
2022-11-16 15:57:10 +0100 <yahb2> '[Int] :: [*]
2022-11-16 15:57:13 +0100 <tomsmeding> % :k '[AccessLevel]
2022-11-16 15:57:13 +0100 <yahb2> '[AccessLevel] :: [*]
2022-11-16 15:57:15 +0100 <tomsmeding> wa
2022-11-16 15:57:21 +0100 <dminuoso> How do we even resolve this ambiguity here?
2022-11-16 15:57:49 +0100 <tomsmeding> % :k (t :: '[AccessLevel])
2022-11-16 15:57:49 +0100 <yahb2> <interactive>:1:2: error: Not in scope: type variable ‘t’
2022-11-16 15:57:53 +0100 <dminuoso> % :k 'N
2022-11-16 15:57:53 +0100 <yahb2> 'N :: AccessLevel
2022-11-16 15:57:57 +0100 <dminuoso> Is this the same type as:
2022-11-16 15:58:02 +0100 <tomsmeding> % :k forall (t :: '[AccessLevel]). t
2022-11-16 15:58:02 +0100 <yahb2> <interactive>:1:14: error: ; • Expected a type, but ‘'[AccessLevel]’ has kind ‘[*]’ ; • In the kind ‘'[AccessLevel]’ ; In the type ‘forall (t :: '[AccessLevel]). t’
2022-11-16 15:58:04 +0100 <dminuoso> [AccessLevel]?
2022-11-16 15:58:08 +0100 <tomsmeding> % :k forall (t :: '[AccessLevel]). Proxy t
2022-11-16 15:58:08 +0100 <yahb2> <interactive>:1:31: error: ; Not in scope: type constructor or class ‘Proxy’ ; Perhaps you meant ‘Proxy#’ (imported from GHC.Prim)
2022-11-16 15:58:12 +0100 <tomsmeding> $ import Data.Proxy
2022-11-16 15:58:14 +0100 <tomsmeding> % import Data.Proxy
2022-11-16 15:58:14 +0100 <yahb2> <no output>
2022-11-16 15:58:18 +0100 <tomsmeding> % :k forall (t :: '[AccessLevel]). Proxy t
2022-11-16 15:58:18 +0100 <yahb2> <interactive>:1:14: error: ; • Expected a type, but ‘'[AccessLevel]’ has kind ‘[*]’ ; • In the kind ‘'[AccessLevel]’ ; In the type ‘forall (t :: '[AccessLevel]). Proxy t’
2022-11-16 15:58:52 +0100 <dminuoso> okay I think I begin to understand how things fit together here
2022-11-16 15:59:17 +0100 <dminuoso> So `AccessLevel` even before DataKinds is already a type constructor. DataKinds does not introduce a new type constructor
2022-11-16 15:59:25 +0100 <dminuoso> At least not for AccessLevel
2022-11-16 15:59:31 +0100 <dminuoso> So in some strange way:\
2022-11-16 15:59:39 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 260 seconds)
2022-11-16 15:59:48 +0100 <kronicmage> anyone know how to use saltine secretbox w/ a preexisting key?
2022-11-16 15:59:50 +0100 <dminuoso> N :: AccessLevel
2022-11-16 15:59:51 +0100 <dminuoso> 'N :: AccessLevel
2022-11-16 15:59:59 +0100 <kronicmage> trying to decrypt something with it but the library doesn't let me construct the Key type
2022-11-16 16:00:00 +0100 <tomsmeding> dminuoso: I would expect that 'N :: 'AccessLevel
2022-11-16 16:00:01 +0100 <dminuoso> And I think this is the same type (type id?) @ tomsmeding
2022-11-16 16:00:19 +0100 <dminuoso> some really strange crossing of universes
2022-11-16 16:00:28 +0100 <tomsmeding> dminuoso: but we're failing to put this in a context where we must put a kind
2022-11-16 16:00:33 +0100 <tomsmeding> ':k' expects a type
2022-11-16 16:00:37 +0100 <dminuoso> (So AccessLevel is inhabited by both types and values)
2022-11-16 16:00:45 +0100 <tomsmeding> '[ 'AccessLevel] is supposed to be a _kind_
2022-11-16 16:00:47 +0100 <dminuoso> tomsmeding: No!
2022-11-16 16:00:55 +0100 <dminuoso> tomsmeding: 'AccessLevel does not exist.
2022-11-16 16:01:15 +0100 <dminuoso> Ticked type constructors arise from promoting the similarly named *data* constructors.
2022-11-16 16:01:19 +0100 <dminuoso> But no AccessLevel data constructor exists.
2022-11-16 16:01:37 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-11-16 16:02:19 +0100 <dminuoso> The really problematic part is this phrase in the GHC manual
2022-11-16 16:02:25 +0100 <dminuoso> `With DataKinds, GHC automatically promotes every datatype to be a kind and its (value) constructors to be type constructors. The following types`
2022-11-16 16:02:30 +0100 <dminuoso> In TypeInType, this makes no sense.
2022-11-16 16:02:38 +0100 <dminuoso> Because its a noop
2022-11-16 16:02:40 +0100 <tomsmeding> isn't TypeInType the default
2022-11-16 16:02:43 +0100 <dminuoso> Yes! Thats the point
2022-11-16 16:02:50 +0100 <dminuoso> So AccessLevel already is a kind
2022-11-16 16:02:54 +0100 <dminuoso> because kind is just type
2022-11-16 16:02:57 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-11-16 16:02:58 +0100 <dminuoso> Nothing gets created
2022-11-16 16:03:08 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-11-16 16:03:22 +0100 <tomsmeding> my life is a lie
2022-11-16 16:03:26 +0100 <dminuoso> So like I said:
2022-11-16 16:03:31 +0100 <dminuoso> N :: AccessLevel
2022-11-16 16:03:33 +0100 <dminuoso> 'N :: AccessLevel
2022-11-16 16:03:33 +0100 <tomsmeding> I thought that ' promoted data constructs to type constructors and type constructors to kind constructors
2022-11-16 16:03:34 +0100 <dminuoso> This describes it best
2022-11-16 16:03:39 +0100 <tomsmeding> but the latter is apparently incorrect
2022-11-16 16:03:43 +0100 <dminuoso> (thats some mindblowing revelation)
2022-11-16 16:03:47 +0100 <tomsmeding> so if you -XNoTypeInType, one cannot write the AccessLevel kind?
2022-11-16 16:03:55 +0100 <tomsmeding> that's terribly dumb
2022-11-16 16:03:56 +0100 <dminuoso> NoTypeInType does not turn TypeInType off.
2022-11-16 16:04:20 +0100razetime(~quassel@117.254.35.168) (Ping timeout: 248 seconds)
2022-11-16 16:04:28 +0100 <dminuoso> 16:03:47 tomsmeding | so if you -XNoTypeInType, one cannot write the AccessLevel kind?
2022-11-16 16:04:32 +0100 <dminuoso> Let's try
2022-11-16 16:04:37 +0100 <dminuoso> % :set -XNoTypeInType
2022-11-16 16:04:37 +0100 <yahb2> <no output>
2022-11-16 16:04:45 +0100 <dminuoso> % :k ('N :: Accesslevel)
2022-11-16 16:04:45 +0100 <yahb2> <interactive>:1:8: error: ; Not in scope: type constructor or class ‘Accesslevel’ ; Perhaps you meant ‘AccessLevel’ (line 64)
2022-11-16 16:04:48 +0100 <dminuoso> % :k ('N :: AccessLevel)
2022-11-16 16:04:48 +0100 <yahb2> ('N :: AccessLevel) :: AccessLevel
2022-11-16 16:04:53 +0100 <dminuoso> Err what?
2022-11-16 16:04:55 +0100simpleauthority(~simpleaut@user/simpleauthority) (Ping timeout: 260 seconds)
2022-11-16 16:05:01 +0100 <dminuoso> Oh yes.
2022-11-16 16:05:09 +0100 <dminuoso> % :t (N :: AccessLevel)
2022-11-16 16:05:09 +0100 <yahb2> (N :: AccessLevel) :: AccessLevel
2022-11-16 16:05:21 +0100 <dminuoso> tomsmeding: Like I said, you cant turn it off. Im not quite sure what TypeInType actually turns on, but its not TypeInType.
2022-11-16 16:05:33 +0100 <tomsmeding> kronicmage: Key implements IsEncoding, which provides 'decode'
2022-11-16 16:05:53 +0100 <dminuoso> Ah, the extensions is deprecated and its sole effect is to switch on PolyKinds :D
2022-11-16 16:05:58 +0100 <tomsmeding> lol
2022-11-16 16:06:03 +0100 <dminuoso> https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/poly_kinds.html#kind-polymorphism
2022-11-16 16:06:33 +0100 <dminuoso> geekosaur: okay. since we have that covered...
2022-11-16 16:06:52 +0100 <dminuoso> differentiating between promoted type constructors and data constructors is actually a strange thing.
2022-11-16 16:07:03 +0100 <dminuoso> given that type constructors do not get promoted
2022-11-16 16:07:16 +0100 <dminuoso> (they already are promoted by virtue of implicit TypeInType)
2022-11-16 16:08:33 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2022-11-16 16:08:33 +0100 <tomsmeding> we should all start programming Agda
2022-11-16 16:08:52 +0100 <fendor[m]> I am still confused, but maybe slightly less ^^
2022-11-16 16:09:07 +0100 <tomsmeding> TypeInType is terribly confusing
2022-11-16 16:09:30 +0100 <dminuoso> N :: AcessLevel
2022-11-16 16:09:33 +0100 <dminuoso> 'N :: AcessLevel
2022-11-16 16:09:35 +0100 <dminuoso> This is so disturbing :(
2022-11-16 16:09:48 +0100 <dminuoso> But I guess thats not as much TypeInType as it is DataKinds in the presence of TypeInType
2022-11-16 16:10:12 +0100 <tomsmeding> % :t Type
2022-11-16 16:10:12 +0100 <yahb2> <interactive>:1:1: error: Data constructor not in scope: Type
2022-11-16 16:10:12 +0100 <dminuoso> One could still conceive DataKinds creating a *separate* promoted type I guess?
2022-11-16 16:10:16 +0100 <tomsmeding> % :t Data.Kind.Type
2022-11-16 16:10:16 +0100 <yahb2> <interactive>:1:1: error: ; • Illegal term-level use of the type constructor ‘GHC.Types.Type’ ; • In the expression: GHC.Types.Type
2022-11-16 16:10:34 +0100 <dminuoso> tomsmeding: Uh! I have not seen that error before. o.o
2022-11-16 16:10:37 +0100 <tomsmeding> % :k Data.Kind.Type
2022-11-16 16:10:38 +0100 <yahb2> Data.Kind.Type :: *
2022-11-16 16:10:43 +0100 <dminuoso> How does that even exist?
2022-11-16 16:10:49 +0100 <tomsmeding> how about that, all words in one line
2022-11-16 16:10:49 +0100 <dminuoso> Shouldnt GHC emit a "not in scope" error?
2022-11-16 16:10:57 +0100 <tomsmeding> % :t Int
2022-11-16 16:10:57 +0100 <yahb2> <interactive>:1:1: error: ; • Illegal term-level use of the type constructor ‘Int’ ; imported from ‘Prelude’ (and originally defined in ‘GHC.Types’) ; • In the expression: Int
2022-11-16 16:11:22 +0100 <dminuoso> Is this possibly just an GHCi quirk?
2022-11-16 16:11:33 +0100 <tomsmeding> % :set -fprint-star-as-type
2022-11-16 16:11:33 +0100 <yahb2> Some flags have not been recognized: -fprint-star-as-type
2022-11-16 16:12:07 +0100 <dminuoso> tomsmeding: Nice, I also like Data.Data.Data
2022-11-16 16:12:31 +0100 <dminuoso> Also nice is:
2022-11-16 16:12:34 +0100 <dminuoso> type Type = TYPE LiftedRep
2022-11-16 16:12:53 +0100 <dminuoso> That monotic increased usage of capital letters.
2022-11-16 16:13:08 +0100 <kronicmage> thanks tomsmeding!
2022-11-16 16:13:27 +0100 <tomsmeding> % :set -XNoStarIsType
2022-11-16 16:13:28 +0100 <yahb2> <no output>
2022-11-16 16:13:30 +0100razetime(~quassel@117.193.2.3)
2022-11-16 16:13:32 +0100 <tomsmeding> % :k Data.Kind.Type
2022-11-16 16:13:32 +0100 <yahb2> Data.Kind.Type :: Type
2022-11-16 16:13:38 +0100 <tomsmeding> % import Data.Kind
2022-11-16 16:13:38 +0100 <yahb2> <no output>
2022-11-16 16:13:42 +0100 <tomsmeding> % :k Type
2022-11-16 16:13:42 +0100 <yahb2> Type :: Type
2022-11-16 16:13:46 +0100 <tomsmeding> voila, TypeInType
2022-11-16 16:14:05 +0100 <tomsmeding> dminuoso: yeah those are also nice :D
2022-11-16 16:15:11 +0100 <tomsmeding> % import Data.Proxy
2022-11-16 16:15:11 +0100 <yahb2> <no output>
2022-11-16 16:15:17 +0100 <tomsmeding> % data A (a :: Type) = A (Proxy a)
2022-11-16 16:15:17 +0100 <yahb2> <no output>
2022-11-16 16:15:26 +0100 <tomsmeding> dminuoso: not only are types kinds, kinds are also types
2022-11-16 16:15:35 +0100 <tomsmeding> this makes 0 sense
2022-11-16 16:15:47 +0100bitdex_(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds)
2022-11-16 16:16:00 +0100 <tomsmeding> % :set -XTypeApplications
2022-11-16 16:16:00 +0100 <yahb2> <no output>
2022-11-16 16:16:22 +0100 <tomsmeding> oh wait this makes perfect sense
2022-11-16 16:16:26 +0100tomsmedingconfused
2022-11-16 16:16:32 +0100 <tomsmeding> rather, _was_ confused
2022-11-16 16:16:37 +0100 <dminuoso> tomsmeding: why do you keep saying kinds?
2022-11-16 16:16:39 +0100 <dminuoso> we dont have them.
2022-11-16 16:16:57 +0100 <dminuoso> The only relict we have of them is in a couple of diagnostics
2022-11-16 16:16:58 +0100 <tomsmeding> because I refuse to come out of the idealised world where kinds are a well-defined thing
2022-11-16 16:17:43 +0100use-value(~Thunderbi@2a00:23c6:8a03:2f01:bd8e:f305:d2bf:3377)
2022-11-16 16:17:47 +0100simpleauthority(~simpleaut@user/simpleauthority)
2022-11-16 16:18:04 +0100 <dminuoso> Well. Type :: Type
2022-11-16 16:18:10 +0100tomsmedinghides
2022-11-16 16:18:11 +0100 <dminuoso> That says everything there is to know about it.
2022-11-16 16:19:02 +0100bitdex_(~bitdex@gateway/tor-sasl/bitdex)
2022-11-16 16:19:33 +0100use-value1(~Thunderbi@2a00:23c6:8a03:2f01:29a1:b64:95d9:d66d)
2022-11-16 16:21:14 +0100enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
2022-11-16 16:21:59 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2022-11-16 16:22:01 +0100use-value(~Thunderbi@2a00:23c6:8a03:2f01:bd8e:f305:d2bf:3377) (Ping timeout: 252 seconds)
2022-11-16 16:22:01 +0100use-value1use-value
2022-11-16 16:23:03 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2022-11-16 16:30:05 +0100Sgeo(~Sgeo@user/sgeo)
2022-11-16 16:40:50 +0100 <Franciman> Type in Type ftw
2022-11-16 16:42:12 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-11-16 16:44:49 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 260 seconds)
2022-11-16 16:49:08 +0100bitdex_(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-11-16 16:49:53 +0100bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2022-11-16 16:51:43 +0100bitdex_(~bitdex@gateway/tor-sasl/bitdex)
2022-11-16 16:53:27 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:f467:abff:e567:955f)
2022-11-16 16:53:42 +0100freeside(~mengwong@103.252.202.193)
2022-11-16 16:59:26 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Ping timeout: 255 seconds)
2022-11-16 17:00:12 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2022-11-16 17:03:07 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 260 seconds)
2022-11-16 17:05:44 +0100bitdex_(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds)
2022-11-16 17:08:47 +0100bitdex_(~bitdex@gateway/tor-sasl/bitdex)
2022-11-16 17:09:37 +0100mastarija(~mastarija@2a05:4f46:e03:6000:877c:11d6:ba5e:ab59)
2022-11-16 17:11:20 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2022-11-16 17:15:13 +0100jakalx(~jakalx@base.jakalx.net) ()
2022-11-16 17:15:24 +0100jakalx(~jakalx@base.jakalx.net)
2022-11-16 17:15:46 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:f467:abff:e567:955f) (Remote host closed the connection)
2022-11-16 17:17:38 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius)
2022-11-16 17:18:59 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-11-16 17:20:20 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius) (Max SendQ exceeded)
2022-11-16 17:25:16 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:e456:ad2e:a3ee:4a31) (Ping timeout: 252 seconds)
2022-11-16 17:26:11 +0100Tuplanolla(~Tuplanoll@91-159-68-152.elisa-laajakaista.fi)
2022-11-16 17:29:37 +0100kenran(~user@user/kenran) (Remote host closed the connection)
2022-11-16 17:30:12 +0100`2jt(~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) (Ping timeout: 248 seconds)
2022-11-16 17:32:56 +0100lambdabot(~lambdabot@haskell/bot/lambdabot) (Remote host closed the connection)
2022-11-16 17:34:44 +0100bitdex_(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-11-16 17:36:02 +0100earthy(~arthurvl@2a02-a469-f5e2-1-ba27-ebff-fea0-40b0.fixed6.kpn.net)
2022-11-16 17:37:38 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius)
2022-11-16 17:39:47 +0100machinedgod(~machinedg@clnet-p10-126.ikbnet.co.at) (Ping timeout: 256 seconds)
2022-11-16 17:39:57 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius) (Max SendQ exceeded)
2022-11-16 17:40:00 +0100troydm(~troydm@host-176-37-124-197.b025.la.net.ua)
2022-11-16 17:43:36 +0100lambdabot(~lambdabot@silicon.int-e.eu)
2022-11-16 17:43:37 +0100lambdabot(~lambdabot@silicon.int-e.eu) (Changing host)
2022-11-16 17:43:37 +0100lambdabot(~lambdabot@haskell/bot/lambdabot)
2022-11-16 17:44:59 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:f467:abff:e567:955f)
2022-11-16 17:45:12 +0100finsternis(~X@23.226.237.192)
2022-11-16 17:45:47 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Quit: WeeChat 3.7.1)
2022-11-16 17:47:00 +0100chromoblob(~user@37.113.164.122) (Ping timeout: 260 seconds)
2022-11-16 17:47:07 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-11-16 17:47:28 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius)
2022-11-16 17:50:35 +0100machinedgod(~machinedg@clnet-p10-126.ikbnet.co.at)
2022-11-16 17:50:37 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:10c5:1d10:60ac:d312)
2022-11-16 17:51:16 +0100bitdex_(~bitdex@gateway/tor-sasl/bitdex)
2022-11-16 17:53:23 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-11-16 18:00:07 +0100mei(~mei@user/mei) (Quit: mei)
2022-11-16 18:05:31 +0100chromoblob(~user@37.113.164.122)
2022-11-16 18:07:11 +0100califax(~califax@user/califx) (Remote host closed the connection)
2022-11-16 18:08:36 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2022-11-16 18:08:53 +0100img(~img@user/img)
2022-11-16 18:09:14 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2022-11-16 18:09:31 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:f467:abff:e567:955f) (Remote host closed the connection)
2022-11-16 18:09:46 +0100CiaoSen(~Jura@p200300c95701f1002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-11-16 18:09:54 +0100califax(~califax@user/califx)
2022-11-16 18:10:32 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2022-11-16 18:15:22 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1))
2022-11-16 18:16:13 +0100enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
2022-11-16 18:16:57 +0100jakalx(~jakalx@base.jakalx.net) ()
2022-11-16 18:18:10 +0100jakalx(~jakalx@base.jakalx.net)
2022-11-16 18:18:19 +0100CiaoSen(~Jura@p200300c95701f1002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2022-11-16 18:27:13 +0100califax(~califax@user/califx) (Remote host closed the connection)
2022-11-16 18:27:18 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:10c5:1d10:60ac:d312) (Quit: WeeChat 2.8)
2022-11-16 18:32:40 +0100econo(uid147250@user/econo)
2022-11-16 18:36:40 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-11-16 18:36:55 +0100shapr(~user@68.54.166.125)
2022-11-16 18:37:05 +0100bitdex_(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds)
2022-11-16 18:39:15 +0100terrorjack(~terrorjac@2a01:4f8:1c1e:509a::1) (Ping timeout: 260 seconds)
2022-11-16 18:39:43 +0100chele(~chele@user/chele) (Remote host closed the connection)
2022-11-16 18:41:28 +0100mastarija(~mastarija@2a05:4f46:e03:6000:877c:11d6:ba5e:ab59) (Quit: WeeChat 3.5)
2022-11-16 18:41:41 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
2022-11-16 18:43:54 +0100mei(~mei@user/mei)
2022-11-16 18:44:23 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 256 seconds)
2022-11-16 18:44:51 +0100terrorjack(~terrorjac@2a01:4f8:1c1e:509a::1)
2022-11-16 18:45:57 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:f467:abff:e567:955f)
2022-11-16 18:51:16 +0100califax(~califax@user/califx)
2022-11-16 18:54:56 +0100cafkafk(~cafkafk@fsf/member/cafkafk)
2022-11-16 18:58:43 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-11-16 19:03:00 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2022-11-16 19:03:01 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2022-11-16 19:03:01 +0100wroathe(~wroathe@user/wroathe)
2022-11-16 19:05:04 +0100MajorBiscuit(~MajorBisc@86-88-79-148.fixed.kpn.net) (Quit: WeeChat 3.6)
2022-11-16 19:05:12 +0100cafkafk(~cafkafk@fsf/member/cafkafk) (Remote host closed the connection)
2022-11-16 19:07:20 +0100xilo(~xilo@84.32.165.17) (Ping timeout: 252 seconds)
2022-11-16 19:08:27 +0100califax(~califax@user/califx) (Remote host closed the connection)
2022-11-16 19:09:47 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:f467:abff:e567:955f) (Remote host closed the connection)
2022-11-16 19:10:13 +0100shapr(~user@68.54.166.125) (Remote host closed the connection)
2022-11-16 19:11:01 +0100cafkafk(~cafkafk@fsf/member/cafkafk)
2022-11-16 19:11:05 +0100califax(~califax@user/califx)
2022-11-16 19:11:45 +0100vglfr(~vglfr@145.224.100.22) (Read error: Connection reset by peer)
2022-11-16 19:12:39 +0100stiell(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2022-11-16 19:13:00 +0100vglfr(~vglfr@145.224.100.22)
2022-11-16 19:13:49 +0100stiell(~stiell@gateway/tor-sasl/stiell)
2022-11-16 19:15:03 +0100Natch(~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) (Remote host closed the connection)
2022-11-16 19:16:13 +0100nschoe(~q@141.101.51.197) (Ping timeout: 268 seconds)
2022-11-16 19:16:50 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-11-16 19:16:50 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 268 seconds)
2022-11-16 19:18:55 +0100razetime(~quassel@117.193.2.3) (Ping timeout: 260 seconds)
2022-11-16 19:20:27 +0100`2jt(~jtomas@191.red-88-17-199.dynamicip.rima-tde.net)
2022-11-16 19:21:23 +0100mvk(~mvk@2607:fea8:5ce3:8500::4b68) (Quit: Going elsewhere)
2022-11-16 19:23:35 +0100srk(~sorki@user/srk) (Ping timeout: 260 seconds)
2022-11-16 19:26:26 +0100AlexNoo_(~AlexNoo@178.34.161.167)
2022-11-16 19:26:32 +0100tormenatur(uid576041@user/tormenatur) (Quit: Connection closed for inactivity)
2022-11-16 19:26:50 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 240 seconds)
2022-11-16 19:28:14 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2022-11-16 19:28:30 +0100AlexZenon(~alzenon@94.233.241.222) (Ping timeout: 240 seconds)
2022-11-16 19:28:44 +0100Alex_test(~al_test@94.233.241.222) (Ping timeout: 260 seconds)
2022-11-16 19:28:58 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2022-11-16 19:30:00 +0100mvk(~mvk@2607:fea8:5ce3:8500::4b68)
2022-11-16 19:30:17 +0100machinedgod(~machinedg@clnet-p10-126.ikbnet.co.at) (Ping timeout: 256 seconds)
2022-11-16 19:30:24 +0100AlexNoo(~AlexNoo@94.233.241.222) (Ping timeout: 268 seconds)
2022-11-16 19:32:26 +0100Alex_test(~al_test@178.34.161.167)
2022-11-16 19:32:46 +0100AlexZenon(~alzenon@178.34.161.167)
2022-11-16 19:33:15 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-11-16 19:37:32 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2022-11-16 19:38:42 +0100king_gs(~Thunderbi@187.201.139.206)
2022-11-16 19:43:42 +0100Natch(~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se)
2022-11-16 19:44:04 +0100ft(~ft@p508dbd59.dip0.t-ipconnect.de)
2022-11-16 19:48:13 +0100euandreh2(~Thunderbi@189.40.79.96)
2022-11-16 19:48:26 +0100jumper149(~jumper149@base.felixspringer.xyz)
2022-11-16 19:48:47 +0100euandreh(~Thunderbi@179.214.113.107) (Ping timeout: 260 seconds)
2022-11-16 19:48:52 +0100euandreh2euandreh
2022-11-16 19:49:44 +0100euandreh(~Thunderbi@189.40.79.96) (Client Quit)
2022-11-16 19:50:41 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 256 seconds)
2022-11-16 19:54:03 +0100ddellacosta(~ddellacos@143.244.47.83)
2022-11-16 19:54:54 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:f467:abff:e567:955f)
2022-11-16 19:56:44 +0100 <EvanR> is there a startsWith :: Char -> String -> Bool
2022-11-16 19:57:02 +0100 <EvanR> @hoogle Char -> String -> Bool
2022-11-16 19:57:03 +0100 <lambdabot> Basement.String elem :: Char -> String -> Bool
2022-11-16 19:57:03 +0100 <lambdabot> Data.Char.Properties.UnicodeBlocks elemCodeBlock :: Char -> String -> Bool
2022-11-16 19:57:03 +0100 <lambdabot> Algebra.ModuleBasis propDimension :: C a v => a -> v -> Bool
2022-11-16 19:57:21 +0100 <EvanR> @hoogle Eq a => a -> [a] -> Bool
2022-11-16 19:57:22 +0100 <lambdabot> GHC.List elem :: Eq a => a -> [a] -> Bool
2022-11-16 19:57:22 +0100 <lambdabot> GHC.List notElem :: Eq a => a -> [a] -> Bool
2022-11-16 19:57:22 +0100 <lambdabot> GHC.OldList elem :: Eq a => a -> [a] -> Bool
2022-11-16 19:57:27 +0100 <geekosaur> `isPrefixOf`?
2022-11-16 19:57:34 +0100 <EvanR> :t isPrefixOf
2022-11-16 19:57:35 +0100 <lambdabot> Eq a => [a] -> [a] -> Bool
2022-11-16 19:57:39 +0100 <EvanR> fine.
2022-11-16 19:58:21 +0100Guest61(~Guest61@80.71.141.42.ipv4.parknet.dk)
2022-11-16 19:59:10 +0100Guest61(~Guest61@80.71.141.42.ipv4.parknet.dk) (Client Quit)
2022-11-16 20:06:39 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds)
2022-11-16 20:08:04 +0100AlexNoo_AlexNoo
2022-11-16 20:08:55 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:f467:abff:e567:955f) (Remote host closed the connection)
2022-11-16 20:08:56 +0100kenran(~user@user/kenran)
2022-11-16 20:10:42 +0100zebrag(~chris@user/zebrag)
2022-11-16 20:10:56 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2022-11-16 20:12:23 +0100mmhat(~mmh@p200300f1c7050c1bee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
2022-11-16 20:13:27 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-11-16 20:15:14 +0100eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2022-11-16 20:17:41 +0100enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
2022-11-16 20:18:07 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-11-16 20:18:44 +0100xilo(~yourname@84.32.165.17)
2022-11-16 20:21:35 +0100chromoblob(~user@37.113.164.122) (Ping timeout: 268 seconds)
2022-11-16 20:22:51 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds)
2022-11-16 20:23:00 +0100 <dminuoso> EvanR: If possible, you can also put this into pattern matching: `f str@('s':_) ...; f str = ...`
2022-11-16 20:23:11 +0100euandreh(~Thunderbi@179.214.113.107)
2022-11-16 20:24:17 +0100 <EvanR> only works for constant Char...
2022-11-16 20:24:41 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 256 seconds)
2022-11-16 20:24:55 +0100 <EvanR> unlike elixir which lets you reference variables in the pattern...
2022-11-16 20:25:40 +0100lottaquestions_(~nick@104.221.24.83)
2022-11-16 20:25:41 +0100Vajb(~Vajb@2001:999:504:3ad6:52a4:a3b5:32d8:e74d) (Read error: Connection reset by peer)
2022-11-16 20:25:42 +0100 <dminuoso> With elixir thats probably a macro though.
2022-11-16 20:25:45 +0100lottaquestions_(~nick@104.221.24.83) (Client Quit)
2022-11-16 20:25:50 +0100 <dminuoso> Which means we have that in GHC Haskell too. :p
2022-11-16 20:25:56 +0100 <geekosaur> f str@(c:_) | c == foo = ...
2022-11-16 20:26:06 +0100 <dminuoso> Or that, yeah
2022-11-16 20:26:16 +0100lottaquestions_(~nick@104.221.24.83)
2022-11-16 20:26:33 +0100Vajb(~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi)
2022-11-16 20:28:05 +0100lottaquestions(~nick@2607:fa49:503e:7100:bded:99b3:7299:5ee6) (Ping timeout: 256 seconds)
2022-11-16 20:28:22 +0100`2jt(~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) (Ping timeout: 268 seconds)
2022-11-16 20:28:59 +0100troydm(~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 268 seconds)
2022-11-16 20:29:20 +0100mmhat(~mmh@p200300f1c719b9aaee086bfffe095315.dip0.t-ipconnect.de)
2022-11-16 20:29:35 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-11-16 20:30:34 +0100davetapley(sid666@id-666.uxbridge.irccloud.com) (Ping timeout: 252 seconds)
2022-11-16 20:32:09 +0100systemfault(sid267009@id-267009.uxbridge.irccloud.com) (Ping timeout: 252 seconds)
2022-11-16 20:32:53 +0100zebrag(~chris@user/zebrag) (Remote host closed the connection)
2022-11-16 20:33:49 +0100irrgit_(~irrgit@146.70.27.250) (Remote host closed the connection)
2022-11-16 20:34:36 +0100irrgit_(~irrgit@89.47.234.26)
2022-11-16 20:34:37 +0100 <EvanR> filter (\case (c:_) | c == foo = True | otherwise = False; [] -> False) bars
2022-11-16 20:34:42 +0100eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-11-16 20:35:16 +0100davetapley(sid666@id-666.uxbridge.irccloud.com)
2022-11-16 20:35:53 +0100 <EvanR> filter (\case (c:_) -> c == foo; [] -> False) bars
2022-11-16 20:36:01 +0100systemfault(sid267009@id-267009.uxbridge.irccloud.com)
2022-11-16 20:36:03 +0100 <EvanR> not bad
2022-11-16 20:36:40 +0100b20n(sid115913@id-115913.uxbridge.irccloud.com) (Ping timeout: 252 seconds)
2022-11-16 20:40:10 +0100freeside(~mengwong@103.252.202.193)
2022-11-16 20:41:59 +0100systemfault(sid267009@id-267009.uxbridge.irccloud.com) (Ping timeout: 260 seconds)
2022-11-16 20:42:37 +0100b20n(sid115913@uxbridge.irccloud.com)
2022-11-16 20:42:55 +0100mmhat(~mmh@p200300f1c719b9aaee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-11-16 20:44:35 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:f467:abff:e567:955f)
2022-11-16 20:48:03 +0100b20n(sid115913@uxbridge.irccloud.com) (Ping timeout: 260 seconds)
2022-11-16 20:48:05 +0100king_gs(~Thunderbi@187.201.139.206) (Read error: Connection reset by peer)
2022-11-16 20:49:14 +0100shailangsa(~shailangs@109.159.108.137)
2022-11-16 20:49:19 +0100king_gs(~Thunderbi@2806:103e:29:bfeb:c988:bbd5:2586:4924)
2022-11-16 20:49:49 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds)
2022-11-16 20:50:49 +0100fockerize(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-11-16 20:51:21 +0100systemfault(sid267009@uxbridge.irccloud.com)
2022-11-16 20:51:31 +0100SrPx(sid108780@2a03:5180:f:5::1:a8ec) (Ping timeout: 252 seconds)
2022-11-16 20:51:49 +0100alanz(sid110616@id-110616.uxbridge.irccloud.com) (Ping timeout: 268 seconds)
2022-11-16 20:53:20 +0100lyle(~lyle@104.246.145.85) (Quit: WeeChat 3.7.1)
2022-11-16 20:55:26 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2022-11-16 20:56:09 +0100alanz(sid110616@id-110616.uxbridge.irccloud.com)
2022-11-16 20:56:11 +0100mmhat(~mmh@p200300f1c719d069ee086bfffe095315.dip0.t-ipconnect.de)
2022-11-16 20:56:40 +0100SrPx(sid108780@id-108780.uxbridge.irccloud.com)
2022-11-16 20:57:33 +0100systemfault(sid267009@uxbridge.irccloud.com) (Ping timeout: 256 seconds)
2022-11-16 20:59:30 +0100SrPx(sid108780@id-108780.uxbridge.irccloud.com) (Max SendQ exceeded)
2022-11-16 21:00:27 +0100SrPx(sid108780@id-108780.uxbridge.irccloud.com)
2022-11-16 21:00:31 +0100systemfault(sid267009@uxbridge.irccloud.com)
2022-11-16 21:01:08 +0100gmg(~user@user/gehmehgeh)
2022-11-16 21:01:59 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2022-11-16 21:03:21 +0100SrPx(sid108780@id-108780.uxbridge.irccloud.com) (Max SendQ exceeded)
2022-11-16 21:03:50 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2022-11-16 21:04:38 +0100SrPx(sid108780@id-108780.uxbridge.irccloud.com)
2022-11-16 21:04:59 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-11-16 21:05:49 +0100Techcable(~Techcable@user/Techcable) (Ping timeout: 252 seconds)
2022-11-16 21:07:18 +0100b20n(sid115913@id-115913.uxbridge.irccloud.com)
2022-11-16 21:07:38 +0100SrPx(sid108780@id-108780.uxbridge.irccloud.com) (Max SendQ exceeded)
2022-11-16 21:08:25 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-11-16 21:08:44 +0100SrPx(sid108780@id-108780.uxbridge.irccloud.com)
2022-11-16 21:08:57 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:f467:abff:e567:955f) (Remote host closed the connection)
2022-11-16 21:11:40 +0100SrPx(sid108780@id-108780.uxbridge.irccloud.com) (Max SendQ exceeded)
2022-11-16 21:12:59 +0100SrPx(sid108780@id-108780.uxbridge.irccloud.com)
2022-11-16 21:15:13 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-16 21:15:55 +0100SrPx(sid108780@id-108780.uxbridge.irccloud.com) (Max SendQ exceeded)
2022-11-16 21:17:10 +0100mmhat(~mmh@p200300f1c719d069ee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-11-16 21:17:32 +0100mmhat(~mmh@p200300f1c719d097ee086bfffe095315.dip0.t-ipconnect.de)
2022-11-16 21:17:33 +0100Guest75(~Guest75@178.141.130.118)
2022-11-16 21:18:19 +0100SrPx(sid108780@uxbridge.irccloud.com)
2022-11-16 21:19:17 +0100CiaoSen(~Jura@p200300c95701f1002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-11-16 21:19:32 +0100cafkafk(~cafkafk@fsf/member/cafkafk) (Ping timeout: 255 seconds)
2022-11-16 21:23:21 +0100jakalx(~jakalx@base.jakalx.net) ()
2022-11-16 21:26:42 +0100kenran(~user@user/kenran) (Remote host closed the connection)
2022-11-16 21:27:44 +0100ub(~Thunderbi@178.165.179.251.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
2022-11-16 21:28:32 +0100jakalx(~jakalx@base.jakalx.net)
2022-11-16 21:30:11 +0100ub(~Thunderbi@178.165.179.251.wireless.dyn.drei.com)
2022-11-16 21:30:11 +0100vglfr(~vglfr@145.224.100.22) (Write error: Connection reset by peer)
2022-11-16 21:30:24 +0100federico(~federico@93-34-233-131.ip52.fastwebnet.it)
2022-11-16 21:30:46 +0100vglfr(~vglfr@145.224.100.22)
2022-11-16 21:30:51 +0100federico(~federico@93-34-233-131.ip52.fastwebnet.it) (Client Quit)
2022-11-16 21:30:58 +0100bobbingbob(~bobbingbo@2604:3d09:207f:f650::b469)
2022-11-16 21:31:11 +0100gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2022-11-16 21:32:03 +0100gmg(~user@user/gehmehgeh)
2022-11-16 21:34:43 +0100enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
2022-11-16 21:35:31 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:7d33:673a:80f0:1322)
2022-11-16 21:36:07 +0100mmhat(~mmh@p200300f1c719d097ee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-11-16 21:40:10 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 240 seconds)
2022-11-16 21:44:12 +0100coot(~coot@213.134.171.3)
2022-11-16 21:49:40 +0100mmhat(~mmh@p200300f1c71a6d71ee086bfffe095315.dip0.t-ipconnect.de)
2022-11-16 21:53:09 +0100ub(~Thunderbi@178.165.179.251.wireless.dyn.drei.com) (Quit: ub)
2022-11-16 21:53:21 +0100ub(~Thunderbi@178.165.179.251.wireless.dyn.drei.com)
2022-11-16 21:54:07 +0100freeside(~mengwong@103.252.202.193)
2022-11-16 21:54:49 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-11-16 21:59:24 +0100irrgit_(~irrgit@89.47.234.26) (Quit: Leaving)
2022-11-16 21:59:59 +0100notzmv(~zmv@user/notzmv)
2022-11-16 22:01:40 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:7d33:673a:80f0:1322) (Quit: WeeChat 2.8)
2022-11-16 22:05:05 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2022-11-16 22:09:28 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:f467:abff:e567:955f)
2022-11-16 22:11:44 +0100califax(~califax@user/califx) (Ping timeout: 255 seconds)
2022-11-16 22:13:30 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:f467:abff:e567:955f) (Ping timeout: 240 seconds)
2022-11-16 22:14:07 +0100califax(~califax@user/califx)
2022-11-16 22:16:28 +0100califax(~califax@user/califx) (Remote host closed the connection)
2022-11-16 22:17:28 +0100Vajb(~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-11-16 22:17:37 +0100Vajb(~Vajb@2001:999:504:3ad6:52a4:a3b5:32d8:e74d)
2022-11-16 22:18:40 +0100nschoe(~q@2a01:e0a:8e:a190:68cf:faba:8c01:da9f)
2022-11-16 22:18:41 +0100nschoe(~q@2a01:e0a:8e:a190:68cf:faba:8c01:da9f) (Client Quit)
2022-11-16 22:18:45 +0100califax(~califax@user/califx)
2022-11-16 22:19:15 +0100kenaryn(~aurele@89-88-44-27.abo.bbox.fr)
2022-11-16 22:21:51 +0100youziqi(~youziqi@103.37.140.45) (Ping timeout: 260 seconds)
2022-11-16 22:24:18 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
2022-11-16 22:24:55 +0100youziqi(~youziqi@103.37.140.25)
2022-11-16 22:25:43 +0100chromoblob(~user@37.113.164.122)
2022-11-16 22:30:14 +0100king_gs(~Thunderbi@2806:103e:29:bfeb:c988:bbd5:2586:4924) (Quit: king_gs)
2022-11-16 22:31:37 +0100chromoblob(~user@37.113.164.122) (Ping timeout: 256 seconds)
2022-11-16 22:32:35 +0100ub(~Thunderbi@178.165.179.251.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
2022-11-16 22:33:38 +0100pavonia(~user@user/siracusa)
2022-11-16 22:35:42 +0100Dutchgriffon(~Laurens@70.36.53.134)
2022-11-16 22:38:10 +0100michalz(~michalz@185.246.207.197) (Ping timeout: 240 seconds)
2022-11-16 22:38:31 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2022-11-16 22:38:45 +0100lambdabot(~lambdabot@haskell/bot/lambdabot) (Read error: Connection reset by peer)
2022-11-16 22:40:31 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2022-11-16 22:40:47 +0100lambdabot(~lambdabot@silicon.int-e.eu)
2022-11-16 22:40:47 +0100lambdabot(~lambdabot@silicon.int-e.eu) (Changing host)
2022-11-16 22:40:47 +0100lambdabot(~lambdabot@haskell/bot/lambdabot)
2022-11-16 22:43:42 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-11-16 22:44:03 +0100coot(~coot@213.134.171.3) (Quit: coot)
2022-11-16 22:45:35 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-11-16 22:51:44 +0100eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2022-11-16 22:51:56 +0100biberu(~biberu@user/biberu) (Read error: Connection reset by peer)
2022-11-16 22:52:49 +0100biberu(~biberu@user/biberu)
2022-11-16 22:57:52 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 256 seconds)
2022-11-16 23:05:57 +0100eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-11-16 23:07:35 +0100fockerize(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 260 seconds)
2022-11-16 23:07:53 +0100CiaoSen(~Jura@p200300c95701f1002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2022-11-16 23:09:11 +0100phma_(phma@2001:5b0:211f:71d8:b1fb:b9c3:f43b:db91)
2022-11-16 23:09:20 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:f467:abff:e567:955f)
2022-11-16 23:10:36 +0100phma(~phma@host-67-44-208-21.hnremote.net) (Read error: Connection reset by peer)
2022-11-16 23:11:35 +0100freeside(~mengwong@103.252.202.193)
2022-11-16 23:12:07 +0100califax(~califax@user/califx) (Remote host closed the connection)
2022-11-16 23:13:19 +0100AlexNoo_(~AlexNoo@178.34.161.167)
2022-11-16 23:13:47 +0100mei(~mei@user/mei) (Remote host closed the connection)
2022-11-16 23:14:12 +0100mei(~mei@user/mei)
2022-11-16 23:14:41 +0100califax(~califax@user/califx)
2022-11-16 23:15:50 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 240 seconds)
2022-11-16 23:16:41 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:f467:abff:e567:955f) (Remote host closed the connection)
2022-11-16 23:16:49 +0100AlexNoo(~AlexNoo@178.34.161.167) (Ping timeout: 260 seconds)
2022-11-16 23:19:34 +0100gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de)
2022-11-16 23:20:45 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:f467:abff:e567:955f)
2022-11-16 23:22:31 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:f467:abff:e567:955f) (Remote host closed the connection)
2022-11-16 23:23:54 +0100troydm(~troydm@host-176-37-124-197.b025.la.net.ua)
2022-11-16 23:25:59 +0100ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 255 seconds)
2022-11-16 23:26:55 +0100gmg(~user@user/gehmehgeh) (Quit: Leaving)
2022-11-16 23:27:35 +0100ec(~ec@gateway/tor-sasl/ec)
2022-11-16 23:35:49 +0100Erutuon(~Erutuon@user/erutuon)
2022-11-16 23:37:27 +0100hgolden(~hgolden@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection)
2022-11-16 23:39:05 +0100freeside(~mengwong@103.252.202.193)
2022-11-16 23:39:38 +0100hgolden(~hgolden@cpe-172-251-233-141.socal.res.rr.com)
2022-11-16 23:43:51 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 268 seconds)
2022-11-16 23:46:42 +0100AlexNoo_AlexNoo
2022-11-16 23:54:49 +0100DDR(~DDR@2604:3d08:4c7f:8250:843b:f3d0:47c:129e)