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