2022/02/17

2022-02-17 00:00:50 +0100 <sm> my point was just that the shell scripting api in shake is quite nice and complete, having the build system available if you need it is a bonus (quite useful for some scripts, not at all for others)
2022-02-17 00:01:33 +0100 <sm> nice, complete, and maintained
2022-02-17 00:01:47 +0100 <texasmynsted> It is a nice solution/ good idea.
2022-02-17 00:02:12 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-02-17 00:02:34 +0100 <sm> combine it with a stack script header and your script will run for others too
2022-02-17 00:02:40 +0100otherwise(~otherwise@2601:602:880:90f0:5c9b:1a43:72d3:910)
2022-02-17 00:03:51 +0100 <sm> but... on first run, will take massively more time & space than a bash script...
2022-02-17 00:04:12 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 272 seconds)
2022-02-17 00:05:20 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2022-02-17 00:06:30 +0100alp(~alp@user/alp) (Ping timeout: 252 seconds)
2022-02-17 00:06:56 +0100 <sm> (this sad fact, plus the awesome shellcheck, has made me ok with using bash quite often)
2022-02-17 00:08:14 +0100w1n5t0n(~w1n5t0n@cpc83645-brig20-2-0-cust528.3-3.cable.virginm.net) (Ping timeout: 256 seconds)
2022-02-17 00:10:00 +0100romesrf(~romes@44.190.189.46.rev.vodafone.pt) (Quit: WeeChat 3.4)
2022-02-17 00:10:54 +0100acidjnk_new(~acidjnk@pd9e0bb2f.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2022-02-17 00:11:54 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) (Remote host closed the connection)
2022-02-17 00:11:58 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-02-17 00:12:15 +0100 <texasmynsted> yes, I LOVE shellcheck
2022-02-17 00:12:39 +0100 <koala_man> aww, I'm happy you find it useful!
2022-02-17 00:13:03 +0100acidjnk(~acidjnk@dynamic-046-114-170-094.46.114.pool.telefonica.de)
2022-02-17 00:13:24 +0100 <texasmynsted> koala_man: Did you write it?
2022-02-17 00:13:32 +0100 <koala_man> yes
2022-02-17 00:15:01 +0100leah2(~leah@vuxu.org) (Ping timeout: 240 seconds)
2022-02-17 00:15:35 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Quit: taking a break. remember kids, sekai is better than kotonoha)
2022-02-17 00:16:15 +0100Null_A(~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f)
2022-02-17 00:16:22 +0100 <sm> koala_man! thanks as always! you literally made shell scripting safe for humans
2022-02-17 00:16:41 +0100 <texasmynsted> Wow! Well done! I use it and recommend it all the time!
2022-02-17 00:17:18 +0100shapr(~user@pool-173-73-44-186.washdc.fios.verizon.net) (Remote host closed the connection)
2022-02-17 00:17:22 +0100 <maerwald> what started as a rainy weekend project quickly escalated :D
2022-02-17 00:17:27 +0100 <maerwald> at least that's my guess
2022-02-17 00:17:31 +0100shapr(~user@pool-173-73-44-186.washdc.fios.verizon.net)
2022-02-17 00:17:54 +0100 <texasmynsted> On some repos I have a pre-commit script run and if the shell scripts fail shellcheck they can not be committed.
2022-02-17 00:18:11 +0100 <maerwald> I still wish the parser was a separate package
2022-02-17 00:18:28 +0100 <maerwald> there aren't many good (and performant) bash parser in haskell
2022-02-17 00:19:02 +0100coot(~coot@213.134.190.95) (Quit: coot)
2022-02-17 00:19:21 +0100 <maerwald> https://hackage.haskell.org/package/language-bash <- tried this once, performance wasn't good
2022-02-17 00:20:03 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 272 seconds)
2022-02-17 00:20:51 +0100Null_A(~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) (Ping timeout: 250 seconds)
2022-02-17 00:25:21 +0100doyougnu(~doyougnu@cpe-67-249-83-190.twcny.res.rr.com)
2022-02-17 00:27:20 +0100leah2(~leah@vuxu.org)
2022-02-17 00:29:07 +0100little_mac(~little_ma@2601:410:4300:3ce0:e156:8ff4:a2d2:fade)
2022-02-17 00:29:20 +0100 <texasmynsted> Okay, one last thing about shellcheck... It has been a really nice learning tool. I have it running in vi and the "suggestions" have really improved my Bash skill.
2022-02-17 00:30:59 +0100 <sm> absolutely. Makes you wonder if a similar UX could accelerate haskell learning
2022-02-17 00:31:10 +0100 <koala_man> ShellCheck's parser is pretty inherently tied to the checking process with lookaheads for common bugs and such, and I'm glad I don't have to worry about breaking too many downstream users
2022-02-17 00:32:39 +0100 <koala_man> haha isn't that just ghc's type checking?
2022-02-17 00:33:09 +0100 <maerwald[m]> Nah, not even close
2022-02-17 00:34:08 +0100 <maerwald[m]> Typechecker doesn't tell me when I broke laziness accidentally or broke streaming by keeping a reference
2022-02-17 00:35:02 +0100edwardk(sid47016@haskell/developer/edwardk) (Ping timeout: 240 seconds)
2022-02-17 00:35:17 +0100 <maerwald[m]> We have a lazy language, but very few tools to analyze it
2022-02-17 00:35:21 +0100AndreasK(sid320732@id-320732.uxbridge.irccloud.com) (Ping timeout: 245 seconds)
2022-02-17 00:35:21 +0100sa(sid1055@id-1055.tinside.irccloud.com) (Ping timeout: 250 seconds)
2022-02-17 00:35:25 +0100awpr(uid446117@id-446117.lymington.irccloud.com) (Ping timeout: 240 seconds)
2022-02-17 00:35:25 +0100nrr___(sid20938@id-20938.lymington.irccloud.com) (Ping timeout: 240 seconds)
2022-02-17 00:35:25 +0100integral(sid296274@user/integral) (Ping timeout: 240 seconds)
2022-02-17 00:35:25 +0100astra(sid289983@user/amish) (Ping timeout: 240 seconds)
2022-02-17 00:35:28 +0100zeenk(~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5) (Quit: Konversation terminated!)
2022-02-17 00:35:32 +0100elvishjerricco(sid237756@id-237756.helmsley.irccloud.com) (Ping timeout: 240 seconds)
2022-02-17 00:35:32 +0100jmct_(sid160793@id-160793.tinside.irccloud.com) (Ping timeout: 240 seconds)
2022-02-17 00:35:38 +0100caasih(sid13241@id-13241.ilkley.irccloud.com) (Ping timeout: 260 seconds)
2022-02-17 00:35:38 +0100jonrh(sid5185@id-5185.ilkley.irccloud.com) (Ping timeout: 260 seconds)
2022-02-17 00:35:38 +0100grfn(sid449115@id-449115.helmsley.irccloud.com) (Ping timeout: 260 seconds)
2022-02-17 00:35:40 +0100gonz_____(sid304396@id-304396.lymington.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:35:40 +0100hamishmack_(sid389057@id-389057.hampstead.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:35:40 +0100sooch_(sid533113@id-533113.hampstead.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:35:40 +0100lexi-lambda(sid92601@id-92601.hampstead.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:35:40 +0100scav(sid309693@id-309693.helmsley.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:35:40 +0100dpratt__(sid193493@id-193493.helmsley.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:35:40 +0100travv0(sid293381@user/travv0) (Read error: Connection reset by peer)
2022-02-17 00:35:41 +0100typetetris(sid275937@id-275937.tinside.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:35:41 +0100whez(sid470288@id-470288.lymington.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:35:41 +0100carter(sid14827@helmsley.irccloud.com) (Ping timeout: 256 seconds)
2022-02-17 00:35:41 +0100hubvu_(sid495858@tinside.irccloud.com) (Ping timeout: 256 seconds)
2022-02-17 00:35:41 +0100lally(sid388228@id-388228.uxbridge.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:35:41 +0100davetapley(sid666@id-666.uxbridge.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:35:42 +0100rtpg(sid443069@id-443069.ilkley.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:35:42 +0100ysh(sid6017@id-6017.ilkley.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:35:42 +0100SethTisue(sid14912@id-14912.ilkley.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:35:42 +0100gmc(sid58314@id-58314.ilkley.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:35:42 +0100sa1(sid7690@id-7690.ilkley.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:35:42 +0100supersven(sid501114@id-501114.ilkley.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:35:42 +0100ehamberg(sid18208@id-18208.hampstead.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:35:43 +0100dsal(sid13060@id-13060.lymington.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:35:45 +0100bitmapper(uid464869@id-464869.lymington.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:35:47 +0100SanchayanMaity(sid478177@id-478177.hampstead.irccloud.com) (Ping timeout: 250 seconds)
2022-02-17 00:35:47 +0100T_S_(sid501726@id-501726.uxbridge.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:35:48 +0100jmct_(sid160793@id-160793.tinside.irccloud.com)
2022-02-17 00:35:49 +0100PotatoGim(sid99505@id-99505.lymington.irccloud.com) (Ping timeout: 240 seconds)
2022-02-17 00:35:49 +0100hook54321(sid149355@user/hook54321) (Ping timeout: 240 seconds)
2022-02-17 00:35:50 +0100AndreasK(sid320732@id-320732.uxbridge.irccloud.com)
2022-02-17 00:35:50 +0100awpr(uid446117@id-446117.lymington.irccloud.com)
2022-02-17 00:35:51 +0100SethTisue(sid14912@id-14912.ilkley.irccloud.com)
2022-02-17 00:35:51 +0100jackdk(sid373013@cssa/jackdk) (Read error: Connection reset by peer)
2022-02-17 00:35:51 +0100idnar(sid12240@debian/mithrandi) (Read error: Connection reset by peer)
2022-02-17 00:35:52 +0100davetapley(sid666@id-666.uxbridge.irccloud.com)
2022-02-17 00:35:52 +0100dsal(sid13060@id-13060.lymington.irccloud.com)
2022-02-17 00:35:53 +0100edwardk(sid47016@haskell/developer/edwardk)
2022-02-17 00:35:53 +0100ysh(sid6017@id-6017.ilkley.irccloud.com)
2022-02-17 00:35:53 +0100jonrh(sid5185@id-5185.ilkley.irccloud.com)
2022-02-17 00:35:53 +0100taktoa[c](sid282096@id-282096.tinside.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:35:53 +0100christiaanb(sid84827@id-84827.lymington.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:35:53 +0100aria(sid380617@lymington.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:35:54 +0100hamishmack_(sid389057@id-389057.hampstead.irccloud.com)
2022-02-17 00:35:54 +0100gonz_____(sid304396@id-304396.lymington.irccloud.com)
2022-02-17 00:35:55 +0100bitmapper(uid464869@id-464869.lymington.irccloud.com)
2022-02-17 00:35:55 +0100_0x47_(sid508683@id-508683.tinside.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:35:56 +0100pepeiborra(sid443799@id-443799.ilkley.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:35:58 +0100rubin55(sid175221@id-175221.hampstead.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:35:58 +0100supersven(sid501114@id-501114.ilkley.irccloud.com)
2022-02-17 00:35:59 +0100glowcoil_(sid3405@id-3405.tinside.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:35:59 +0100rtpg(sid443069@id-443069.ilkley.irccloud.com)
2022-02-17 00:35:59 +0100gmc(sid58314@id-58314.ilkley.irccloud.com)
2022-02-17 00:36:00 +0100sunarch(uid526836@user/sunarch) (Read error: Connection reset by peer)
2022-02-17 00:36:00 +0100bw(sid2730@user/betawaffle) (Read error: Connection reset by peer)
2022-02-17 00:36:00 +0100tritlo(sid58727@user/tritlo) (Read error: Connection reset by peer)
2022-02-17 00:36:00 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:36:00 +0100mustafa(sid502723@rockylinux/releng/mustafa) (Read error: Connection reset by peer)
2022-02-17 00:36:01 +0100T_S_(sid501726@id-501726.uxbridge.irccloud.com)
2022-02-17 00:36:02 +0100caimeo(uid540603@id-540603.lymington.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:36:02 +0100Firedancer(sid336191@id-336191.hampstead.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:36:03 +0100jakesyl__(sid56879@id-56879.hampstead.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:36:03 +0100gregberns__(sid315709@id-315709.helmsley.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 00:36:07 +0100idnar(sid12240@debian/mithrandi)
2022-02-17 00:36:07 +0100typetetris(sid275937@id-275937.tinside.irccloud.com)
2022-02-17 00:36:13 +0100gregberns__(sid315709@id-315709.helmsley.irccloud.com)
2022-02-17 00:36:14 +0100sooch_(sid533113@id-533113.hampstead.irccloud.com)
2022-02-17 00:36:15 +0100nrr___(sid20938@id-20938.lymington.irccloud.com)
2022-02-17 00:36:19 +0100pepeiborra(sid443799@id-443799.ilkley.irccloud.com)
2022-02-17 00:36:21 +0100taktoa[c](sid282096@id-282096.tinside.irccloud.com)
2022-02-17 00:36:21 +0100SanchayanMaity(sid478177@id-478177.hampstead.irccloud.com)
2022-02-17 00:36:23 +0100_0x47_(sid508683@id-508683.tinside.irccloud.com)
2022-02-17 00:36:26 +0100caasih(sid13241@id-13241.ilkley.irccloud.com)
2022-02-17 00:36:26 +0100carter(sid14827@id-14827.helmsley.irccloud.com)
2022-02-17 00:36:27 +0100rubin55(sid175221@id-175221.hampstead.irccloud.com)
2022-02-17 00:36:27 +0100caimeo(uid540603@id-540603.lymington.irccloud.com)
2022-02-17 00:36:28 +0100hubvu_(sid495858@id-495858.tinside.irccloud.com)
2022-02-17 00:36:31 +0100whez(sid470288@2a03:5180:f:2::7:2d10)
2022-02-17 00:36:31 +0100ehamberg(sid18208@id-18208.hampstead.irccloud.com)
2022-02-17 00:36:32 +0100glowcoil_(sid3405@2a03:5180:f::d4d)
2022-02-17 00:36:36 +0100lally(sid388228@id-388228.uxbridge.irccloud.com)
2022-02-17 00:36:41 +0100christiaanb(sid84827@id-84827.lymington.irccloud.com)
2022-02-17 00:36:44 +0100grfn(sid449115@2a03:5180:f:1::6:da5b)
2022-02-17 00:36:44 +0100sa1(sid7690@2a03:5180:f:3::1e0a)
2022-02-17 00:36:44 +0100sunarch(sid526836@user/sunarch)
2022-02-17 00:36:50 +0100jackdk(sid373013@cssa/jackdk)
2022-02-17 00:36:50 +0100lexi-lambda(sid92601@id-92601.hampstead.irccloud.com)
2022-02-17 00:36:50 +0100aria(sid380617@2a03:5180:f:2::5:cec9)
2022-02-17 00:36:51 +0100travv0(sid293381@user/travv0)
2022-02-17 00:36:51 +0100tritlo(sid58727@user/tritlo)
2022-02-17 00:36:51 +0100PotatoGim(sid99505@id-99505.lymington.irccloud.com)
2022-02-17 00:36:53 +0100elvishjerricco(sid237756@id-237756.helmsley.irccloud.com)
2022-02-17 00:36:53 +0100scav(sid309693@id-309693.helmsley.irccloud.com)
2022-02-17 00:36:55 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com)
2022-02-17 00:36:55 +0100Firedancer(sid336191@id-336191.hampstead.irccloud.com)
2022-02-17 00:36:59 +0100dpratt__(sid193493@2a03:5180:f:1::2:f3d5)
2022-02-17 00:36:59 +0100jakesyl__(sid56879@2a03:5180:f:4::de2f)
2022-02-17 00:37:06 +0100mustafa(sid502723@rockylinux/releng/mustafa)
2022-02-17 00:37:07 +0100bw(sid2730@user/betawaffle)
2022-02-17 00:37:08 +0100astra(sid289983@2a03:5180:f:4::4:6cbf)
2022-02-17 00:37:08 +0100integral(sid296274@user/integral)
2022-02-17 00:37:10 +0100sa(sid1055@2a03:5180:f::41f)
2022-02-17 00:37:40 +0100little_mac(~little_ma@2601:410:4300:3ce0:e156:8ff4:a2d2:fade) (Quit: Leaving)
2022-02-17 00:37:55 +0100little_mac(~little_ma@2601:410:4300:3ce0:e156:8ff4:a2d2:fade)
2022-02-17 00:38:07 +0100hook54321(sid149355@user/hook54321)
2022-02-17 00:39:01 +0100 <monochrom> C and shell have too many low hanging fruits, this is why a lint tool that merely looks for "if (n = 4)" and "printf("%s", 5)" pays off, and hlint feels so different even though (actually because) it is just picking on similar low hanging fruits.
2022-02-17 00:39:09 +0100 <EvanR> on the bright side, we could be using javascript, whose type system doesn't tell you about performance or anything else
2022-02-17 00:39:18 +0100 <monochrom> (i.e., lint feels profound whereas hlint feels superficial)
2022-02-17 00:39:57 +0100 <monochrom> Yes laziness mistakes and eagerness mistakes are much wanted, unfortunately they mean crazy static analyses that linter writers can't do.
2022-02-17 00:41:19 +0100 <monochrom> i.e., a C or shell linter can be just a pushdown automaton, a laziness and eagerness warner takes much more than that.
2022-02-17 00:41:42 +0100acidjnk(~acidjnk@dynamic-046-114-170-094.46.114.pool.telefonica.de) (Ping timeout: 252 seconds)
2022-02-17 00:43:16 +0100 <koala_man> there's always dynamic analysis
2022-02-17 00:43:41 +0100jgeerds(~jgeerds@55d4b9df.access.ecotel.net)
2022-02-17 00:46:22 +0100 <koala_man> it's incredible what V8 can do with a language as optimization hostile as JS
2022-02-17 00:47:02 +0100burnsidesLlama(~burnsides@dhcp168-021.wadham.ox.ac.uk) (Remote host closed the connection)
2022-02-17 00:47:48 +0100finsternis(~X@23.226.237.192) (Ping timeout: 240 seconds)
2022-02-17 00:48:14 +0100 <sm> I guess hlint and hls' other plugins are doing the kind of thing for my haskell code that shellcheck is doing for bash. (Popping up useful warnings and hints as I edit.) Obviously it's a bigger, more multi-level task for Haskell
2022-02-17 00:48:30 +0100Null_A(~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f)
2022-02-17 00:48:43 +0100 <monochrom> Here is a low hanging fruit though. GHC already does a good chunk of the crazy strictness analysis, not perfect but if it's good enough for code optimization it's very good. It records its finding in FC (aka core, but now I like the name FC more) and STG outputs. If you could just add code to bring that annotation back to source level and show in your editor...
2022-02-17 00:49:24 +0100 <sm> they should take a leaf from shellcheck's book: name common errors and link to a wiki page
2022-02-17 00:49:44 +0100 <Rembane> Is there enough information in FC to bring it back? Or have they thrown away all of that.
2022-02-17 00:49:49 +0100 <sm> agreed, monochrom
2022-02-17 00:49:54 +0100 <geekosaur> the AST has source annotations
2022-02-17 00:49:55 +0100 <monochrom> It doesn't tell you whether your laziness decisions are right or wrong, but at least it tells you what GHC is seeing, and you can compare against what you expect.
2022-02-17 00:50:17 +0100 <geekosaur> they may be complicated by inlining and rewrites, though
2022-02-17 00:52:21 +0100 <sm> aside: https://hfpug.org/event/joey-hess-programming-ardinos-with-haskell-and-nasas-copilot starting in 1h
2022-02-17 00:53:00 +0100Null_A(~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) (Ping timeout: 240 seconds)
2022-02-17 00:58:28 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222)
2022-02-17 00:59:45 +0100otherwise(~otherwise@2601:602:880:90f0:5c9b:1a43:72d3:910) (Remote host closed the connection)
2022-02-17 01:03:10 +0100 <janus> that sounds super cool
2022-02-17 01:08:29 +0100Neuromancer(~Neuromanc@user/neuromancer) (Read error: Connection reset by peer)
2022-02-17 01:09:47 +0100xkuru(~xkuru@user/xkuru) (Read error: Connection reset by peer)
2022-02-17 01:10:14 +0100xkuru(~xkuru@user/xkuru)
2022-02-17 01:10:36 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 240 seconds)
2022-02-17 01:10:36 +0100hololeap(~hololeap@user/hololeap) (Ping timeout: 240 seconds)
2022-02-17 01:10:51 +0100machinedgod(~machinedg@24.105.81.50)
2022-02-17 01:11:01 +0100hololeap(~hololeap@user/hololeap)
2022-02-17 01:11:07 +0100dka(~code-is-a@ns3059207.ip-193-70-33.eu) (Ping timeout: 256 seconds)
2022-02-17 01:11:28 +0100elkcl(~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) (Read error: Connection reset by peer)
2022-02-17 01:11:35 +0100elkcl(~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru)
2022-02-17 01:11:36 +0100tiferrei(~tiferrei@user/tiferrei) (Ping timeout: 240 seconds)
2022-02-17 01:11:41 +0100xdej(~xdej@quatramaran.salle-s.org) (Ping timeout: 256 seconds)
2022-02-17 01:13:10 +0100wyrd(~wyrd@gateway/tor-sasl/wyrd) (Remote host closed the connection)
2022-02-17 01:13:10 +0100xdej(~xdej@quatramaran.salle-s.org)
2022-02-17 01:13:29 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2022-02-17 01:14:52 +0100Alex_test(~al_test@94.233.240.208) (Read error: Connection reset by peer)
2022-02-17 01:14:55 +0100dka(~code-is-a@ns3059207.ip-193-70-33.eu)
2022-02-17 01:15:08 +0100Alex_test(~al_test@94.233.240.208)
2022-02-17 01:18:22 +0100wyrd(~wyrd@gateway/tor-sasl/wyrd)
2022-02-17 01:19:55 +0100burnsidesLlama(~burnsides@dhcp168-021.wadham.ox.ac.uk)
2022-02-17 01:22:01 +0100k8yun(~k8yun@user/k8yun) (Quit: Leaving)
2022-02-17 01:22:29 +0100k8yun(~k8yun@user/k8yun)
2022-02-17 01:24:12 +0100burnsidesLlama(~burnsides@dhcp168-021.wadham.ox.ac.uk) (Ping timeout: 240 seconds)
2022-02-17 01:25:31 +0100wyrd(~wyrd@gateway/tor-sasl/wyrd) (Remote host closed the connection)
2022-02-17 01:25:43 +0100wyrd(~wyrd@gateway/tor-sasl/wyrd)
2022-02-17 01:26:42 +0100yauhsien_(~Yau-Hsien@61-231-32-166.dynamic-ip.hinet.net)
2022-02-17 01:26:43 +0100ph88^(~ph88@2a02:8109:9e00:71d0:a0c0:cbe9:2589:5782)
2022-02-17 01:26:44 +0100 <[itchyjunk]> Hi
2022-02-17 01:26:44 +0100x_kuru(~xkuru@user/xkuru)
2022-02-17 01:26:59 +0100 <[itchyjunk]> I slacked off and I can't remember anything it seems. Could someone proof read this for me?
2022-02-17 01:27:00 +0100 <[itchyjunk]> https://bpa.st/QLQA
2022-02-17 01:27:24 +0100tzh_(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2022-02-17 01:27:24 +0100 <[itchyjunk]> I tested it and it kinda seems to work now but i don't know if i checked all cases
2022-02-17 01:27:32 +0100jinsun(~jinsun@user/jinsun)
2022-02-17 01:27:39 +0100vicfred_(~vicfred@user/vicfred)
2022-02-17 01:27:53 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Read error: Connection reset by peer)
2022-02-17 01:27:53 +0100vicfred(~vicfred@user/vicfred) (Read error: Connection reset by peer)
2022-02-17 01:27:53 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Quit: Ping timeout (120 seconds))
2022-02-17 01:27:53 +0100Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Write error: Connection reset by peer)
2022-02-17 01:28:05 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-02-17 01:28:12 +0100Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net)
2022-02-17 01:28:39 +0100 <monochrom> I think it's right.
2022-02-17 01:28:50 +0100 <[itchyjunk]> phew
2022-02-17 01:28:57 +0100 <monochrom> Have you tested it?
2022-02-17 01:29:26 +0100 <[itchyjunk]> i tried one case of [1,2] [1..5]
2022-02-17 01:29:43 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Ping timeout: 272 seconds)
2022-02-17 01:29:50 +0100 <[itchyjunk]> Guess i have mastered cartisian product
2022-02-17 01:30:01 +0100cheater1__(~Username@user/cheater)
2022-02-17 01:30:21 +0100xkuru(~xkuru@user/xkuru) (Ping timeout: 272 seconds)
2022-02-17 01:30:21 +0100ph88(~ph88@ip5f5af71f.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds)
2022-02-17 01:30:21 +0100yauhsien(~Yau-Hsien@61-231-32-166.dynamic-ip.hinet.net) (Ping timeout: 272 seconds)
2022-02-17 01:30:21 +0100jinsun__(~jinsun@user/jinsun) (Ping timeout: 272 seconds)
2022-02-17 01:30:21 +0100cheater(~Username@user/cheater) (Ping timeout: 272 seconds)
2022-02-17 01:30:25 +0100cheater1__cheater
2022-02-17 01:30:43 +0100otherwise(~otherwise@2601:602:880:90f0:b4d0:57c1:4b9f:3ace)
2022-02-17 01:31:41 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-02-17 01:32:12 +0100dhil(~dhil@cpc103052-sgyl39-2-0-cust260.18-2.cable.virginm.net) (Ping timeout: 240 seconds)
2022-02-17 01:32:57 +0100vicfred_(~vicfred@user/vicfred) (Quit: Leaving)
2022-02-17 01:33:42 +0100BrokenClutch(~pioneer@2804:d41:c291:0:6129:66a9:49aa:83e7) (Remote host closed the connection)
2022-02-17 01:35:36 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-17 01:35:36 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-17 01:35:36 +0100wroathe(~wroathe@user/wroathe)
2022-02-17 01:35:38 +0100max22-(~maxime@2a01cb088335980088882a515c4c342d.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
2022-02-17 01:39:36 +0100nunggu_(~q@user/nunggu) (Ping timeout: 240 seconds)
2022-02-17 01:41:59 +0100Pickchea(~private@user/pickchea) (Ping timeout: 256 seconds)
2022-02-17 01:42:36 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 240 seconds)
2022-02-17 01:44:55 +0100jgeerds(~jgeerds@55d4b9df.access.ecotel.net) (Ping timeout: 250 seconds)
2022-02-17 01:48:57 +0100hgolden(~hgolden2@cpe-172-114-81-123.socal.res.rr.com) (Quit: Konversation terminated!)
2022-02-17 01:49:40 +0100mvk(~mvk@2607:fea8:5cdc:bf00::99e7)
2022-02-17 01:50:04 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2022-02-17 01:56:26 +0100little_mac(~little_ma@2601:410:4300:3ce0:e156:8ff4:a2d2:fade) (Quit: Leaving)
2022-02-17 01:57:34 +0100little_mac(~little_ma@2601:410:4300:3ce0:74f2:75c0:910a:f39d)
2022-02-17 01:58:15 +0100 <[itchyjunk]> Does haskell have affine types?
2022-02-17 01:58:30 +0100 <[itchyjunk]> Apparently if you pass something to a function, it stops existing in original scope
2022-02-17 01:58:33 +0100 <[itchyjunk]> for affine types
2022-02-17 02:00:24 +0100yauhsien(~yauhsien@61-231-32-166.dynamic-ip.hinet.net)
2022-02-17 02:04:57 +0100yauhsien(~yauhsien@61-231-32-166.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-02-17 02:04:59 +0100 <hpc> i think an extension for it is in progress?
2022-02-17 02:05:14 +0100 <hpc> or it's released fairly recently and i am just out of the loop
2022-02-17 02:05:50 +0100 <geekosaur> I thought that was only linear, not affine
2022-02-17 02:06:13 +0100 <geekosaur> 9.x has linear types
2022-02-17 02:07:16 +0100 <geekosaur> https://downloads.haskell.org/ghc/latest/docs/html/users_guide/exts/linear_types.html
2022-02-17 02:07:59 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2022-02-17 02:08:03 +0100 <hpc> that's what it was
2022-02-17 02:10:33 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-02-17 02:10:53 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 272 seconds)
2022-02-17 02:11:24 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-02-17 02:15:54 +0100capo_greco(~textual@60-241-161-167.static.tpgi.com.au)
2022-02-17 02:16:40 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-02-17 02:17:12 +0100capo_greco(~textual@60-241-161-167.static.tpgi.com.au) (Read error: Connection reset by peer)
2022-02-17 02:17:31 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-17 02:17:31 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-17 02:17:31 +0100wroathe(~wroathe@user/wroathe)
2022-02-17 02:21:08 +0100burnsidesLlama(~burnsides@dhcp168-021.wadham.ox.ac.uk)
2022-02-17 02:21:57 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-17 02:23:17 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 02:23:33 +0100k8yun(~k8yun@user/k8yun) (Read error: Connection reset by peer)
2022-02-17 02:24:00 +0100k8yun(~k8yun@user/k8yun)
2022-02-17 02:27:20 +0100burnsidesLlama(~burnsides@dhcp168-021.wadham.ox.ac.uk) (Ping timeout: 272 seconds)
2022-02-17 02:28:37 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-17 02:28:38 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-17 02:28:38 +0100wroathe(~wroathe@user/wroathe)
2022-02-17 02:42:25 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-02-17 02:46:05 +0100EvanR(~EvanR@user/evanr) (Remote host closed the connection)
2022-02-17 02:46:25 +0100EvanR(~EvanR@user/evanr)
2022-02-17 02:52:41 +0100k8yun(~k8yun@user/k8yun) (Ping timeout: 272 seconds)
2022-02-17 02:53:40 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) (Remote host closed the connection)
2022-02-17 02:54:34 +0100pavonia(~user@user/siracusa) (Read error: Connection reset by peer)
2022-02-17 02:55:51 +0100Guest|64(~Guest|64@201.143.122.9.dsl.dyn.telnor.net)
2022-02-17 02:56:02 +0100 <Guest|64> Hello, is anyone online?
2022-02-17 02:56:18 +0100 <dibblego> quick everyone, he's here, run! Go offline!
2022-02-17 02:56:36 +0100pavonia(~user@user/siracusa)
2022-02-17 02:56:48 +0100 <Guest|64> Yeah sure hhaha, i need someone who knows about installing heskell
2022-02-17 02:57:07 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.4)
2022-02-17 02:57:39 +0100 <Guest|64> I tried to install it by GHCup but when i add the code given by the page it doesn't work
2022-02-17 03:00:33 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 03:01:39 +0100k8yun(~k8yun@user/k8yun)
2022-02-17 03:01:42 +0100 <sm> @where paste , Guest|64
2022-02-17 03:01:42 +0100 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
2022-02-17 03:03:02 +0100unyu(~pyon@user/pyon) (Quit: Reboot.)
2022-02-17 03:03:23 +0100k8yun_(~k8yun@user/k8yun)
2022-02-17 03:03:29 +0100wroathe(~wroathe@user/wroathe) (Read error: Connection reset by peer)
2022-02-17 03:03:42 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-17 03:03:42 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-17 03:03:42 +0100wroathe(~wroathe@user/wroathe)
2022-02-17 03:06:55 +0100mixfix41(~homefame@user/mixfix41)
2022-02-17 03:07:00 +0100Guest|64(~Guest|64@201.143.122.9.dsl.dyn.telnor.net) (Ping timeout: 240 seconds)
2022-02-17 03:07:53 +0100k8yun(~k8yun@user/k8yun) (Ping timeout: 272 seconds)
2022-02-17 03:08:40 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 03:08:46 +0100jackson99(~bc8147f2@cerf.good1.com) (Quit: CGI:IRC (Ping timeout))
2022-02-17 03:08:52 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 03:09:48 +0100alphabeta(~kilolympu@31.205.200.235) (Ping timeout: 240 seconds)
2022-02-17 03:12:20 +0100vysn(~vysn@user/vysn)
2022-02-17 03:13:53 +0100kilolympus(~kilolympu@vpn-fn-230.net.ed.ac.uk)
2022-02-17 03:15:04 +0100Guest65(~Guest65@2607:fea8:929c:cc00:3d8d:6a28:2200:cb82)
2022-02-17 03:15:27 +0100 <Guest65> Just curious, why not use discord?
2022-02-17 03:16:01 +0100mbuf(~Shakthi@122.162.135.157)
2022-02-17 03:16:20 +0100Guest65(~Guest65@2607:fea8:929c:cc00:3d8d:6a28:2200:cb82) (Client Quit)
2022-02-17 03:17:30 +0100 <jackdk> must not have been that curious
2022-02-17 03:19:00 +0100doyougnu(~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) (Ping timeout: 252 seconds)
2022-02-17 03:22:39 +0100 <mixfix41> can it be bad if ghc-pkg list has the same package twice?
2022-02-17 03:24:44 +0100 <mixfix41> welp doesnt seem to be the case as my hackage-security package as progress further after configure library profiling 8-D
2022-02-17 03:25:06 +0100 <mixfix41> has*
2022-02-17 03:25:11 +0100acidsys(~LSD@2a03:4000:55:d20::3) (Excess Flood)
2022-02-17 03:25:30 +0100[_](~itchyjunk@user/itchyjunk/x-7353470)
2022-02-17 03:27:37 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 250 seconds)
2022-02-17 03:27:44 +0100[_][itchyjunk]
2022-02-17 03:28:17 +0100acidsys(~LSD@2a03:4000:55:d20::3)
2022-02-17 03:31:57 +0100hololeap_(~hololeap@user/hololeap)
2022-02-17 03:33:22 +0100ph88_(~ph88@2a02:8109:9e00:71d0:885b:9523:dc87:45b3)
2022-02-17 03:33:33 +0100justGhost(~justache@user/justache) (Remote host closed the connection)
2022-02-17 03:33:40 +0100zer0bitz_(~zer0bitz@2001:2003:f74d:b800:3511:c1b2:b4e7:7f1c)
2022-02-17 03:34:32 +0100justGhost(~justache@user/justache)
2022-02-17 03:36:43 +0100ph88^(~ph88@2a02:8109:9e00:71d0:a0c0:cbe9:2589:5782) (Ping timeout: 250 seconds)
2022-02-17 03:37:01 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-02-17 03:37:35 +0100zer0bitz(~zer0bitz@2001:2003:f74d:b800:c9dd:301:29f7:88f5) (Ping timeout: 250 seconds)
2022-02-17 03:38:16 +0100hololeap(~hololeap@user/hololeap) (Ping timeout: 240 seconds)
2022-02-17 03:40:09 +0100gaff(~gaff@49.207.200.248)
2022-02-17 03:47:36 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
2022-02-17 03:47:36 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222)
2022-02-17 03:50:17 +0100unyu(~pyon@user/pyon)
2022-02-17 03:50:28 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-02-17 03:52:33 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-02-17 03:53:39 +0100xff0x(~xff0x@2001:1a81:5217:d600:567:b7a:e54:e078) (Ping timeout: 252 seconds)
2022-02-17 03:54:10 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 03:54:46 +0100kanin(~kanin@112.41.64.39) (Read error: Connection reset by peer)
2022-02-17 03:55:26 +0100xff0x(~xff0x@2001:1a81:5253:2500:d5b4:d592:9ef0:44dd)
2022-02-17 04:03:04 +0100c209e6dc-4d76-47(~aditya@2601:249:4300:1296:195:dac6:592c:a55a) (Quit: Konversation terminated!)
2022-02-17 04:03:37 +0100neurocyte0917090(~neurocyte@user/neurocyte) (Ping timeout: 272 seconds)
2022-02-17 04:09:34 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-02-17 04:10:03 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2022-02-17 04:10:11 +0100Null_A(~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f)
2022-02-17 04:11:13 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
2022-02-17 04:12:47 +0100ttys(~ttys@cpc83645-brig20-2-0-cust528.3-3.cable.virginm.net)
2022-02-17 04:14:36 +0100c209e6dc-4d76-47(~aditya@c-73-103-92-95.hsd1.in.comcast.net)
2022-02-17 04:14:37 +0100Null_A(~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) (Ping timeout: 240 seconds)
2022-02-17 04:14:51 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-02-17 04:15:37 +0100c209e6dc-4d76-47(~aditya@c-73-103-92-95.hsd1.in.comcast.net) (Client Quit)
2022-02-17 04:16:00 +0100ttys(~ttys@cpc83645-brig20-2-0-cust528.3-3.cable.virginm.net) (Client Quit)
2022-02-17 04:21:31 +0100finn_elija(~finn_elij@user/finn-elija/x-0085643)
2022-02-17 04:21:31 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-02-17 04:21:31 +0100finn_elijaFinnElija
2022-02-17 04:24:58 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 04:27:28 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-02-17 04:27:44 +0100hyiltiz(~quassel@31.220.5.250) (Ping timeout: 252 seconds)
2022-02-17 04:27:49 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-02-17 04:28:18 +0100td_(~td@muedsl-82-207-238-242.citykom.de) (Ping timeout: 252 seconds)
2022-02-17 04:29:16 +0100emf(~emf@c-73-97-137-43.hsd1.wa.comcast.net) (Read error: Connection reset by peer)
2022-02-17 04:29:27 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2022-02-17 04:30:15 +0100td_(~td@muedsl-82-207-238-135.citykom.de)
2022-02-17 04:31:33 +0100hyiltiz(~quassel@31.220.5.250)
2022-02-17 04:32:21 +0100x_kuru(~xkuru@user/xkuru) (Read error: Connection reset by peer)
2022-02-17 04:35:16 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Ping timeout: 240 seconds)
2022-02-17 04:35:54 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2022-02-17 04:40:53 +0100gaff(~gaff@49.207.200.248) (Remote host closed the connection)
2022-02-17 04:41:09 +0100gaff(~gaff@49.207.200.248)
2022-02-17 04:44:27 +0100Null_A(~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f)
2022-02-17 04:45:27 +0100deadmarshal(~deadmarsh@95.38.116.130)
2022-02-17 04:48:09 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-17 04:48:57 +0100Null_A(~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) (Ping timeout: 240 seconds)
2022-02-17 04:53:31 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-17 04:53:31 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-17 04:53:31 +0100wroathe(~wroathe@user/wroathe)
2022-02-17 04:58:21 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-17 05:00:12 +0100zer0bitz_(~zer0bitz@2001:2003:f74d:b800:3511:c1b2:b4e7:7f1c) (Ping timeout: 240 seconds)
2022-02-17 05:04:43 +0100Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Remote host closed the connection)
2022-02-17 05:04:43 +0100k8yun__(~k8yun@user/k8yun)
2022-02-17 05:08:12 +0100k8yun_(~k8yun@user/k8yun) (Ping timeout: 240 seconds)
2022-02-17 05:10:13 +0100drdo(~drdo@roach0.drdo.eu) (Quit: Ping timeout (120 seconds))
2022-02-17 05:10:30 +0100Null_A(~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f)
2022-02-17 05:10:35 +0100drdo(~drdo@roach0.drdo.eu)
2022-02-17 05:11:41 +0100k8yun__(~k8yun@user/k8yun) (Quit: Leaving)
2022-02-17 05:12:25 +0100little_mac_(~little_ma@2601:410:4300:3ce0:74f2:75c0:910a:f39d)
2022-02-17 05:12:42 +0100little_mac(~little_ma@2601:410:4300:3ce0:74f2:75c0:910a:f39d) (Read error: Connection reset by peer)
2022-02-17 05:17:04 +0100capo_greco(~textual@60-241-161-167.static.tpgi.com.au)
2022-02-17 05:18:02 +0100capo_greco(~textual@60-241-161-167.static.tpgi.com.au) (Client Quit)
2022-02-17 05:21:33 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 05:26:34 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 272 seconds)
2022-02-17 05:46:13 +0100waleee(~waleee@h-98-128-229-110.NA.cust.bahnhof.se) (Ping timeout: 272 seconds)
2022-02-17 05:46:23 +0100zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2022-02-17 05:47:20 +0100zaquest(~notzaques@5.130.79.72)
2022-02-17 05:48:49 +0100dsrt^(~dsrt@50.235.176.163) (Remote host closed the connection)
2022-02-17 05:49:00 +0100deadmarshal(~deadmarsh@95.38.116.130) (Ping timeout: 240 seconds)
2022-02-17 05:51:06 +0100gaff(~gaff@49.207.200.248) (Quit: Bye ...)
2022-02-17 05:52:31 +0100chenqisu1(~chenqisu1@183.217.200.249)
2022-02-17 06:00:37 +0100mvk(~mvk@2607:fea8:5cdc:bf00::99e7) (Ping timeout: 240 seconds)
2022-02-17 06:02:21 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 252 seconds)
2022-02-17 06:03:06 +0100otherwise(~otherwise@2601:602:880:90f0:b4d0:57c1:4b9f:3ace) (Remote host closed the connection)
2022-02-17 06:04:15 +0100Null_A(~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) (Read error: Connection reset by peer)
2022-02-17 06:04:58 +0100Erutuon(~Erutuon@user/erutuon)
2022-02-17 06:14:58 +0100pragma-(~chaos@user/pragmatic-chaos)
2022-02-17 06:15:17 +0100slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2022-02-17 06:18:54 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 06:21:28 +0100Null_A(~null_a@c-98-210-133-39.hsd1.ca.comcast.net)
2022-02-17 06:25:32 +0100bitmapper(uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-02-17 06:25:48 +0100Null_A(~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2022-02-17 06:38:03 +0100otherwise(~otherwise@2601:602:880:90f0:f487:90ca:651c:5bea)
2022-02-17 06:41:11 +0100bahamas(~lucian@84.232.140.52)
2022-02-17 06:47:41 +0100mc47(~mc47@xmonad/TheMC47)
2022-02-17 06:55:48 +0100bahamas(~lucian@84.232.140.52) (Ping timeout: 240 seconds)
2022-02-17 06:59:42 +0100deadmarshal(~deadmarsh@95.38.116.130)
2022-02-17 07:04:27 +0100burnsidesLlama(~burnsides@dhcp168-021.wadham.ox.ac.uk)
2022-02-17 07:04:54 +0100mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-02-17 07:07:00 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2022-02-17 07:09:15 +0100burnsidesLlama(~burnsides@dhcp168-021.wadham.ox.ac.uk) (Ping timeout: 256 seconds)
2022-02-17 07:09:20 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2022-02-17 07:12:17 +0100gawen(~gawen@user/gawen) (Ping timeout: 240 seconds)
2022-02-17 07:13:09 +0100Hecate(~mariposa@user/hecate) (Ping timeout: 250 seconds)
2022-02-17 07:13:20 +0100drdo(~drdo@roach0.drdo.eu) (Quit: Ping timeout (120 seconds))
2022-02-17 07:14:37 +0100drdo(~drdo@roach0.drdo.eu)
2022-02-17 07:21:24 +0100simendsjo(~user@84.211.91.241) (Ping timeout: 240 seconds)
2022-02-17 07:38:33 +0100thevishy(~Nishant@2405:201:f005:c007:c978:2cb1:53a0:d8f2)
2022-02-17 07:42:44 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-17 07:42:44 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-17 07:42:44 +0100wroathe(~wroathe@user/wroathe)
2022-02-17 07:47:47 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-17 07:54:58 +0100dschrempf(~dominik@070-207.dynamic.dsl.fonira.net)
2022-02-17 07:56:25 +0100coot(~coot@213.134.190.95)
2022-02-17 07:59:51 +0100dschrempf(~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 272 seconds)
2022-02-17 08:00:50 +0100rusrushal13(~rusrushal@103.85.18.34)
2022-02-17 08:04:35 +0100chronon(~chronon@user/chronon)
2022-02-17 08:11:36 +0100dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be)
2022-02-17 08:14:57 +0100Megant(megant@user/megant) (Ping timeout: 240 seconds)
2022-02-17 08:23:49 +0100zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-02-17 08:24:43 +0100dschrempf(~dominik@070-207.dynamic.dsl.fonira.net)
2022-02-17 08:28:17 +0100kritzefitz(~kritzefit@debian/kritzefitz) (Ping timeout: 256 seconds)
2022-02-17 08:28:48 +0100hololeap_hololeap
2022-02-17 08:31:40 +0100glowcoil_glowcoil
2022-02-17 08:37:27 +0100Natch(~natch@c-4db8e255.014-297-73746f25.bbcust.telenor.se) (Remote host closed the connection)
2022-02-17 08:39:09 +0100fendor(~fendor@91.141.40.92.wireless.dyn.drei.com)
2022-02-17 08:42:00 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-02-17 08:42:45 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-02-17 08:42:51 +0100Natch(~natch@c-4db8e255.014-297-73746f25.bbcust.telenor.se)
2022-02-17 08:43:11 +0100finsternis(~X@23.226.237.192)
2022-02-17 08:45:45 +0100Pickchea(~private@user/pickchea)
2022-02-17 08:49:50 +0100Ariakenom(~Ariakenom@2001:9b1:efe:9d00:a132:2afd:4a89:be79)
2022-02-17 08:50:41 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:6a70:b054:9876:b7fc)
2022-02-17 08:52:05 +0100vglfr(~vglfr@coupling.penchant.volia.net) (Ping timeout: 256 seconds)
2022-02-17 08:55:17 +0100Ariakenom_(~Ariakenom@h-82-196-111-63.NA.cust.bahnhof.se)
2022-02-17 08:57:50 +0100gehmehgeh(~user@user/gehmehgeh)
2022-02-17 08:57:52 +0100shriekingnoise(~shrieking@201.231.16.156) (Quit: Quit)
2022-02-17 08:58:33 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-17 08:58:33 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-17 08:58:33 +0100wroathe(~wroathe@user/wroathe)
2022-02-17 08:59:07 +0100Ariakenom(~Ariakenom@2001:9b1:efe:9d00:a132:2afd:4a89:be79) (Ping timeout: 250 seconds)
2022-02-17 09:02:03 +0100MajorBiscuit(~MajorBisc@c-001-018-023.client.tudelft.eduvpn.nl)
2022-02-17 09:02:57 +0100michalz(~michalz@185.246.204.73)
2022-02-17 09:03:24 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-02-17 09:08:12 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:08:13 +0100dextaa_(~dextaa@user/dextaa) (Remote host closed the connection)
2022-02-17 09:08:18 +0100`2jt(~jtomas@130.red-88-22-46.staticip.rima-tde.net)
2022-02-17 09:08:29 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:08:36 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:08:50 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:08:58 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:09:13 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:09:20 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:09:34 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:09:41 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:09:58 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:10:05 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:10:15 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-02-17 09:10:20 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:10:28 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:10:42 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:10:49 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:11:06 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:11:14 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:11:29 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:11:36 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:11:50 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:11:58 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:12:08 +0100burnsidesLlama(~burnsides@dhcp168-021.wadham.ox.ac.uk)
2022-02-17 09:12:13 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:12:20 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:12:34 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:12:42 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:12:57 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:13:04 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:13:19 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:13:25 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:13:40 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:13:47 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:13:47 +0100Null_A(~null_a@c-98-210-133-39.hsd1.ca.comcast.net)
2022-02-17 09:14:02 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:14:09 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:14:11 +0100zeenk(~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5)
2022-02-17 09:14:23 +0100yauhsien(~yauhsien@61-231-32-166.dynamic-ip.hinet.net)
2022-02-17 09:14:24 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:14:31 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:14:44 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:14:52 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:15:06 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:15:14 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:15:28 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:15:36 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:15:42 +0100vglfr(~vglfr@coupling.penchant.volia.net)
2022-02-17 09:15:50 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:15:57 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:16:14 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:16:21 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:16:32 +0100tomku(~tomku@user/tomku) (Ping timeout: 240 seconds)
2022-02-17 09:16:36 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:16:43 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:16:59 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:17:07 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:17:21 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:17:28 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:17:36 +0100xff0x(~xff0x@2001:1a81:5253:2500:d5b4:d592:9ef0:44dd) (Ping timeout: 252 seconds)
2022-02-17 09:17:43 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:17:50 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:18:04 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:18:09 +0100Null_A(~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
2022-02-17 09:18:12 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:18:27 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:18:34 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:18:36 +0100xff0x(~xff0x@2001:1a81:5253:2500:44fe:2888:7933:5a26)
2022-02-17 09:18:47 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:18:55 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:19:09 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:19:17 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:19:35 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:19:39 +0100yauhsien(~yauhsien@61-231-32-166.dynamic-ip.hinet.net) (Ping timeout: 272 seconds)
2022-02-17 09:19:42 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:19:56 +0100alp(~alp@user/alp)
2022-02-17 09:19:57 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:20:04 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:20:20 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:20:27 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:20:43 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:20:50 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:20:50 +0100ubert(~Thunderbi@p200300ecdf09942d5bc34c7f8597781f.dip0.t-ipconnect.de)
2022-02-17 09:21:04 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:21:12 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:21:27 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:21:34 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:21:47 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:21:55 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:22:12 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:22:19 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:22:36 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:22:41 +0100vglfr(~vglfr@coupling.penchant.volia.net) (Ping timeout: 256 seconds)
2022-02-17 09:22:43 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 09:23:25 +0100tomku(~tomku@user/tomku)
2022-02-17 09:24:17 +0100phma(~phma@host-67-44-209-104.hnremote.net) (Read error: Connection reset by peer)
2022-02-17 09:25:19 +0100phma(~phma@2001:5b0:210d:a1c8:150f:54c0:3978:d9e2)
2022-02-17 09:28:01 +0100vglfr(~vglfr@coupling.penchant.volia.net)
2022-02-17 09:29:14 +0100wolfshappen(~waff@irc.furworks.de)
2022-02-17 09:29:20 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-17 09:29:20 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-17 09:29:20 +0100wroathe(~wroathe@user/wroathe)
2022-02-17 09:29:52 +0100wolfshappen(~waff@irc.furworks.de) (Client Quit)
2022-02-17 09:31:59 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4)
2022-02-17 09:32:30 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-02-17 09:32:34 +0100hugo(znc@verdigris.lysator.liu.se) (Quit: ZNC 1.8.2 - https://znc.in)
2022-02-17 09:32:40 +0100kfj(~kfj@94.198.43.75)
2022-02-17 09:32:52 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Client Quit)
2022-02-17 09:34:12 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-02-17 09:35:43 +0100wolfshappen(~waff@irc.furworks.de)
2022-02-17 09:37:34 +0100cosimone(~user@93-47-231-171.ip115.fastwebnet.it)
2022-02-17 09:38:54 +0100little_mac_(~little_ma@2601:410:4300:3ce0:74f2:75c0:910a:f39d) (Quit: Leaving)
2022-02-17 09:44:12 +0100ubert(~Thunderbi@p200300ecdf09942d5bc34c7f8597781f.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-02-17 09:49:10 +0100machinedgod(~machinedg@24.105.81.50)
2022-02-17 09:50:58 +0100acidjnk(~acidjnk@p200300d0c70f8418e9705765d4d48bc6.dip0.t-ipconnect.de)
2022-02-17 09:52:24 +0100hugo(znc@verdigris.lysator.liu.se)
2022-02-17 09:53:05 +0100max22-(~maxime@2a01cb08833598000fe24484831421bf.ipv6.abo.wanadoo.fr)
2022-02-17 09:53:21 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 09:55:09 +0100otherwise(~otherwise@2601:602:880:90f0:f487:90ca:651c:5bea) ()
2022-02-17 09:57:49 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2022-02-17 09:59:17 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2022-02-17 10:00:06 +0100carmysilna(~brightly-@2001:470:69fc:105::2190) (Quit: You have been kicked for being idle)
2022-02-17 10:00:08 +0100Heffalump[m](~hsenagmat@2001:470:69fc:105::e11) (Quit: You have been kicked for being idle)
2022-02-17 10:00:28 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-02-17 10:01:41 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2022-02-17 10:02:09 +0100ardell(~ardell@user/ardell)
2022-02-17 10:02:33 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-02-17 10:07:26 +0100Pickchea(~private@user/pickchea) (Quit: Leaving)
2022-02-17 10:08:40 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-02-17 10:09:00 +0100deadmarshal(~deadmarsh@95.38.116.130) (Ping timeout: 240 seconds)
2022-02-17 10:10:02 +0100deadmarshal(~deadmarsh@95.38.116.130)
2022-02-17 10:11:43 +0100wonko(~wjc@user/wonko)
2022-02-17 10:17:10 +0100yauhsien(~yauhsien@61-231-32-166.dynamic-ip.hinet.net)
2022-02-17 10:17:44 +0100img(~img@user/img)
2022-02-17 10:18:35 +0100 <dminuoso> do-notation in pattern Possibly caused by a missing 'do'?
2022-02-17 10:18:46 +0100 <dminuoso> Thanks GHC. Really helpful!
2022-02-17 10:21:57 +0100yauhsien(~yauhsien@61-231-32-166.dynamic-ip.hinet.net) (Ping timeout: 252 seconds)
2022-02-17 10:22:21 +0100ardell(~ardell@user/ardell) (Ping timeout: 272 seconds)
2022-02-17 10:28:41 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 272 seconds)
2022-02-17 10:28:48 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 10:33:00 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2022-02-17 10:33:26 +0100tzh_(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2022-02-17 10:36:28 +0100ardell(~ardell@user/ardell)
2022-02-17 10:42:21 +0100chele(~chele@user/chele)
2022-02-17 10:45:44 +0100alphabeta(~kilolympu@vpn-fn-230.net.ed.ac.uk)
2022-02-17 10:46:25 +0100kilolympus(~kilolympu@vpn-fn-230.net.ed.ac.uk) (Ping timeout: 272 seconds)
2022-02-17 10:46:53 +0100 <fendor[m]> Can I add haddock documentation to functions that aren't top-level? Is that just going to be ignored by haddock or does it land in the .hi file?
2022-02-17 10:49:24 +0100td_(~td@muedsl-82-207-238-135.citykom.de) (Ping timeout: 240 seconds)
2022-02-17 10:50:36 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-02-17 10:52:38 +0100ccntrq(~Thunderbi@2a01:e34:eccb:b060:e6dd:69f1:f693:42d5)
2022-02-17 10:53:23 +0100vglfr(~vglfr@coupling.penchant.volia.net) (Ping timeout: 272 seconds)
2022-02-17 10:54:29 +0100 <kuribas> fendor[m]: no
2022-02-17 10:54:34 +0100 <kuribas> how would you even call them?
2022-02-17 10:54:42 +0100vglfr(~vglfr@coupling.penchant.volia.net)
2022-02-17 10:55:06 +0100 <kuribas> haddock is for functions which you can call.
2022-02-17 10:55:08 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-02-17 10:55:12 +0100`2jt(~jtomas@130.red-88-22-46.staticip.rima-tde.net) (Remote host closed the connection)
2022-02-17 10:55:30 +0100`2jt(~jtomas@130.red-88-22-46.staticip.rima-tde.net)
2022-02-17 10:55:43 +0100 <fendor[m]> I mean, I can call the functions, just not from outside the function context
2022-02-17 10:55:55 +0100Akiva(~Akiva@user/Akiva) (Ping timeout: 272 seconds)
2022-02-17 10:56:12 +0100 <kuribas> I mean, haddock is for documenting the module.
2022-02-17 10:56:34 +0100 <kuribas> you can just put comments there.
2022-02-17 10:56:37 +0100td_(~td@muedsl-82-207-238-135.citykom.de)
2022-02-17 10:56:50 +0100 <fendor[m]> functions that aren't exported can be documented as well
2022-02-17 10:57:11 +0100 <kuribas> not with haddock AFAIK.
2022-02-17 10:57:24 +0100Guest96(~Guest96@144-124-99-115.pip.aber.ac.uk)
2022-02-17 10:57:42 +0100jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 252 seconds)
2022-02-17 10:57:58 +0100Guest96(~Guest96@144-124-99-115.pip.aber.ac.uk) (Client Quit)
2022-02-17 10:58:16 +0100 <fendor[m]> parsing a module with -haddock includes haddock comments for functions that aren't exported afaict
2022-02-17 10:58:45 +0100 <fendor[m]> or should I see haddock-the-executable as something different to ghc -haddock?
2022-02-17 11:01:56 +0100burnsidesLlama(~burnsides@dhcp168-021.wadham.ox.ac.uk) (Remote host closed the connection)
2022-02-17 11:04:16 +0100alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-02-17 11:04:34 +0100neurocyte0917090(~neurocyte@user/neurocyte)
2022-02-17 11:05:27 +0100jonathanx(~jonathan@h-178-174-176-109.a357.priv.bahnhof.se)
2022-02-17 11:05:35 +0100alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-02-17 11:10:08 +0100 <fendor[m]> haddock itself has the option `ignore-exports` which ignores the export list and generates the documentation for non-exposed functions as well.
2022-02-17 11:12:08 +0100 <fendor[m]> I want haddock documentation for inner functions, because it makes it firstly possible to document functions consistently, and it helps you read source code. E.g. when I hover over a private function in haddock (when viewing sources) or hls, I can see the documentation just as usual
2022-02-17 11:13:15 +0100 <fendor[m]> "inner functions" meaning functions that are only defined within the scope of a function
2022-02-17 11:14:03 +0100dhil(~dhil@cpc103052-sgyl39-2-0-cust260.18-2.cable.virginm.net)
2022-02-17 11:20:19 +0100yauhsien(~yauhsien@61-231-32-166.dynamic-ip.hinet.net)
2022-02-17 11:20:33 +0100kritzefitz(~kritzefit@debian/kritzefitz)
2022-02-17 11:21:34 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-02-17 11:22:34 +0100gawen(~gawen@user/gawen)
2022-02-17 11:22:52 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-17 11:22:52 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-17 11:22:52 +0100wroathe(~wroathe@user/wroathe)
2022-02-17 11:23:03 +0100Vajb(~Vajb@85-76-72-4-nat.elisa-mobile.fi)
2022-02-17 11:23:46 +0100vysn(~vysn@user/vysn) (Remote host closed the connection)
2022-02-17 11:23:47 +0100Vajb(~Vajb@85-76-72-4-nat.elisa-mobile.fi) (Read error: Connection reset by peer)
2022-02-17 11:25:00 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-02-17 11:25:05 +0100yauhsien(~yauhsien@61-231-32-166.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-02-17 11:27:55 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-17 11:28:03 +0100 <sshine> fendor[m], that makes a lot of sense; I can imagine how documentation for a function might look like when it also includes stuff for inner functions; then again, I might also find that a little disingenuous, since I'd get the expectation that that function is something I can call, when it's not. :)
2022-02-17 11:28:47 +0100 <geekosaur> my possibly incorrect understanding is that this is still in development, including "fat hi files"
2022-02-17 11:28:49 +0100 <sshine> fendor[m], I try to make inner functions mostly do wrapping and unwrapping, so if it's something that might have general value, at least I put it at the top level but don't export it.
2022-02-17 11:29:14 +0100 <geekosaur> intended specifically to provide extra information for IDEs
2022-02-17 11:29:24 +0100 <fendor[m]> I didnt mean that haddock's html page includes the documentation for such inner functions, I just want other tooling to be able to present me the documentation when desired
2022-02-17 11:29:30 +0100 <geekosaur> it may work better with later ghc versions
2022-02-17 11:29:39 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-02-17 11:30:06 +0100 <sshine> fendor[m], sure.
2022-02-17 11:30:24 +0100gawen(~gawen@user/gawen) (Quit: cya)
2022-02-17 11:31:19 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-02-17 11:32:15 +0100kfj(~kfj@94.198.43.75) ()
2022-02-17 11:32:42 +0100 <fendor[m]> I think haddock doesn't parse haddock docs for anything else than top-level functions right now. Not sure whether later ghc versions would change that
2022-02-17 11:33:10 +0100 <geekosaur> given that it would be going into .hi or .hie files, it'd be ghc
2022-02-17 11:33:29 +0100 <geekosaur> ghc and haddock are already pretty tightly tied together
2022-02-17 11:34:51 +0100 <fendor[m]> true, for the information to be available in haddock's source browsing, it needs to be in .hi files
2022-02-17 11:35:06 +0100 <geekosaur> I *think* ghc does the parsing and haddock the formatting; in this case it'd be the IDE that pulled out the part it wanted and formatted it
2022-02-17 11:35:18 +0100 <geekosaur> (e.g. HLS)
2022-02-17 11:35:59 +0100 <fendor[m]> that makes sense, going to check HLS code for details
2022-02-17 11:39:31 +0100gawen(~gawen@user/gawen)
2022-02-17 11:42:27 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:6a70:b054:9876:b7fc) (Quit: WeeChat 2.8)
2022-02-17 11:43:00 +0100neurocyte0917090(~neurocyte@user/neurocyte) (Ping timeout: 240 seconds)
2022-02-17 11:44:58 +0100bahamas(~lucian@84.232.140.52)
2022-02-17 11:45:04 +0100 <dminuoso> How does current directory from `directory` interact across multiple threads?
2022-02-17 11:47:42 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2022-02-17 11:48:50 +0100Neuromancer(~Neuromanc@user/neuromancer)
2022-02-17 11:54:21 +0100michalz(~michalz@185.246.204.73) (Ping timeout: 252 seconds)
2022-02-17 11:56:46 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-02-17 11:59:08 +0100 <geekosaur> don't understand the question if it'snot answered by "In a multithreaded program, the current working directory is a global state shared among all threads of the process. Therefore, when performing filesystem operations from multiple threads, it is highly recommended to use absolute rather than relative paths (see: makeAbsolute)."
2022-02-17 12:00:00 +0100 <geekosaur> current directory is an attribute of a process, not a thread
2022-02-17 12:02:03 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-02-17 12:02:33 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2022-02-17 12:08:43 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-17 12:10:16 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) (Remote host closed the connection)
2022-02-17 12:14:07 +0100acidjnk(~acidjnk@p200300d0c70f8418e9705765d4d48bc6.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2022-02-17 12:15:57 +0100bahamas(~lucian@84.232.140.52) (Ping timeout: 240 seconds)
2022-02-17 12:17:20 +0100fendor_(~fendor@178.115.59.89.wireless.dyn.drei.com)
2022-02-17 12:18:19 +0100michalz(~michalz@185.246.204.89)
2022-02-17 12:19:48 +0100fendor(~fendor@91.141.40.92.wireless.dyn.drei.com) (Ping timeout: 240 seconds)
2022-02-17 12:25:45 +0100Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net)
2022-02-17 12:27:44 +0100xkuru(~xkuru@user/xkuru)
2022-02-17 12:29:01 +0100td_(~td@muedsl-82-207-238-135.citykom.de) (Ping timeout: 272 seconds)
2022-02-17 12:29:30 +0100dschrempf(~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3)
2022-02-17 12:30:14 +0100td_(~td@muedsl-82-207-238-135.citykom.de)
2022-02-17 12:31:15 +0100burnsidesLlama(~burnsides@dhcp168-021.wadham.ox.ac.uk)
2022-02-17 12:31:20 +0100burnsidesLlama(~burnsides@dhcp168-021.wadham.ox.ac.uk) (Remote host closed the connection)
2022-02-17 12:31:27 +0100burnsidesLlama(~burnsides@dhcp168-021.wadham.ox.ac.uk)
2022-02-17 12:31:36 +0100xkuru(~xkuru@user/xkuru) (Remote host closed the connection)
2022-02-17 12:32:20 +0100bahamas(~lucian@84.232.140.52)
2022-02-17 12:34:21 +0100xkuru(~xkuru@user/xkuru)
2022-02-17 12:34:56 +0100bjobjo(~bjobjo@user/bjobjo) (Ping timeout: 250 seconds)
2022-02-17 12:35:12 +0100econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-02-17 12:36:23 +0100td_(~td@muedsl-82-207-238-135.citykom.de) (Quit: waking up from the american dream ...)
2022-02-17 12:36:41 +0100Null_A(~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f)
2022-02-17 12:37:31 +0100ix(~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Ping timeout: 250 seconds)
2022-02-17 12:38:21 +0100max22-(~maxime@2a01cb08833598000fe24484831421bf.ipv6.abo.wanadoo.fr) (Ping timeout: 252 seconds)
2022-02-17 12:41:24 +0100Null_A(~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) (Ping timeout: 240 seconds)
2022-02-17 12:42:11 +0100ix(~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe)
2022-02-17 12:42:43 +0100kritzefitz(~kritzefit@debian/kritzefitz) (Ping timeout: 256 seconds)
2022-02-17 12:43:36 +0100alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-02-17 12:47:01 +0100akegalj(~akegalj@93-138-38-201.adsl.net.t-com.hr)
2022-02-17 12:48:10 +0100ubert(~Thunderbi@2a02:8109:9880:303c:de86:d03c:7719:1796)
2022-02-17 12:49:19 +0100ardell(~ardell@user/ardell) (Quit: Konversation terminated!)
2022-02-17 12:50:57 +0100michalz(~michalz@185.246.204.89) (Ping timeout: 250 seconds)
2022-02-17 12:54:41 +0100alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-02-17 12:57:36 +0100MajorBiscuit(~MajorBisc@c-001-018-023.client.tudelft.eduvpn.nl) (Ping timeout: 252 seconds)
2022-02-17 13:01:43 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-02-17 13:01:44 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-02-17 13:02:33 +0100bahamas(~lucian@84.232.140.52) (Ping timeout: 256 seconds)
2022-02-17 13:02:50 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-02-17 13:04:29 +0100foul_owl(~kerry@23.82.193.104) (Ping timeout: 272 seconds)
2022-02-17 13:04:30 +0100Pickchea(~private@user/pickchea)
2022-02-17 13:06:36 +0100jlamothe(~jlamothe@198.251.61.229) (Ping timeout: 240 seconds)
2022-02-17 13:09:14 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:f688:b78:9b5f:f629)
2022-02-17 13:10:40 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222)
2022-02-17 13:14:37 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2022-02-17 13:14:50 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan)
2022-02-17 13:15:00 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) (Ping timeout: 240 seconds)
2022-02-17 13:18:05 +0100MajorBiscuit(~MajorBisc@c-001-013-023.client.tudelft.eduvpn.nl)
2022-02-17 13:20:03 +0100foul_owl(~kerry@23.82.193.88)
2022-02-17 13:23:03 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-02-17 13:24:06 +0100Vajb(~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e)
2022-02-17 13:24:45 +0100chenqisu1(~chenqisu1@183.217.200.249) (Ping timeout: 272 seconds)
2022-02-17 13:25:57 +0100Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 240 seconds)
2022-02-17 13:25:57 +0100td_(~td@muedsl-82-207-238-135.citykom.de)
2022-02-17 13:26:18 +0100coot(~coot@213.134.190.95) (Quit: coot)
2022-02-17 13:26:49 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2022-02-17 13:28:21 +0100bbear_(~znc@21212.s.t4vps.eu) (Ping timeout: 256 seconds)
2022-02-17 13:28:26 +0100michalz(~michalz@185.246.204.57)
2022-02-17 13:28:35 +0100bbear(~znc@21212.s.t4vps.eu)
2022-02-17 13:30:49 +0100Vajb(~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e) (Ping timeout: 250 seconds)
2022-02-17 13:31:01 +0100Vajb(~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e)
2022-02-17 13:32:13 +0100Hecate_(~mariposa@user/hecate)
2022-02-17 13:32:24 +0100Hecate_Hecate
2022-02-17 13:33:20 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-02-17 13:34:36 +0100alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-02-17 13:35:09 +0100Vajb(~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e) (Ping timeout: 250 seconds)
2022-02-17 13:36:32 +0100alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-02-17 13:39:32 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-02-17 13:40:33 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-02-17 13:40:58 +0100romesrf(~romes@44.190.189.46.rev.vodafone.pt)
2022-02-17 13:41:45 +0100Vajb(~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e)
2022-02-17 13:41:45 +0100 <romesrf> hey everyone, what's your preferred way of writing something like this run = (>>= putStrLn) . runX
2022-02-17 13:42:19 +0100 <romesrf> I don't quite love this one
2022-02-17 13:42:30 +0100 <romesrf> (>>= g) . f
2022-02-17 13:42:48 +0100 <merijn> romesrf: fish operator?
2022-02-17 13:42:52 +0100 <merijn> :t (>=>)
2022-02-17 13:42:53 +0100 <lambdabot> Monad m => (a -> m b) -> (b -> m c) -> a -> m c
2022-02-17 13:43:11 +0100 <merijn> Looks like your example is just "runX >=> putStrLn"
2022-02-17 13:43:22 +0100 <romesrf> ah!!!
2022-02-17 13:43:23 +0100 <romesrf> perfect!
2022-02-17 13:44:11 +0100 <romesrf> that's exactly it
2022-02-17 13:45:35 +0100 <romesrf> ty
2022-02-17 13:46:29 +0100bahamas(~lucian@84.232.140.52)
2022-02-17 13:46:50 +0100 <merijn> Entirely unrelatedly. It looks like for the first time since 2020 the NL-FP day is back on \o/
2022-02-17 13:48:49 +0100Pickchea(~private@user/pickchea) (Ping timeout: 272 seconds)
2022-02-17 13:50:17 +0100cfricke(~cfricke@user/cfricke)
2022-02-17 13:50:19 +0100Vajb(~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e) (Ping timeout: 250 seconds)
2022-02-17 13:52:25 +0100bahamas(~lucian@84.232.140.52) (Ping timeout: 256 seconds)
2022-02-17 13:52:37 +0100romesrf(~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 272 seconds)
2022-02-17 13:53:17 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-02-17 13:53:22 +0100romesrf(~romes@44.190.189.46.rev.vodafone.pt)
2022-02-17 13:54:41 +0100Maxdamantus(~Maxdamant@user/maxdamantus)
2022-02-17 13:55:54 +0100bahamas(~lucian@84.232.140.52)
2022-02-17 13:57:41 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-02-17 13:58:25 +0100Vajb(~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e)
2022-02-17 14:00:12 +0100bahamas(~lucian@84.232.140.52) (Ping timeout: 240 seconds)
2022-02-17 14:09:59 +0100slowButPresent(~slowButPr@user/slowbutpresent)
2022-02-17 14:10:49 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2022-02-17 14:10:49 +0100Vajb(~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e) (Read error: Connection reset by peer)
2022-02-17 14:10:58 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-02-17 14:12:39 +0100geekosaur(~geekosaur@xmonad/geekosaur)
2022-02-17 14:15:00 +0100cynomys(~cynomys@user/cynomys) (Ping timeout: 240 seconds)
2022-02-17 14:15:23 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Ping timeout: 256 seconds)
2022-02-17 14:16:05 +0100Vajb(~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e)
2022-02-17 14:18:05 +0100dschrempf(~dominik@070-207.dynamic.dsl.fonira.net)
2022-02-17 14:18:13 +0100kritzefitz(~kritzefit@debian/kritzefitz)
2022-02-17 14:25:50 +0100jackson99(~bc8147f2@cerf.good1.com)
2022-02-17 14:29:18 +0100Pickchea(~private@user/pickchea)
2022-02-17 14:29:20 +0100alphabeta(~kilolympu@vpn-fn-230.net.ed.ac.uk) (Ping timeout: 272 seconds)
2022-02-17 14:30:35 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 14:32:49 +0100kilolympus(~kilolympu@vpn-fn-230.net.ed.ac.uk)
2022-02-17 14:35:41 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 272 seconds)
2022-02-17 14:37:00 +0100Vajb(~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e) (Ping timeout: 240 seconds)
2022-02-17 14:39:07 +0100max22-(~maxime@2a01cb08833598003c62700c4284530c.ipv6.abo.wanadoo.fr)
2022-02-17 14:44:56 +0100doyougnu(~doyougnu@cpe-67-249-83-190.twcny.res.rr.com)
2022-02-17 14:45:47 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2022-02-17 14:46:41 +0100jakalx(~jakalx@base.jakalx.net) ()
2022-02-17 14:47:24 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 240 seconds)
2022-02-17 14:52:17 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2022-02-17 14:54:25 +0100Null_A(~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f)
2022-02-17 14:58:02 +0100meinside(uid24933@id-24933.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
2022-02-17 15:02:13 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-02-17 15:10:55 +0100Null_A(~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) (Ping timeout: 250 seconds)
2022-02-17 15:11:07 +0100 <dminuoso> merijn: Mmm, where is the sign up link?
2022-02-17 15:11:29 +0100jakalx(~jakalx@base.jakalx.net)
2022-02-17 15:12:41 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222)
2022-02-17 15:12:59 +0100 <merijn> https://wouter-swierstra.github.io/fp-dag/
2022-02-17 15:15:48 +0100 <dminuoso> Ah nice, might just do that. Getting to Utrecht is quite doable. :)
2022-02-17 15:16:15 +0100__monty__(~toonn@user/toonn)
2022-02-17 15:16:39 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net)
2022-02-17 15:17:00 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) (Ping timeout: 240 seconds)
2022-02-17 15:17:04 +0100simendsjo(~user@84.211.91.241)
2022-02-17 15:17:39 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-02-17 15:17:47 +0100jgeerds(~jgeerds@55d4b9df.access.ecotel.net)
2022-02-17 15:17:50 +0100burnsidesLlama(~burnsides@dhcp168-021.wadham.ox.ac.uk) (Remote host closed the connection)
2022-02-17 15:22:34 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2022-02-17 15:22:59 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2022-02-17 15:23:17 +0100bahamas(~lucian@84.232.140.52)
2022-02-17 15:27:49 +0100 <romesrf> dminuoso: I'm excited for the year to come, i'll be joining a lot of those (as many as i can :) for the first time
2022-02-17 15:28:00 +0100 <romesrf> I'm pretty set onn going to ZuriHac
2022-02-17 15:28:33 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-17 15:28:33 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-17 15:28:33 +0100wroathe(~wroathe@user/wroathe)
2022-02-17 15:28:34 +0100 <romesrf> i'll be studying in Germany by that time, so it'll be really neat to go to those meetups
2022-02-17 15:29:19 +0100MajorBiscuit(~MajorBisc@c-001-013-023.client.tudelft.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-17 15:29:33 +0100 <dminuoso> Yeah, ZuriHac is already on my timetable :)
2022-02-17 15:29:44 +0100 <merijn> NL-FP is nice and accessible :)
2022-02-17 15:30:48 +0100 <maerwald> I missed NL-FP in 2020
2022-02-17 15:31:15 +0100 <merijn> :O
2022-02-17 15:31:30 +0100 <merijn> You missed Athas talking about Futhark, then :p
2022-02-17 15:32:03 +0100MajorBiscuit(~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e)
2022-02-17 15:33:20 +0100 <romesrf> what's NL-FP?
2022-02-17 15:33:36 +0100rusrushal13(~rusrushal@103.85.18.34) (Ping timeout: 256 seconds)
2022-02-17 15:33:41 +0100 <romesrf> i'm guessing netherlands fp but :)
2022-02-17 15:33:48 +0100 <romesrf> links are welcome
2022-02-17 15:33:59 +0100alx741(~alx741@157.100.197.240)
2022-02-17 15:35:01 +0100 <geekosaur> merijn gave one earlier, I think
2022-02-17 15:35:34 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-17 15:37:37 +0100maroloccio(~marolocci@pousada3ja.mma.com.br)
2022-02-17 15:38:56 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-02-17 15:39:12 +0100 <merijn> romesrf: https://wouter-swierstra.github.io/fp-dag/
2022-02-17 15:39:18 +0100jgeerds(~jgeerds@55d4b9df.access.ecotel.net) (Ping timeout: 252 seconds)
2022-02-17 15:39:27 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2022-02-17 15:39:47 +0100__monty__(~toonn@user/toonn)
2022-02-17 15:40:05 +0100 <merijn> romesrf: It's essentially a kinda in between "academic" conference/workshop and meetup :p
2022-02-17 15:40:37 +0100__monty__(~toonn@user/toonn) (Client Quit)
2022-02-17 15:40:54 +0100__monty__(~toonn@user/toonn)
2022-02-17 15:41:07 +0100 <merijn> Everyone remotely involved with/interested in FP research in NL will be there. But also lots of hobbyists and people from industry
2022-02-17 15:41:30 +0100jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-02-17 15:42:05 +0100 <Franciman> i can't wait to experiment with polarisation
2022-02-17 15:42:10 +0100 <Franciman> i expect to get very high gains
2022-02-17 15:42:18 +0100 <Franciman> in predicatability
2022-02-17 15:42:33 +0100 <Franciman> while retanining same or better performance that haskell
2022-02-17 15:42:50 +0100 <Franciman> predictability*
2022-02-17 15:43:33 +0100jakalx(~jakalx@base.jakalx.net)
2022-02-17 15:44:03 +0100romesrf(~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds)
2022-02-17 15:44:16 +0100meinside(uid24933@id-24933.helmsley.irccloud.com)
2022-02-17 15:46:21 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-02-17 15:47:12 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-02-17 15:47:21 +0100romesrf(~romes@44.190.189.46.rev.vodafone.pt)
2022-02-17 15:47:31 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-02-17 15:49:21 +0100burnsidesLlama(~burnsides@dhcp168-021.wadham.ox.ac.uk)
2022-02-17 15:52:50 +0100 <jackson99> is it possible to catch Ctrl+C exception portably?
2022-02-17 15:53:00 +0100 <merijn> jackson99: "haha, no"
2022-02-17 15:53:13 +0100 <dminuoso> What do you mean by "Ctrl-C exception" and "portably" any way?
2022-02-17 15:53:26 +0100alx741(~alx741@157.100.197.240)
2022-02-17 15:53:29 +0100 <merijn> If you mean "unix only" then it becomes merely "well, I hope you enjoy suffering!"
2022-02-17 15:53:32 +0100 <jackson99> ctrl+c crashes program, I want to catch that and perform some cleanup before quitting
2022-02-17 15:53:56 +0100 <dminuoso> Ctrl-C on some shells causes SIGINT to be sent to the running program
2022-02-17 15:54:08 +0100 <merijn> ctrl-c just triggers an IO exception. If you use bracket/finally you should be able to clean up that way
2022-02-17 15:54:13 +0100burnsidesLlama(~burnsides@dhcp168-021.wadham.ox.ac.uk) (Ping timeout: 272 seconds)
2022-02-17 15:54:13 +0100 <merijn> Or rather
2022-02-17 15:54:16 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 240 seconds)
2022-02-17 15:54:20 +0100 <merijn> SIGINT triggers an IO exception
2022-02-17 15:54:41 +0100 <jackson99> and that should work on all OSes?
2022-02-17 15:54:44 +0100 <dminuoso> No.
2022-02-17 15:54:57 +0100 <dminuoso> This behavior is Linux specific.
2022-02-17 15:55:13 +0100 <dminuoso> Windows doesn't even have a notion of POSIX signals
2022-02-17 15:55:14 +0100 <[exa]> macs don't have SIGINT?
2022-02-17 15:55:31 +0100 <merijn> [exa]: To be fair, I said unix :p
2022-02-17 15:55:36 +0100Null_A(~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f)
2022-02-17 15:55:41 +0100 <dminuoso> [exa]: I wouldnt know, to be honest. :)
2022-02-17 15:55:44 +0100 <merijn> Anyway, GHC's signal handling is still kinda of a mess
2022-02-17 15:55:58 +0100 <merijn> So, whether "it works" on linux is debatable as well :p
2022-02-17 15:56:23 +0100 <dminuoso> jackson99: That being said, if you're fine with "it will probably work except in edge cases", https://hackage.haskell.org/package/unix-2.7.2.2/docs/System-Posix-Signals.html
2022-02-17 15:56:24 +0100 <dminuoso> Has you covered
2022-02-17 15:56:33 +0100 <dminuoso> installHandler in particular
2022-02-17 15:57:11 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-17 15:57:23 +0100 <merijn> In my professional opinion anyone attempting to do signal handling via the unix package is already hosed :p
2022-02-17 15:57:28 +0100 <dminuoso> It's good enough for the vast majority of use cases, but like merijn points out GHC has some serious deficiencies in the signal handling.
2022-02-17 15:57:36 +0100 <dminuoso> Nah.
2022-02-17 15:57:44 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan)
2022-02-17 15:57:46 +0100 <dminuoso> What other options do you propose?
2022-02-17 15:59:06 +0100 <jackson99> I am interested in doing this portably, or at least on linux and windows. it doesn't seem hard to do this on windows using winapi, but I was hoping this can be done in pure haskell
2022-02-17 15:59:15 +0100 <jackson99> I guess not
2022-02-17 15:59:58 +0100 <dminuoso> jackson99: The interface and semantics differ.
2022-02-17 16:00:01 +0100 <geekosaur> there are lots of things you can get maybe 70% if you try to do them portably. more than 70% is unlikely. ctrl-c is not 70%
2022-02-17 16:00:12 +0100Null_A(~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) (Ping timeout: 240 seconds)
2022-02-17 16:01:16 +0100stiell(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds)
2022-02-17 16:01:34 +0100shriekingnoise(~shrieking@201.231.16.156)
2022-02-17 16:02:22 +0100 <dminuoso> jackson99: They differ so wildly, you will find it absurdly complicated to build some common abstraction. What you'd rather do, is simply CPP your way out of this.
2022-02-17 16:02:31 +0100 <[exa]> +1 for #ifdef
2022-02-17 16:02:57 +0100Tuplanolla(~Tuplanoll@91-159-69-98.elisa-laajakaista.fi)
2022-02-17 16:03:04 +0100 <[exa]> I'd expect that linux, macs and bsds will just work with `unix` unless you do something very complicated
2022-02-17 16:03:21 +0100stiell(~stiell@gateway/tor-sasl/stiell)
2022-02-17 16:03:21 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-02-17 16:03:30 +0100wonko(~wjc@user/wonko) (Ping timeout: 252 seconds)
2022-02-17 16:03:31 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-02-17 16:03:34 +0100 <[exa]> on windows, copy the first cheap trick from stackoverflow and prepare to replace it as needed. :D
2022-02-17 16:03:48 +0100 <dminuoso> We use a simple SIGINT handler in all our servers just do have some better control over cleanup and output when people run and interrupt servers from the command line..
2022-02-17 16:03:55 +0100 <geekosaur> SetCtrlCHandler isn't too bad
2022-02-17 16:03:55 +0100 <dminuoso> Works just fine for us.
2022-02-17 16:04:17 +0100 <geekosaur> it just doesn;t behave anything like SIGINT
2022-02-17 16:04:20 +0100doyougnu(~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) (Remote host closed the connection)
2022-02-17 16:04:21 +0100 <merijn> [exa]: For some value of work :p
2022-02-17 16:04:42 +0100doyougnu(~doyougnu@cpe-67-249-83-190.twcny.res.rr.com)
2022-02-17 16:05:29 +0100 <[exa]> it's unix, it's meant to be 95%
2022-02-17 16:06:24 +0100hays(rootvegeta@fsf/member/hays) ()
2022-02-17 16:06:37 +0100 <merijn> I give signal handling a 70-80% of working at best
2022-02-17 16:07:02 +0100 <merijn> Still better than the "fork" in unix, which I give approximately 0.0005% chance of working correctly
2022-02-17 16:07:09 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-02-17 16:07:17 +0100 <merijn> And a solid 40-50% chance of ruining your day at some point in the near future
2022-02-17 16:07:39 +0100 <dminuoso> I think you're overexaggerating a lot.
2022-02-17 16:07:51 +0100 <merijn> For signal handling, maybe
2022-02-17 16:08:06 +0100 <[exa]> I agree on fork() tho. :D
2022-02-17 16:08:09 +0100 <geekosaur> fork'sbasically made of corner cases
2022-02-17 16:08:19 +0100 <merijn> unix' fork is utterly cursed and I'm fairly confident it simply *cannot* be used in a sane way
2022-02-17 16:08:35 +0100 <dminuoso> merijn: Do you have any writeup why that is the case?
2022-02-17 16:08:38 +0100 <merijn> Honestly, unix' fork is literally worse than accuredUnutterablePerformIO
2022-02-17 16:08:40 +0100 <dminuoso> Ive never felt the urge to use `fork`, so..
2022-02-17 16:09:07 +0100 <[exa]> merijn: you first need to reach the zen and let go of all programs of more than 100 lines of k&r C. Then fork() works
2022-02-17 16:09:09 +0100 <merijn> dminuoso: I mean, let's start with point one: it use fork() which is already literally impossible to use correctly in C unless you program is single-threaded
2022-02-17 16:09:30 +0100 <geekosaur> dminuoso, for one, there is no way at all to deal with threads. for another, you can kiss your critical regions goodbye
2022-02-17 16:09:37 +0100 <merijn> dminuoso: unix' then layers a bunch of *super* hairy GHC RTS issues on top of fork()
2022-02-17 16:10:05 +0100 <geekosaur> you can't clean up any "locked" state
2022-02-17 16:10:23 +0100hays(rootvegeta@fsf/member/hays)
2022-02-17 16:10:23 +0100 <merijn> dminuoso: Essentially, fork() only copies 1 random threat from the GHC runtime into a new process with 0 controls on what locks/etc. are active in the runtime
2022-02-17 16:10:27 +0100 <geekosaur> you can't even know about any locked state
2022-02-17 16:10:34 +0100 <merijn> dminuoso: Then pretends you can keep running Haskell code
2022-02-17 16:10:48 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2022-02-17 16:11:08 +0100 <merijn> dminuoso: The only thing you can safely do after fork() is: exec() (well, and using any functions that are "async signal safe" (i.e. basically none))
2022-02-17 16:11:36 +0100 <merijn> dminuoso: Like, what even happens to the IO manager when you fork?
2022-02-17 16:11:46 +0100 <merijn> I don't even wanna think about horrors like that
2022-02-17 16:12:23 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:f688:b78:9b5f:f629) (Quit: WeeChat 2.8)
2022-02-17 16:12:25 +0100 <geekosaur> I thought they shut it down during the fork and restarted afterward
2022-02-17 16:12:32 +0100 <geekosaur> again only reliable if singlethreaded
2022-02-17 16:12:42 +0100 <dminuoso> By single threaded do you mean haskell threads?
2022-02-17 16:12:48 +0100 <merijn> dminuoso: OS threads
2022-02-17 16:12:50 +0100 <geekosaur> don't even dream of forking if -threaded
2022-02-17 16:13:00 +0100 <merijn> dminuoso: Using fork() in any application with more than 1 OS thread is folly
2022-02-17 16:13:14 +0100 <dminuoso> merijn: I dont have any POSIX knowledge of fork at all. so..
2022-02-17 16:13:17 +0100 <dminuoso> Mmm
2022-02-17 16:13:29 +0100 <geekosaur> apache went through this years ago, forks first *then* threads or everything goes wrong
2022-02-17 16:13:32 +0100dschrempf(~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3)
2022-02-17 16:13:38 +0100 <merijn> dminuoso: fork() has been known to be dangerous and (essentially) deprecated for over 2 decades
2022-02-17 16:13:49 +0100 <merijn> dminuoso: The "proper" posix way to create a new process is posix_spawn()
2022-02-17 16:14:48 +0100alx741(~alx741@181.199.42.143)
2022-02-17 16:15:05 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-02-17 16:15:16 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-02-17 16:16:16 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-02-17 16:17:29 +0100Vajb(~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e)
2022-02-17 16:18:37 +0100marquis_andras(~marquis_a@124.170.163.166) (Ping timeout: 256 seconds)
2022-02-17 16:19:31 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-17 16:19:53 +0100dschrempf(~dominik@070-207.dynamic.dsl.fonira.net)
2022-02-17 16:21:06 +0100Sgeo(~Sgeo@user/sgeo)
2022-02-17 16:22:14 +0100Null_A(~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f)
2022-02-17 16:24:19 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-02-17 16:26:37 +0100Null_A(~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) (Ping timeout: 240 seconds)
2022-02-17 16:26:52 +0100hays(rootvegeta@fsf/member/hays) ()
2022-02-17 16:28:12 +0100simendsjo(~user@84.211.91.241) (Ping timeout: 240 seconds)
2022-02-17 16:28:15 +0100 <xdej> merijn and [exa] thanks for the comments about fork()
2022-02-17 16:28:19 +0100hays(rootvegeta@fsf/member/hays)
2022-02-17 16:29:27 +0100yauhsien(~yauhsien@61-231-32-166.dynamic-ip.hinet.net)
2022-02-17 16:31:28 +0100 <merijn> xdej: fork() is best though of as an Eldritch horror from a Lovecraft novel. Using it will slowly chip away at your sanity by causing all sorts of freaky, intermittent, spooky-action-at-a-distance style weirdness you can't figure out :p
2022-02-17 16:31:44 +0100fef(~thedawn@user/thedawn)
2022-02-17 16:33:05 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-17 16:34:12 +0100cfricke(~cfricke@user/cfricke) (Ping timeout: 240 seconds)
2022-02-17 16:34:13 +0100yauhsien(~yauhsien@61-231-32-166.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-02-17 16:36:12 +0100alx741(~alx741@157.100.197.240)
2022-02-17 16:36:12 +0100turlando(~turlando@user/turlando) (Ping timeout: 240 seconds)
2022-02-17 16:38:52 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-17 16:38:52 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-17 16:38:52 +0100wroathe(~wroathe@user/wroathe)
2022-02-17 16:39:36 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 240 seconds)
2022-02-17 16:40:04 +0100 <jackson99> the joy using FFI: it worked! 10 seconds later.. internal error: st00:00:03.0957 64_unknown_mingw32)0.2 for x86_00:00:03.0976 ghc/reportabugbug: http://www.haskell.org/00:00:03.1016
2022-02-17 16:40:22 +0100marquis_andras(~marquis_a@124.170.160.147)
2022-02-17 16:40:30 +0100 <[exa]> lol what do you FFI?
2022-02-17 16:40:49 +0100 <jackson99> SetConsoleCtrlHandler
2022-02-17 16:41:33 +0100mbuf(~Shakthi@122.162.135.157) (Quit: Leaving)
2022-02-17 16:41:51 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2022-02-17 16:42:19 +0100 <[exa]> oh f
2022-02-17 16:42:33 +0100 <[exa]> rule of sane programming in windows environment: never touch WINAPI
2022-02-17 16:43:33 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-17 16:43:35 +0100 <jackson99> I probably did something wrong. it has been years since I used C functions that take a function pointer in haskell
2022-02-17 16:43:47 +0100 <[exa]> if you want a reasonable non-intrusive way, you can FFI some calls from `conio.h` to catch escape, which windows people will use more than ctrl+c anyway
2022-02-17 16:44:34 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-17 16:45:37 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2022-02-17 16:47:03 +0100 <[exa]> also there's some way to disable ctrl+c from console afaik (I'm not going to touch MSDN today tho)
2022-02-17 16:48:36 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 252 seconds)
2022-02-17 16:50:35 +0100polyphem(~rod@2a02:810d:840:8754:448e:47ff:4575:7cfb) (Ping timeout: 250 seconds)
2022-02-17 16:50:39 +0100bahamas(~lucian@84.232.140.52) (Ping timeout: 256 seconds)
2022-02-17 16:50:39 +0100polyphem_(~rod@2a02:810d:840:8754:22de:a5de:2070:f535)
2022-02-17 16:51:27 +0100hgolden(~hgolden2@cpe-172-114-81-123.socal.res.rr.com)
2022-02-17 16:51:47 +0100hueso(~root@user/hueso)
2022-02-17 16:52:46 +0100kayvank(~user@52-119-115-185.PUBLIC.monkeybrains.net)
2022-02-17 16:54:43 +0100hueso(~root@user/hueso) (Client Quit)
2022-02-17 16:56:50 +0100shryke(~shryke@91.103.43.254)
2022-02-17 16:58:50 +0100thevishy(~Nishant@2405:201:f005:c007:c978:2cb1:53a0:d8f2) (Quit: Leaving)
2022-02-17 17:00:06 +0100fcortesi(~fcortesi@2001:470:69fc:105::f3a9) (Quit: You have been kicked for being idle)
2022-02-17 17:01:26 +0100mc47(~mc47@xmonad/TheMC47)
2022-02-17 17:01:28 +0100alx741(~alx741@181.199.42.143)
2022-02-17 17:03:52 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-17 17:06:01 +0100Midjak(~Midjak@91-169-30-149.subs.proxad.net)
2022-02-17 17:06:21 +0100yauhsien(~yauhsien@61-231-32-166.dynamic-ip.hinet.net)
2022-02-17 17:06:32 +0100 <jackson99> here's the code if I'm doing something obviously wrong. https://paste.tomsmeding.com/u32XV1vO
2022-02-17 17:07:03 +0100 <jackson99> I am getting these warnings when compiling, not sure if that is relevant. * the 'stdcall' calling convention is unsupported on this platform, treating as ccall
2022-02-17 17:07:53 +0100 <merijn> Weird, are you using WSL or something?
2022-02-17 17:08:00 +0100 <merijn> Why would it report stdcall unsupported?
2022-02-17 17:08:26 +0100 <jackson99> I am not using WSL. and I don't know
2022-02-17 17:08:35 +0100 <jackson99> crash happens when I press C-c btw
2022-02-17 17:09:02 +0100 <merijn> Consider using CApiFFI and see if that works?
2022-02-17 17:09:37 +0100akegalj(~akegalj@93-138-38-201.adsl.net.t-com.hr) (Ping timeout: 256 seconds)
2022-02-17 17:10:02 +0100 <ski> are you sure you should free the `FunPtr (...)', directly after setting the handler ?
2022-02-17 17:10:19 +0100 <jackson99> I am not!
2022-02-17 17:10:33 +0100 <jackson99> thinking about it, I probably shouldn't free it at all
2022-02-17 17:11:12 +0100 <jackson99> since SetConsoleCtrlHandler has to store function pointer to be able to call it
2022-02-17 17:12:16 +0100 <jackson99> that was it.. what a silly mistake
2022-02-17 17:12:21 +0100 <geekosaur> that was my question after looking it over
2022-02-17 17:13:57 +0100[exa]wonders about what happens after the 3168.89 years of threadDelay
2022-02-17 17:14:25 +0100 <jackson99> works without issues now, thanks ski
2022-02-17 17:14:27 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222)
2022-02-17 17:16:12 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-02-17 17:16:29 +0100 <ski> np
2022-02-17 17:16:30 +0100akegalj(~akegalj@93-138-38-201.adsl.net.t-com.hr)
2022-02-17 17:17:46 +0100 <ski> (i guess you could perhaps free in the handler, maybe)
2022-02-17 17:18:36 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) (Ping timeout: 240 seconds)
2022-02-17 17:20:17 +0100Vajb(~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e) (Read error: Connection reset by peer)
2022-02-17 17:20:34 +0100Null_A(~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f)
2022-02-17 17:20:49 +0100alx741(~alx741@157.100.197.240)
2022-02-17 17:20:56 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-02-17 17:21:36 +0100Pickchea(~private@user/pickchea) (Ping timeout: 252 seconds)
2022-02-17 17:23:52 +0100 <jackson99> second argument of SetConsoleCtrlHandler controlers whether handler is added or removed. not sure how one would expose that interface in haskell, since functions don't implement Eq? have it accept FuncPtr instead of haskell function?
2022-02-17 17:23:58 +0100 <jackson99> controls*
2022-02-17 17:24:18 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-17 17:24:34 +0100 <[exa]> added or _replaced_, not removed
2022-02-17 17:26:40 +0100coot(~coot@213.134.190.95)
2022-02-17 17:29:05 +0100notzmv(~zmv@user/notzmv)
2022-02-17 17:30:36 +0100alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-02-17 17:31:48 +0100EvanR(~EvanR@user/evanr) (Ping timeout: 240 seconds)
2022-02-17 17:33:19 +0100 <jackson99> If this parameter is TRUE, the handler is added; if it is FALSE, the handler is removed.
2022-02-17 17:34:37 +0100 <ski> what's the returned `BOOL' ?
2022-02-17 17:35:01 +0100 <jackson99> "If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call GetLastError."
2022-02-17 17:35:08 +0100 <jackson99> oerhaos I should just throw IO exception there
2022-02-17 17:35:10 +0100 <jackson99> perhaps*
2022-02-17 17:35:36 +0100 <ski> perhaps you could make your wrapper return the `FunPtr (...)'
2022-02-17 17:37:04 +0100hud(~hud@uwyo-129-72-161-67.uwyo.edu)
2022-02-17 17:38:41 +0100 <hud> hi all, does anyone have a good primer for creating docs using haddock?
2022-02-17 17:38:41 +0100shapr(~user@pool-173-73-44-186.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2022-02-17 17:39:24 +0100deadmarshal(~deadmarsh@95.38.116.130) (Ping timeout: 240 seconds)
2022-02-17 17:40:12 +0100shapr(~user@pool-173-73-44-186.washdc.fios.verizon.net)
2022-02-17 17:40:47 +0100alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-02-17 17:41:05 +0100alx741(~alx741@181.199.42.143)
2022-02-17 17:41:49 +0100jlamothe(~jlamothe@198.251.61.229)
2022-02-17 17:44:40 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-02-17 17:45:07 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-17 17:45:36 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Quit: Leaving)
2022-02-17 17:46:02 +0100jlamothe(~jlamothe@198.251.61.229) (Client Quit)
2022-02-17 17:46:47 +0100jakalx(~jakalx@base.jakalx.net) ()
2022-02-17 17:48:06 +0100 <jackson99> ski, what can I do with it though? it is not safe to free it, as handler can be called at any point during the duration of the program
2022-02-17 17:49:00 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-02-17 17:49:01 +0100jakalx(~jakalx@base.jakalx.net)
2022-02-17 17:49:10 +0100dschrempf(~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3)
2022-02-17 17:50:05 +0100 <ski> i was thinking you could pass it to `SetConsoleCtrlHandler' again, if you wanted to remove it
2022-02-17 17:50:05 +0100geekosaur(~geekosaur@xmonad/geekosaur)
2022-02-17 17:50:35 +0100 <sm> hud: haddock's manual ?
2022-02-17 17:51:24 +0100romesrf(~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds)
2022-02-17 18:00:46 +0100lbseale(~ep1ctetus@user/ep1ctetus)
2022-02-17 18:02:28 +0100alx741(~alx741@181.199.42.143)
2022-02-17 18:04:03 +0100yauhsien(~yauhsien@61-231-32-166.dynamic-ip.hinet.net) (Ping timeout: 272 seconds)
2022-02-17 18:04:18 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 18:04:18 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-17 18:04:58 +0100alx741(~alx741@181.199.42.143)
2022-02-17 18:06:06 +0100zeenk(~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5) (Quit: Konversation terminated!)
2022-02-17 18:11:32 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-17 18:12:17 +0100waleee(~waleee@h-98-128-229-110.NA.cust.bahnhof.se)
2022-02-17 18:13:11 +0100tomsmeding(~tomsmedin@tomsmeding.com) (Quit: ZNC 1.8.2 - https://znc.in)
2022-02-17 18:14:17 +0100 <jackson99> what do you think about this interface? https://paste.tomsmeding.com/qK1OZchC
2022-02-17 18:15:46 +0100tomsmeding(~tomsmedin@2a01:4f8:c0c:5e5e::2)
2022-02-17 18:16:19 +0100 <geekosaur> strikes me as potentially error-prone; I'd make it more of a bracket-style construct withConsoleCtrlHandler
2022-02-17 18:16:58 +0100jlamothe(~jlamothe@198.251.61.229)
2022-02-17 18:17:29 +0100fendor_(~fendor@178.115.59.89.wireless.dyn.drei.com) (Remote host closed the connection)
2022-02-17 18:18:32 +0100 <akegalj> why is "> length (1,2) == 1" ?
2022-02-17 18:19:01 +0100 <ski> @type length
2022-02-17 18:19:02 +0100 <lambdabot> Foldable t => t a -> Int
2022-02-17 18:19:52 +0100 <geekosaur> that is a question some of us have been asking ever since someone got the odd idea of nmaking tuples Foldable
2022-02-17 18:19:54 +0100 <ski> there is an instance `Foldable (a,)'. this treats a value of type `(a,b)' as a collection of values of type `b'. seen as such a collection, it contains exactly one `b'
2022-02-17 18:19:56 +0100 <Hecate> akegalj: you're using a method of the `Foldable` interface on the 2-tuple type, I'd encourage you to see how Foldable is implemented for the 2-tuple
2022-02-17 18:19:58 +0100 <geekosaur> since you can't fold across their contents
2022-02-17 18:20:52 +0100 <akegalj> thanks all
2022-02-17 18:21:02 +0100jonathanx(~jonathan@h-178-174-176-109.a357.priv.bahnhof.se) (Remote host closed the connection)
2022-02-17 18:21:08 +0100 <akegalj> is it useful to have Foldable defined for tuple ?
2022-02-17 18:21:15 +0100 <Hecate> https://hackage.haskell.org/package/base-4.16.0.0/docs/src/Data.Foldable.html#line-763 akegalj
2022-02-17 18:21:16 +0100 <dolio> Yes.
2022-02-17 18:21:21 +0100 <Hecate> yes it's always useful
2022-02-17 18:21:23 +0100jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-02-17 18:21:26 +0100 <Hecate> just that it does something
2022-02-17 18:21:29 +0100 <Hecate> specific
2022-02-17 18:21:31 +0100wonko(~wjc@user/wonko)
2022-02-17 18:21:41 +0100 <Hecate> and if you want another thing, use another interface, like Bifunctor :)
2022-02-17 18:21:49 +0100Guest87(~Guest87@144-124-24-105.pip.aber.ac.uk)
2022-02-17 18:21:54 +0100wonko(~wjc@user/wonko) (Remote host closed the connection)
2022-02-17 18:21:59 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl)
2022-02-17 18:22:47 +0100Guest87(~Guest87@144-124-24-105.pip.aber.ac.uk) (Client Quit)
2022-02-17 18:23:19 +0100 <akegalj> thanks
2022-02-17 18:25:33 +0100wonko(~wjc@user/wonko)
2022-02-17 18:25:43 +0100wonko(~wjc@user/wonko) (Remote host closed the connection)
2022-02-17 18:27:23 +0100tomsmeding(~tomsmedin@2a01:4f8:c0c:5e5e::2) (Quit: ZNC 1.8.2 - https://znc.in)
2022-02-17 18:28:02 +0100meinside(uid24933@id-24933.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
2022-02-17 18:28:24 +0100alx741(~alx741@157.100.197.240)
2022-02-17 18:28:35 +0100tomsmeding(~tomsmedin@static.21.109.88.23.clients.your-server.de)
2022-02-17 18:28:56 +0100wonko(~wjc@user/wonko)
2022-02-17 18:30:19 +0100chele(~chele@user/chele) (Remote host closed the connection)
2022-02-17 18:31:09 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-17 18:31:36 +0100alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-02-17 18:35:05 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 272 seconds)
2022-02-17 18:35:23 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222)
2022-02-17 18:38:34 +0100wonko-(~wjc@user/wonko)
2022-02-17 18:38:53 +0100pooryorick(~pooryoric@87-119-174-173.tll.elisa.ee) (Ping timeout: 272 seconds)
2022-02-17 18:39:13 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-02-17 18:39:25 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit)
2022-02-17 18:39:40 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-02-17 18:40:03 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit)
2022-02-17 18:40:31 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-02-17 18:41:17 +0100MajorBiscuit(~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e) (Ping timeout: 240 seconds)
2022-02-17 18:41:31 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
2022-02-17 18:44:33 +0100wonko(~wjc@user/wonko) (Ping timeout: 250 seconds)
2022-02-17 18:47:31 +0100alx741(~alx741@181.199.42.143)
2022-02-17 18:48:50 +0100romesrf(~romes@44.190.189.46.rev.vodafone.pt)
2022-02-17 18:49:17 +0100Null_A(~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f) (Remote host closed the connection)
2022-02-17 18:50:32 +0100Akiva(~Akiva@user/Akiva)
2022-02-17 18:50:40 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Quit: The Lounge - https://thelounge.chat)
2022-02-17 18:50:56 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-02-17 18:52:10 +0100alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-02-17 18:55:23 +0100pooryorick(~pooryoric@87-119-174-173.tll.elisa.ee)
2022-02-17 18:55:53 +0100econo(uid147250@user/econo)
2022-02-17 18:56:06 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-17 18:56:37 +0100merijn(~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
2022-02-17 18:58:26 +0100dyeplexer(~dyeplexer@user/dyeplexer)
2022-02-17 19:00:13 +0100ubert(~Thunderbi@2a02:8109:9880:303c:de86:d03c:7719:1796) (Remote host closed the connection)
2022-02-17 19:02:13 +0100malc(~malc@2a00:1370:8180:aa79:1516:c12d:fb90:440e)
2022-02-17 19:05:52 +0100emf(~emf@c-73-97-137-43.hsd1.wa.comcast.net)
2022-02-17 19:06:17 +0100Null_A(~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909)
2022-02-17 19:10:36 +0100Null_A(~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Ping timeout: 240 seconds)
2022-02-17 19:12:47 +0100alx741(~alx741@181.199.42.143)
2022-02-17 19:16:39 +0100deadmarshal(~deadmarsh@95.38.116.130)
2022-02-17 19:16:48 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-17 19:17:07 +0100dcoutts(~duncan@host109-149-1-225.range109-149.btcentralplus.com) (Ping timeout: 256 seconds)
2022-02-17 19:18:12 +0100zebrag(~chris@user/zebrag)
2022-02-17 19:18:27 +0100Lobux(~Lobux@nat.ds14.agh.edu.pl)
2022-02-17 19:18:34 +0100mncheck(~mncheck@193.224.205.254) (Read error: Connection reset by peer)
2022-02-17 19:20:24 +0100 <Lobux> hi! just have a quick questions - does the network package support timeouts? (for example for the accept function or recv)
2022-02-17 19:21:33 +0100maroloccio(~marolocci@pousada3ja.mma.com.br) (Quit: WeeChat 3.0)
2022-02-17 19:22:16 +0100 <geekosaur> not directly. System.Timeout may work with it.but why would you use a timeout instead of a thread?
2022-02-17 19:22:20 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) (Remote host closed the connection)
2022-02-17 19:22:30 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2022-02-17 19:22:48 +0100burnsidesLlama(~burnsides@dhcp168-021.wadham.ox.ac.uk)
2022-02-17 19:23:31 +0100 <hololeap> @hackage connections -- Lobux, you might want to have a look at this package instead. it's higher-level
2022-02-17 19:23:32 +0100 <lambdabot> https://hackage.haskell.org/package/connections -- Lobux, you might want to have a look at this package instead. it's higher-level
2022-02-17 19:23:57 +0100EvanR(~EvanR@user/evanr)
2022-02-17 19:24:18 +0100jackson99(~bc8147f2@cerf.good1.com) (Quit: CGI:IRC (Ping timeout))
2022-02-17 19:25:33 +0100 <monochrom> To a large extent I wouldn't care about timing out accept, even in C.
2022-02-17 19:26:25 +0100 <monochrom> I guess IRC DCC and FTP are exceptions.
2022-02-17 19:26:53 +0100 <EvanR> forkIO or async thread doing the accept
2022-02-17 19:27:04 +0100 <EvanR> then simply kill it or not
2022-02-17 19:28:14 +0100 <Lobux> EvanR thanks! didn't think about killing (had an loop idea in mind with some messaging through mvar)
2022-02-17 19:28:15 +0100 <monochrom> Yeah. The timeout package packages that idiom.
2022-02-17 19:28:43 +0100 <EvanR> oh, is System.Timeout no longer in base
2022-02-17 19:28:44 +0100 <monochrom> There are a few more timing-out packages on hackage.
2022-02-17 19:29:00 +0100burnsidesLlama(~burnsides@dhcp168-021.wadham.ox.ac.uk) (Ping timeout: 240 seconds)
2022-02-17 19:29:01 +0100hud(~hud@uwyo-129-72-161-67.uwyo.edu) (Quit: Client closed)
2022-02-17 19:29:13 +0100 <monochrom> Ooops, System.Timeout is in base, no need for another package.
2022-02-17 19:30:09 +0100EvanR(~EvanR@user/evanr) (Quit: Leaving)
2022-02-17 19:31:09 +0100EvanR(~EvanR@user/evanr)
2022-02-17 19:32:30 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 252 seconds)
2022-02-17 19:34:10 +0100alx741(~alx741@181.199.42.143)
2022-02-17 19:34:15 +0100gehmehgeh(~user@user/gehmehgeh) (Remote host closed the connection)
2022-02-17 19:34:59 +0100gehmehgeh(~user@user/gehmehgeh)
2022-02-17 19:35:35 +0100jackson99(~bc8147f2@cerf.good1.com)
2022-02-17 19:39:57 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-17 19:40:39 +0100alx741(~alx741@181.199.42.143)
2022-02-17 19:42:08 +0100dyeplexer(~dyeplexer@user/dyeplexer) (Remote host closed the connection)
2022-02-17 19:42:47 +0100kayvank(~user@52-119-115-185.PUBLIC.monkeybrains.net) (Remote host closed the connection)
2022-02-17 19:45:22 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-17 19:46:21 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222)
2022-02-17 19:48:06 +0100_ht(~quassel@231-169-21-31.ftth.glasoperator.nl)
2022-02-17 19:49:38 +0100 <energizer> how come * doesn't do cartesian product on collections like List and Set?
2022-02-17 19:50:40 +0100 <EvanR> type mismatch?
2022-02-17 19:50:44 +0100 <Rembane> energizer: Because lists and sets aren't numbers.
2022-02-17 19:50:57 +0100 <EvanR> * :: a -> a -> a
2022-02-17 19:51:16 +0100 <EvanR> x :: f a -> f a -> f (a,a)
2022-02-17 19:51:35 +0100 <EvanR> er
2022-02-17 19:51:39 +0100 <EvanR> x :: f a -> f b -> f (a,b)
2022-02-17 19:53:27 +0100 <energizer> ok
2022-02-17 19:54:19 +0100slack1256(~slack1256@186.11.99.12)
2022-02-17 19:54:40 +0100little_mac(~little_ma@2601:410:4300:3ce0:68e2:4c30:8ca1:db3)
2022-02-17 19:54:54 +0100 <Rembane> energizer: If you're in a festive mood, you could implement the Num typeclass for lists.
2022-02-17 19:55:14 +0100 <ski> > liftA2 (,) "abc" [0,1]
2022-02-17 19:55:15 +0100 <lambdabot> [('a',0),('a',1),('b',0),('b',1),('c',0),('c',1)]
2022-02-17 19:55:48 +0100 <tomsmeding> @let (×) = liftA2 (,)
2022-02-17 19:55:49 +0100 <lambdabot> Defined.
2022-02-17 19:55:57 +0100 <tomsmeding> > "abc" × [0,1]
2022-02-17 19:55:59 +0100 <lambdabot> [('a',0),('a',1),('b',0),('b',1),('c',0),('c',1)]
2022-02-17 19:57:04 +0100 <tomsmeding> (and if you feel that's not the right definition: feel free to define ✕ and ✖ alongside)
2022-02-17 19:58:00 +0100 <alexfmpe[m]> I thought ghc 9.2 with Impredicative types was meant to make polymorphic types first-class ? this doesn't seem to work
2022-02-17 19:58:00 +0100 <alexfmpe[m]> type family Meh a :: *
2022-02-17 19:58:00 +0100 <alexfmpe[m]> type instance Meh () = forall x. [x]
2022-02-17 19:58:00 +0100 <alexfmpe[m]> • Illegal polymorphic type: forall x. [x]
2022-02-17 19:58:43 +0100 <ski> @slap GHC
2022-02-17 19:58:43 +0100lambdabotwould never hurt GHC!
2022-02-17 19:58:51 +0100 <ski> (that's not a polymorphic type)
2022-02-17 19:58:57 +0100 <alexfmpe[m]> https://downloads.haskell.org/ghc/latest/docs/html/users_guide/exts/impredicative_types.html basically only mentions adding polymorphic types under constructors
2022-02-17 19:59:46 +0100 <alexfmpe[m]> is it expected to get closer to first class in future releases or this is already as implemented as it's currently expected to be?
2022-02-17 19:59:49 +0100 <alexfmpe[m]> ski: hmm?
2022-02-17 20:00:04 +0100 <ski> @kind Const
2022-02-17 20:00:05 +0100 <lambdabot> * -> k -> *
2022-02-17 20:00:10 +0100 <ski> `Const' is a polymorphic type
2022-02-17 20:01:10 +0100 <ski> `forall x. [x]' is a monomorphic type. it is, however, the type of "polymorphic lists". it is a universal / `forall'- type. universal types have polymorphic values
2022-02-17 20:01:39 +0100 <ski> (universal kinds, like `forall k. * -> k -> *', have polymorphic types, like `Const')
2022-02-17 20:01:51 +0100 <alexfmpe[m]> ah fair enough
2022-02-17 20:01:56 +0100alx741(~alx741@157.100.197.240)
2022-02-17 20:02:00 +0100ccntrq(~Thunderbi@2a01:e34:eccb:b060:e6dd:69f1:f693:42d5) (Remote host closed the connection)
2022-02-17 20:03:49 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-17 20:03:51 +0100 <alexfmpe[m]> so am I holding it wrong or is the illegally-quantified-type not go in that slot for the time being?
2022-02-17 20:04:11 +0100 <slack1256> To use "google cloud secret management <https://cloud.google.com/secret-manager/docs/reference/libraries>, which gogol-* should I use if any?
2022-02-17 20:05:00 +0100malc(~malc@2a00:1370:8180:aa79:1516:c12d:fb90:440e) (ERC (IRC client for Emacs 28.0.50))
2022-02-17 20:05:19 +0100 <ski> alexfmpe[m] : i guess not ?
2022-02-17 20:05:24 +0100 <ski> perhaps ask on mailing list ?
2022-02-17 20:05:57 +0100romesrf(~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds)
2022-02-17 20:07:37 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net) (Read error: Connection reset by peer)
2022-02-17 20:07:39 +0100coot(~coot@213.134.190.95) ()
2022-02-17 20:10:23 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-02-17 20:11:14 +0100turlando(~turlando@93-42-250-112.ip89.fastwebnet.it)
2022-02-17 20:11:14 +0100turlando(~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host)
2022-02-17 20:11:14 +0100turlando(~turlando@user/turlando)
2022-02-17 20:12:25 +0100slowtyper(~slowtyper@user/slowtyper)
2022-02-17 20:12:37 +0100slowtype-(~slowtyper@2a02:214c:8494:a100:8f:b3ce:d37b:a68d) (Ping timeout: 240 seconds)
2022-02-17 20:17:08 +0100slowtype-(~slowtyper@79.103.111.41.dsl.dyn.forthnet.gr)
2022-02-17 20:17:17 +0100slowtyper(~slowtyper@user/slowtyper) (Ping timeout: 250 seconds)
2022-02-17 20:17:45 +0100deadmarshal(~deadmarsh@95.38.116.130) (Ping timeout: 256 seconds)
2022-02-17 20:20:38 +0100slowtyper(~slowtyper@user/slowtyper)
2022-02-17 20:21:29 +0100alx741(~alx741@181.199.42.143)
2022-02-17 20:21:37 +0100romesrf(~romes@44.190.189.46.rev.vodafone.pt)
2022-02-17 20:21:51 +0100dcoutts(~duncan@host213-122-143-131.range213-122.btcentralplus.com)
2022-02-17 20:22:00 +0100 <fryguybob> > fromEnum (2 ^ 66 :: Integer)
2022-02-17 20:22:01 +0100 <lambdabot> 0
2022-02-17 20:22:07 +0100slowtype-(~slowtyper@79.103.111.41.dsl.dyn.forthnet.gr) (Ping timeout: 272 seconds)
2022-02-17 20:22:20 +0100 <EvanR> seems legit
2022-02-17 20:22:29 +0100 <fryguybob> > fromEnum (2 ^ 66 + 1:: Integer)
2022-02-17 20:22:31 +0100 <lambdabot> 1
2022-02-17 20:22:55 +0100 <fryguybob> "`fromEnum` and `toEnum` should give a runtime error if the result value is not representable in the result type."
2022-02-17 20:23:35 +0100 <fryguybob> "should" is doing a lot of work there :D
2022-02-17 20:23:45 +0100 <janus> is it best to try out mtl-2.3 rc3 or rc4? because rc4 has the re-exports reinserted, but it seems like they will be removed again, according to https://github.com/haskell/mtl/pull/103#issuecomment-1024522023
2022-02-17 20:25:01 +0100 <EvanR> what good is a specification if you can't ignore it
2022-02-17 20:29:10 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 20:29:17 +0100jgeerds(~jgeerds@55d4b9df.access.ecotel.net)
2022-02-17 20:29:17 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-17 20:29:29 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 20:29:35 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 20:29:51 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 20:29:57 +0100alx741(~alx741@157.100.197.240)
2022-02-17 20:29:59 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 20:30:09 +0100dcoutts(~duncan@host213-122-143-131.range213-122.btcentralplus.com) (Remote host closed the connection)
2022-02-17 20:30:14 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 20:30:21 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 20:30:28 +0100dcoutts(~duncan@host213-122-143-131.range213-122.btcentralplus.com)
2022-02-17 20:30:35 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 20:30:42 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 20:30:57 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 20:31:04 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 20:31:18 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 20:31:25 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 20:31:34 +0100slowtype-(~slowtyper@79.103.224.184.dsl.dyn.forthnet.gr)
2022-02-17 20:31:42 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 20:31:49 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 20:32:06 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 20:32:13 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 20:32:13 +0100slowtyper(~slowtyper@user/slowtyper) (Ping timeout: 256 seconds)
2022-02-17 20:32:13 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-17 20:32:26 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 20:32:32 +0100zeenk(~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5)
2022-02-17 20:32:34 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 20:32:51 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 20:32:58 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 20:33:13 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 20:33:20 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-17 20:34:26 +0100jgeerds(~jgeerds@55d4b9df.access.ecotel.net) (Remote host closed the connection)
2022-02-17 20:35:53 +0100romesrf(~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds)
2022-02-17 20:39:12 +0100deadmarshal(~deadmarsh@95.38.116.130)
2022-02-17 20:39:55 +0100dcoutts_(~duncan@host86-144-78-249.range86-144.btcentralplus.com)
2022-02-17 20:40:07 +0100ubert(~Thunderbi@p200300ecdf09942db6b20453daa25e1f.dip0.t-ipconnect.de)
2022-02-17 20:41:19 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2022-02-17 20:41:45 +0100dcoutts(~duncan@host213-122-143-131.range213-122.btcentralplus.com) (Ping timeout: 272 seconds)
2022-02-17 20:43:01 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 272 seconds)
2022-02-17 20:43:01 +0100Lord_of_Life_Lord_of_Life
2022-02-17 20:44:42 +0100Erutuon(~Erutuon@user/erutuon)
2022-02-17 20:47:48 +0100vicfred(~vicfred@user/vicfred)
2022-02-17 20:49:01 +0100Null_A(~null_a@2601:645:8700:2290:890f:d3a0:aab0:f3f)
2022-02-17 20:49:35 +0100burnsidesLlama(~burnsides@dhcp168-021.wadham.ox.ac.uk)
2022-02-17 20:50:23 +0100alx741(~alx741@181.199.42.143)
2022-02-17 20:52:20 +0100Lycurgus(~juan@98.4.112.204)
2022-02-17 20:55:56 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com)
2022-02-17 20:56:06 +0100alp(~alp@user/alp) (Ping timeout: 252 seconds)
2022-02-17 20:56:07 +0100alp_(~alp@user/alp)
2022-02-17 20:58:24 +0100slack1256(~slack1256@186.11.99.12) (Remote host closed the connection)
2022-02-17 20:59:28 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-17 21:01:48 +0100Megant(megant@user/megant)
2022-02-17 21:03:51 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 21:04:58 +0100machinedgod(~machinedg@24.105.81.50) (Remote host closed the connection)
2022-02-17 21:05:30 +0100akegalj(~akegalj@93-138-38-201.adsl.net.t-com.hr) (Quit: leaving)
2022-02-17 21:05:49 +0100juhp(~juhp@128.106.188.82) (Ping timeout: 272 seconds)
2022-02-17 21:07:49 +0100juhp(~juhp@128.106.188.82)
2022-02-17 21:08:58 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 272 seconds)
2022-02-17 21:15:42 +0100fef(~thedawn@user/thedawn) (Quit: Leaving)
2022-02-17 21:16:47 +0100alx741(~alx741@157.100.197.240)
2022-02-17 21:20:38 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-17 21:20:51 +0100waleee(~waleee@h-98-128-229-110.NA.cust.bahnhof.se) (Ping timeout: 252 seconds)
2022-02-17 21:22:15 +0100thyriaen(~thyriaen@simnet-nat-pool-185-130-54-205.stargrpns.pp.ua)
2022-02-17 21:22:17 +0100deadmarshal(~deadmarsh@95.38.116.130) (Ping timeout: 272 seconds)
2022-02-17 21:22:37 +0100waleee(~waleee@h-98-128-229-110.NA.cust.bahnhof.se)
2022-02-17 21:23:32 +0100dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.4)
2022-02-17 21:23:33 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-02-17 21:23:58 +0100bollu(~bollu@159.65.151.13) (Ping timeout: 260 seconds)
2022-02-17 21:24:13 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) (Remote host closed the connection)
2022-02-17 21:25:06 +0100bollu(~bollu@159.65.151.13)
2022-02-17 21:26:32 +0100Lycurgus(~juan@98.4.112.204) (Quit: Exeunt)
2022-02-17 21:26:53 +0100capo_greco(~textual@60-241-161-167.static.tpgi.com.au)
2022-02-17 21:27:03 +0100alp_(~alp@user/alp) (Ping timeout: 250 seconds)
2022-02-17 21:36:20 +0100cynomys(~cynomys@user/cynomys)
2022-02-17 21:37:02 +0100alx741(~alx741@157.100.197.240)
2022-02-17 21:40:18 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-17 21:41:33 +0100caubert(~caubert@136.244.111.235) (Quit: WeeChat 3.4)
2022-02-17 21:43:34 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-02-17 21:43:52 +0100caubert(~caubert@136.244.111.235)
2022-02-17 21:44:09 +0100little_mac(~little_ma@2601:410:4300:3ce0:68e2:4c30:8ca1:db3) (Remote host closed the connection)
2022-02-17 21:45:03 +0100jinsun(~jinsun@user/jinsun) (Read error: Connection reset by peer)
2022-02-17 21:46:21 +0100jinsun(~jinsun@user/jinsun)
2022-02-17 21:46:27 +0100notzmv(~zmv@user/notzmv)
2022-02-17 21:47:23 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2022-02-17 21:48:28 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com)
2022-02-17 21:49:41 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-02-17 21:50:47 +0100motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 272 seconds)
2022-02-17 21:53:01 +0100motherfsck(~motherfsc@user/motherfsck)
2022-02-17 21:53:42 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222)
2022-02-17 21:58:09 +0100Lobux(~Lobux@nat.ds14.agh.edu.pl) (Quit: Client closed)
2022-02-17 21:58:26 +0100alx741(~alx741@157.100.197.240)
2022-02-17 21:59:11 +0100`2jt(~jtomas@130.red-88-22-46.staticip.rima-tde.net) (Ping timeout: 256 seconds)
2022-02-17 21:59:13 +0100yauhsien(~Yau-Hsien@61-231-37-106.dynamic-ip.hinet.net)
2022-02-17 22:00:16 +0100pavonia(~user@user/siracusa)
2022-02-17 22:01:20 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-17 22:01:28 +0100`2jt(~jtomas@130.red-88-22-46.staticip.rima-tde.net)
2022-02-17 22:01:48 +0100yauhsien_(~Yau-Hsien@61-231-32-166.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-02-17 22:02:39 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) (Remote host closed the connection)
2022-02-17 22:03:44 +0100bollu5(~bollu@159.65.151.13)
2022-02-17 22:04:43 +0100bollu(~bollu@159.65.151.13) (Read error: Connection reset by peer)
2022-02-17 22:04:43 +0100bollu5bollu
2022-02-17 22:06:10 +0100c209e6dc-4d76-47(~aditya@2601:249:4300:1296:195:dac6:592c:a55a)
2022-02-17 22:07:25 +0100_ht(~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
2022-02-17 22:07:38 +0100Pickchea(~private@user/pickchea)
2022-02-17 22:14:33 +0100thyriaen(~thyriaen@simnet-nat-pool-185-130-54-205.stargrpns.pp.ua) (Quit: Leaving)
2022-02-17 22:16:53 +0100Unhammer(~Unhammer@user/unhammer) (Ping timeout: 250 seconds)
2022-02-17 22:17:50 +0100yauhsienhuangtw(~Yau-Hsien@61-231-37-106.dynamic-ip.hinet.net)
2022-02-17 22:18:26 +0100machinedgod(~machinedg@24.105.81.50)
2022-02-17 22:18:29 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-17 22:18:29 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-17 22:18:29 +0100wroathe(~wroathe@user/wroathe)
2022-02-17 22:18:41 +0100acidsys(~LSD@2a03:4000:55:d20::3) (Excess Flood)
2022-02-17 22:19:08 +0100alx741(~alx741@157.100.197.240)
2022-02-17 22:20:33 +0100acidjnk(~acidjnk@p200300d0c71a5a433051350517ca1eef.dip0.t-ipconnect.de)
2022-02-17 22:21:11 +0100yauhsien(~Yau-Hsien@61-231-37-106.dynamic-ip.hinet.net) (Ping timeout: 272 seconds)
2022-02-17 22:22:15 +0100sss(~sss@2001:18e8:2:28b9:f000::562b)
2022-02-17 22:22:59 +0100acidsys(~LSD@2a03:4000:55:d20::3)
2022-02-17 22:24:15 +0100capo_greco(~textual@60-241-161-167.static.tpgi.com.au) (Quit: Textual IRC Client: www.textualapp.com)
2022-02-17 22:24:45 +0100 <Sqaure> I have been pondering if theres a better solution to my problem. Using the Applicative Validation type i construct records in an evaluation like this:
2022-02-17 22:24:51 +0100 <Sqaure> (pure MyRecord) <*> v_ ar <*> v_ brOpt <*> v_ cr <*> cv dr <*> cv ers <*> v_ gr <*> v_ hrOpt <*> v_ ir
2022-02-17 22:26:25 +0100wonko-(~wjc@user/wonko) (Ping timeout: 250 seconds)
2022-02-17 22:27:01 +0100 <Sqaure> v_ is just a meaningless wrapper.. its just Applicative at work here. But, as you see. Quite unreadable / non clear. I wonder if there was some trick to applicatively construct records using MyRecord field names instead of positional like above?
2022-02-17 22:27:47 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-17 22:28:30 +0100 <[exa]> Sqaure: if I count correctly, there's only like 2 items that can actually cause validation failures, right? (`cv dr`, `cv ers`)
2022-02-17 22:28:40 +0100rusty(~rustyboy@82.77.225.116)
2022-02-17 22:29:52 +0100 <[exa]> minor side suggestions: remove pure by swapping the first <*> to <$>, and because there aren't that many parameters to "unwrap", perhaps writing this monadically with `do` would make sense
2022-02-17 22:30:07 +0100 <Sqaure> [exa], oh bot "cv" / "v_" are meaningless wrappers. hmm... i believe all terms can fail.
2022-02-17 22:30:13 +0100alp_(~alp@user/alp)
2022-02-17 22:30:16 +0100 <[exa]> what does v_ do ?
2022-02-17 22:30:22 +0100Unhammer(~Unhammer@user/unhammer)
2022-02-17 22:30:57 +0100 <[exa]> if all items can fail, you're probably pretty close to the best possibility here
2022-02-17 22:31:08 +0100 <Sqaure> just wrapps the value to a appropriate type. I could have left both "v_" and "cv" out of the example
2022-02-17 22:31:33 +0100 <Sqaure> [exa], no Lens trickery possibly?
2022-02-17 22:31:44 +0100 <[exa]> ah so it's some kinda `v_ = fmap MyTypeWrap` or so
2022-02-17 22:32:01 +0100 <Sqaure> yeah. exactly
2022-02-17 22:32:12 +0100ub(~Thunderbi@86.107.21.10)
2022-02-17 22:32:36 +0100 <[exa]> you might like generics to assemble this kind of structures though
2022-02-17 22:32:52 +0100 <Sqaure> Oh? How?
2022-02-17 22:32:53 +0100alanz(sid110616@id-110616.uxbridge.irccloud.com) (Ping timeout: 252 seconds)
2022-02-17 22:33:00 +0100bw(sid2730@user/betawaffle) (Ping timeout: 240 seconds)
2022-02-17 22:33:00 +0100scav(sid309693@id-309693.helmsley.irccloud.com) (Ping timeout: 240 seconds)
2022-02-17 22:33:00 +0100taktoa[c](sid282096@id-282096.tinside.irccloud.com) (Ping timeout: 240 seconds)
2022-02-17 22:33:00 +0100SanchayanMaity(sid478177@id-478177.hampstead.irccloud.com) (Ping timeout: 240 seconds)
2022-02-17 22:33:00 +0100gregberns__(sid315709@id-315709.helmsley.irccloud.com) (Ping timeout: 240 seconds)
2022-02-17 22:33:01 +0100philpax_(sid516926@id-516926.lymington.irccloud.com) (Ping timeout: 240 seconds)
2022-02-17 22:33:23 +0100rtpg(sid443069@id-443069.ilkley.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 22:33:23 +0100caasih(sid13241@id-13241.ilkley.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 22:33:23 +0100teehemkay_(sid14792@id-14792.lymington.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 22:33:23 +0100Firedancer(sid336191@id-336191.hampstead.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 22:33:24 +0100typetetris(sid275937@id-275937.tinside.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 22:33:24 +0100christiaanb(sid84827@id-84827.lymington.irccloud.com) (Read error: Connection reset by peer)
2022-02-17 22:33:24 +0100hubvu_(sid495858@id-495858.tinside.irccloud.com) (Ping timeout: 240 seconds)
2022-02-17 22:33:25 +0100gmc(sid58314@id-58314.ilkley.irccloud.com) (Ping timeout: 240 seconds)
2022-02-17 22:33:25 +0100supersven(sid501114@id-501114.ilkley.irccloud.com) (Ping timeout: 240 seconds)
2022-02-17 22:33:30 +0100teehemkay_(sid14792@id-14792.lymington.irccloud.com)
2022-02-17 22:33:30 +0100gregberns__(sid315709@id-315709.helmsley.irccloud.com)
2022-02-17 22:33:31 +0100rtpg(sid443069@id-443069.ilkley.irccloud.com)
2022-02-17 22:33:31 +0100alanz(sid110616@id-110616.uxbridge.irccloud.com)
2022-02-17 22:33:32 +0100caasih(sid13241@id-13241.ilkley.irccloud.com)
2022-02-17 22:33:32 +0100scav(sid309693@id-309693.helmsley.irccloud.com)
2022-02-17 22:33:32 +0100supersven(sid501114@id-501114.ilkley.irccloud.com)
2022-02-17 22:33:32 +0100Firedancer(sid336191@id-336191.hampstead.irccloud.com)
2022-02-17 22:33:32 +0100taktoa[c](sid282096@id-282096.tinside.irccloud.com)
2022-02-17 22:33:33 +0100philpax_(sid516926@id-516926.lymington.irccloud.com)
2022-02-17 22:33:33 +0100typetetris(sid275937@id-275937.tinside.irccloud.com)
2022-02-17 22:33:33 +0100christiaanb(sid84827@id-84827.lymington.irccloud.com)
2022-02-17 22:33:33 +0100gmc(sid58314@id-58314.ilkley.irccloud.com)
2022-02-17 22:33:49 +0100SanchayanMaity(sid478177@id-478177.hampstead.irccloud.com)
2022-02-17 22:34:01 +0100 <Sqaure> The point is this should be a "user" api. The construction of the record have an important meaning.
2022-02-17 22:34:02 +0100bw(sid2730@user/betawaffle)
2022-02-17 22:34:12 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com) (Ping timeout: 240 seconds)
2022-02-17 22:34:12 +0100caimeo(uid540603@id-540603.lymington.irccloud.com) (Ping timeout: 240 seconds)
2022-02-17 22:34:18 +0100 <[exa]> yeah a bit more of the semantics could help here
2022-02-17 22:34:36 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com) (Ping timeout: 240 seconds)
2022-02-17 22:34:36 +0100elvishjerricco(sid237756@id-237756.helmsley.irccloud.com) (Ping timeout: 240 seconds)
2022-02-17 22:34:37 +0100rusty(~rustyboy@82.77.225.116) (Remote host closed the connection)
2022-02-17 22:35:00 +0100econo(uid147250@user/econo) (Ping timeout: 240 seconds)
2022-02-17 22:35:01 +0100pepeiborra(sid443799@id-443799.ilkley.irccloud.com) (Ping timeout: 240 seconds)
2022-02-17 22:35:01 +0100sooch_(sid533113@id-533113.hampstead.irccloud.com) (Ping timeout: 240 seconds)
2022-02-17 22:35:30 +0100caimeo(uid540603@id-540603.lymington.irccloud.com)
2022-02-17 22:35:34 +0100sooch_(sid533113@id-533113.hampstead.irccloud.com)
2022-02-17 22:35:34 +0100econo(uid147250@user/econo)
2022-02-17 22:35:35 +0100pepeiborra(sid443799@id-443799.ilkley.irccloud.com)
2022-02-17 22:35:36 +0100elvishjerricco(sid237756@id-237756.helmsley.irccloud.com)
2022-02-17 22:35:37 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com)
2022-02-17 22:35:46 +0100hubvu_(sid495858@id-495858.tinside.irccloud.com)
2022-02-17 22:35:52 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com)
2022-02-17 22:36:00 +0100 <Sqaure> users write construction functions and add validation as they see fit. Last part is the construction of the record. so the function returns a "Validation FailedConstrutionType MyRecord"
2022-02-17 22:36:02 +0100 <[exa]> the things I find kinda uncanny is how much fields are there (would be better named for newcomers)
2022-02-17 22:36:17 +0100 <Sqaure> there could be 100s
2022-02-17 22:36:22 +0100 <[exa]> oh
2022-02-17 22:36:29 +0100 <Sqaure> thats why the above solution isnt great at all
2022-02-17 22:36:38 +0100rusty(~rustyboy@82.77.225.116)
2022-02-17 22:37:07 +0100geekosaurwas wondering about ApplicativeDo + RecordWildCards
2022-02-17 22:37:24 +0100 <geekosaur> or is it NamedFieldPuns here?
2022-02-17 22:38:02 +0100 <Sqaure> (side note: Need to read up on ApplicativeDo=
2022-02-17 22:38:30 +0100EvanR(~EvanR@user/evanr) (Remote host closed the connection)
2022-02-17 22:38:43 +0100 <[exa]> at that point go for lenses, use some combo of Validation and State, and make your own operators that handle the logic correctly so that you can write code such as `myfieldname .?= ar` and `myotherfield .?== ers` instead of `v_` and `cv` (the operators I picked completely randomly, replace ? with whatever you seem fit
2022-02-17 22:38:50 +0100EvanR(~EvanR@user/evanr)
2022-02-17 22:38:53 +0100acidsys(~LSD@2a03:4000:55:d20::3) (Excess Flood)
2022-02-17 22:39:02 +0100ub(~Thunderbi@86.107.21.10) (Quit: ub)
2022-02-17 22:39:26 +0100 <[exa]> I was wondering about ApplicativeDo but that might just add variables in this case, right?
2022-02-17 22:39:32 +0100ub(~Thunderbi@86.107.21.10)
2022-02-17 22:40:04 +0100acidsys(~LSD@2a03:4000:55:d20::3)
2022-02-17 22:41:49 +0100Midjak(~Midjak@91-169-30-149.subs.proxad.net) (Quit: Leaving)
2022-02-17 22:42:46 +0100 <Sqaure> Ah right, you can construct with RecordWildCards. I've only used them to read. That could be something possibly.
2022-02-17 22:43:31 +0100romesrf(~romes@44.190.189.46.rev.vodafone.pt)
2022-02-17 22:43:37 +0100 <romesrf> hallo
2022-02-17 22:43:47 +0100 <romesrf> is there a nice way to replicate a tuple?
2022-02-17 22:43:59 +0100 <sss> does running a preprocessor (that outputs valid standard haskell) with {-# OPTIONS_GHC -F -pgmF=mypreprocessor #-} work relatively well with tools like ghci/ghcid? (maybe except for line numbers?)
2022-02-17 22:44:03 +0100 <romesrf> replicate 3 "hi" --> (hi,hi,hi)
2022-02-17 22:44:10 +0100alx741(~alx741@157.100.197.240)
2022-02-17 22:45:29 +0100 <[exa]> romesrf: that introduces types that depend on values, which is what people usually choose to avoid
2022-02-17 22:45:44 +0100 <[exa]> (imagine the `3` would be received from the user or something)
2022-02-17 22:45:47 +0100 <romesrf> why avoid? hahaah
2022-02-17 22:45:54 +0100 <romesrf> but [exa] i'm wondering if there's a TH nicety
2022-02-17 22:46:15 +0100 <romesrf> i'm pretty sure i saw an example once
2022-02-17 22:46:16 +0100 <[exa]> ah yes for TH that could work easily, if you can remove the `3` before it hits typechecking :]
2022-02-17 22:46:24 +0100 <romesrf> yea :) hahaha
2022-02-17 22:46:43 +0100 <romesrf> i wonder if there's a TH "prelude" library
2022-02-17 22:47:15 +0100Ariakenom_(~Ariakenom@h-82-196-111-63.NA.cust.bahnhof.se) (Read error: Connection reset by peer)
2022-02-17 22:48:32 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-17 22:49:03 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 272 seconds)
2022-02-17 22:49:40 +0100 <[exa]> romesrf: `tuple-th` looks pretty close
2022-02-17 22:49:47 +0100 <[exa]> there's `htuple`
2022-02-17 22:50:03 +0100 <romesrf> cool! thank you
2022-02-17 22:50:05 +0100 <[exa]> (the first is library, the second is TH function)
2022-02-17 22:50:42 +0100sndr(~sander@user/sander)
2022-02-17 22:50:53 +0100sss(~sss@2001:18e8:2:28b9:f000::562b) (Quit: Client closed)
2022-02-17 22:51:22 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 22:52:08 +0100 <[exa]> I don't see the exact function for actual values but customizing `htuple` should not be hard
2022-02-17 22:52:42 +0100sander(~sander@user/sander) (Ping timeout: 252 seconds)
2022-02-17 22:52:42 +0100sndrsander
2022-02-17 22:52:57 +0100kilolympus(~kilolympu@vpn-fn-230.net.ed.ac.uk) (Ping timeout: 240 seconds)
2022-02-17 22:53:13 +0100kilolympus(~kilolympu@vpn-fn-230.net.ed.ac.uk)
2022-02-17 22:53:17 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-02-17 22:53:33 +0100 <romesrf> yep, I'm going to write my own
2022-02-17 22:53:40 +0100gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2022-02-17 22:54:13 +0100 <romesrf> I've had more complicated fun with TH previously, this should be a bit simpler
2022-02-17 22:54:44 +0100 <[exa]> wild guess, literally `replituple n expr = tupE (replicate n expr)`
2022-02-17 22:54:49 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-17 22:54:49 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-17 22:54:49 +0100wroathe(~wroathe@user/wroathe)
2022-02-17 22:55:37 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2022-02-17 22:56:11 +0100k``(~user@152.1.137.158) (Remote host closed the connection)
2022-02-17 22:57:40 +0100 <[exa]> ...replituplate, reptuplate... names.
2022-02-17 22:58:45 +0100 <romesrf> hahahaha that's what I was just about to do [exa]
2022-02-17 22:58:48 +0100 <romesrf> it's close
2022-02-17 22:59:08 +0100 <Sqaure> geekosaur, man it looks like ApplicativeDo + RecordWildCards makes wonders here. Thanks
2022-02-17 22:59:09 +0100 <romesrf> i think it'll be TupE (replicate n $ Just expr)
2022-02-17 22:59:16 +0100 <romesrf> TupE [Maybe Exp]
2022-02-17 22:59:37 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-02-17 23:00:08 +0100Midjak(~Midjak@91-169-30-149.subs.proxad.net)
2022-02-17 23:00:36 +0100 <[exa]> ah there's the maybe in there
2022-02-17 23:00:49 +0100 <[exa]> (that's for wildcards?)
2022-02-17 23:00:54 +0100 <romesrf> :) Your wild guess was wildly correct hahah
2022-02-17 23:00:59 +0100 <romesrf> [exa]: it's for tuple sections
2022-02-17 23:01:49 +0100doyougnu(~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) (Ping timeout: 256 seconds)
2022-02-17 23:01:55 +0100 <romesrf> (1,) --> TupE [Just (LitE (IntegerL 1)),Nothing]
2022-02-17 23:03:03 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222)
2022-02-17 23:03:24 +0100rusty(~rustyboy@82.77.225.116) (Quit: Leaving)
2022-02-17 23:04:55 +0100waleee(~waleee@h-98-128-229-110.NA.cust.bahnhof.se) (Ping timeout: 256 seconds)
2022-02-17 23:06:41 +0100alx741(~alx741@157.100.197.240)
2022-02-17 23:07:17 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222) (Ping timeout: 240 seconds)
2022-02-17 23:08:23 +0100 <[exa]> wow, scary
2022-02-17 23:09:03 +0100jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2022-02-17 23:09:21 +0100jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-02-17 23:09:29 +0100Midjak(~Midjak@91-169-30-149.subs.proxad.net) (Quit: Leaving)
2022-02-17 23:10:35 +0100cynomys(~cynomys@user/cynomys) (Ping timeout: 256 seconds)
2022-02-17 23:11:00 +0100Midjak(~Midjak@91-169-30-149.subs.proxad.net)
2022-02-17 23:11:00 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-17 23:12:02 +0100 <romesrf> I'm going to look for tuples in HsExpr too brb
2022-02-17 23:12:50 +0100 <romesrf> | ExplicitTuple
2022-02-17 23:12:52 +0100 <romesrf> (XExplicitTuple p)
2022-02-17 23:12:54 +0100 <romesrf> [HsTupArg p]
2022-02-17 23:12:56 +0100 <romesrf> Boxity
2022-02-17 23:12:58 +0100 <romesrf> hehe
2022-02-17 23:13:00 +0100 <romesrf> Boxity
2022-02-17 23:13:07 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2022-02-17 23:13:10 +0100 <romesrf> trees that grow is indeed cool
2022-02-17 23:13:12 +0100 <romesrf> are*
2022-02-17 23:14:31 +0100myme(~myme@2a01:799:d5a:cd00:9ae3:d451:a989:e1e9) (Ping timeout: 250 seconds)
2022-02-17 23:14:52 +0100 <romesrf> if TH used the same AST as GHC I wonder if we could get rid of the boxity for the template haskell: pattern synonyms would be the way probably
2022-02-17 23:15:39 +0100 <romesrf> nevermind: TH has both variants as well tupE, unboxedTupE
2022-02-17 23:16:40 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:fd00:8e82:1c4b:4222)
2022-02-17 23:17:02 +0100myme(~myme@40.51-175-185.customer.lyse.net)
2022-02-17 23:22:22 +0100cynomys(~cynomys@user/cynomys)
2022-02-17 23:23:58 +0100cosimone(~user@93-47-231-171.ip115.fastwebnet.it) (Quit: stay out of trouble you crazy kids, and don't hop on the NICE BOAT)
2022-02-17 23:27:24 +0100waleee(~waleee@h-98-128-229-110.NA.cust.bahnhof.se)
2022-02-17 23:29:14 +0100alx741(~alx741@181.199.42.143)
2022-02-17 23:32:27 +0100motherfsck(~motherfsc@user/motherfsck) (Quit: quit)
2022-02-17 23:33:08 +0100thaumavorio(~thaumavor@thaumavor.io)
2022-02-17 23:34:23 +0100Midjak(~Midjak@91-169-30-149.subs.proxad.net) (Ping timeout: 256 seconds)
2022-02-17 23:35:11 +0100burnsidesLlama(~burnsides@dhcp168-021.wadham.ox.ac.uk) (Remote host closed the connection)
2022-02-17 23:38:56 +0100alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-02-17 23:38:56 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)
2022-02-17 23:43:26 +0100lavaman(~lavaman@98.38.249.169)
2022-02-17 23:46:17 +0100cynomys(~cynomys@user/cynomys) (Ping timeout: 256 seconds)
2022-02-17 23:46:22 +0100 <monochrom> Sob sob, join is not a method of Monad, this is getting inconvenient for my theoretical coding experiments.
2022-02-17 23:47:20 +0100 <monochrom> (I am studying free monads by analogy with free monoids. join :: M (M a) -> M a is much better for this purpose.)
2022-02-17 23:49:18 +0100alphabeta(~kilolympu@vpn-fn-230.net.ed.ac.uk)
2022-02-17 23:49:25 +0100kilolympus(~kilolympu@vpn-fn-230.net.ed.ac.uk) (Ping timeout: 256 seconds)
2022-02-17 23:52:15 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
2022-02-17 23:52:53 +0100mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-02-17 23:52:58 +0100Tuplanolla(~Tuplanoll@91-159-69-98.elisa-laajakaista.fi) (Quit: Leaving.)
2022-02-17 23:54:55 +0100Erutuon(~Erutuon@user/erutuon)
2022-02-17 23:55:07 +0100meinside(uid24933@id-24933.helmsley.irccloud.com)
2022-02-17 23:55:39 +0100alx741(~alx741@181.199.42.143)
2022-02-17 23:56:38 +0100jao(~jao@79.red-79-159-137.dynamicip.rima-tde.net)
2022-02-17 23:58:12 +0100waleee(~waleee@h-98-128-229-110.NA.cust.bahnhof.se) (Ping timeout: 240 seconds)
2022-02-17 23:58:25 +0100hud(~hud@uwyo-129-72-161-67.uwyo.edu)
2022-02-17 23:58:47 +0100alx741(~alx741@181.199.42.143) (Read error: Connection reset by peer)