2025/01/10

Newest at the top

2025-01-10 12:50:07 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2025-01-10 12:50:04 +0100 <mari47944> reorder or wrap it, not aware of anything better
2025-01-10 12:49:23 +0100sprotte24(~sprotte24@p200300d16f053e00ccd1db6c99978e80.dip0.t-ipconnect.de) (Client Quit)
2025-01-10 12:48:29 +0100sprotte24(~sprotte24@p200300d16f053e00ccd1db6c99978e80.dip0.t-ipconnect.de)
2025-01-10 12:47:57 +0100 <[exa]> (background: I didn't write that type but it screams for a functor instance)
2025-01-10 12:47:02 +0100 <hellwolf> Leary: thanks!
2025-01-10 12:46:40 +0100 <[exa]> if I have a datatype with 2 arguments, say `X a b`, and I want to make a Functor instance so that the thing is functorial in the `a` variable (i.e, not the last one as usual), is there some kind of adaptor that would allow me to fit this somewhat nicely, or do I always have to reorder the type arguments?
2025-01-10 12:46:09 +0100alist(~alist@user/alist) (Quit: Leaving)
2025-01-10 12:41:52 +0100TMA(tma@twin.jikos.cz) (Ping timeout: 252 seconds)
2025-01-10 12:41:10 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-10 12:34:01 +0100todi1todi
2025-01-10 12:28:19 +0100notzmv(~umar@user/notzmv) (Ping timeout: 245 seconds)
2025-01-10 12:27:51 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2025-01-10 12:27:38 +0100 <Leary> (taking `D` as a type unrelated to the constructor)
2025-01-10 12:26:34 +0100 <Leary> If you wish, you can encode the existential with `[forall r. (forall a. D a -> r) -> r]`, but I don't really think that's an improvement.
2025-01-10 12:25:23 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2025-01-10 12:25:16 +0100 <Leary> hellwolf: You should regard the syntax `data AnyD = forall a. D a` as a mistake and not be misled by it. One list has a universally quantified type, the other existentially---they're very different.
2025-01-10 12:24:09 +0100CiaoSen(~Jura@2a05:5800:2e7:b00:ca4b:d6ff:fec1:99da) (Ping timeout: 276 seconds)
2025-01-10 12:21:07 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2025-01-10 12:20:51 +0100g00gler(uid125351@id-125351.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2025-01-10 12:19:32 +0100alist(~alist@user/alist) alist
2025-01-10 12:17:56 +0100son0p(~ff@2800:e6:4001:6cc3:2e2c:4b4e:bc2a:6f17) (Ping timeout: 272 seconds)
2025-01-10 12:15:49 +0100mari-estel(~mari-este@user/mari-estel) (Ping timeout: 252 seconds)
2025-01-10 12:15:15 +0100 <hellwolf> say [forall a. D a] vs. [AnyD] where data AnyD = forall a. D a
2025-01-10 12:14:37 +0100 <hellwolf> They look very similar to me, in forms and shapes. But probably someone here knows more can answer immediately, is ImpredicativeType possible to replace the common usage of existential types?
2025-01-10 12:13:45 +0100mari47944(~mari-este@user/mari-estel) mari-estel
2025-01-10 12:07:46 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2025-01-10 11:58:33 +0100alist(~alist@user/alist) (Quit: Leaving)
2025-01-10 11:53:02 +0100 <alist> i think i can parse it but. idk sorry to flood the chat with like this one obsession i have
2025-01-10 11:52:46 +0100 <alist> the paper is also sort of doubly confusing because it seems to use like an old version of set-builder notation? and it sometimes uses lambdas to describe set-theoretic functions haha
2025-01-10 11:50:15 +0100 <alist> to be honest it seems to really have worked, ive been here for two days and both times people were able to answer really specific questions about this paper really quickly
2025-01-10 11:49:26 +0100 <haskellbridge> <sm> haha, the old "hang out for a couple of decades" manouver eh
2025-01-10 11:46:41 +0100 <alist> im hoping for the fast track
2025-01-10 11:46:35 +0100 <alist> haha well i dont know if i have that kind of time
2025-01-10 11:46:07 +0100 <geekosaur> that said, I got there by hanging out here for a couple decades 🙂
2025-01-10 11:45:41 +0100 <geekosaur> I'm fairly weak on type theory myself but can generally follow this stuff to some extent
2025-01-10 11:45:13 +0100 <alist> geekosaur: right i understand this. i also understand how functions are relations. i have a mathematics background, but nothing related to type theory.
2025-01-10 11:44:37 +0100 <Athas> merijn: yes, or just check for the Z and pick the right function. It feels a bit dumb, though.
2025-01-10 11:44:27 +0100 <geekosaur> so, mathematically a function is exactly a mapping of values in the domain (input, with some handwaving) to values in the codomain (output, with similar handwaving)
2025-01-10 11:44:18 +0100 <alist> geekosaur: ive been staring at what you wrote for like 10 minutes now and i think maybe im starting to get it?
2025-01-10 11:43:44 +0100 <alist> merijn: i see. well thank you anyway, you have been very kind
2025-01-10 11:43:19 +0100 <merijn> alist: That's beyond what I can skim from the paper and it's lunchtime
2025-01-10 11:43:15 +0100 <geekosaur> probably easiest
2025-01-10 11:43:11 +0100 <geekosaur> ^
2025-01-10 11:43:04 +0100 <merijn> Athas: Crazy talk: Why not replace Z with offset 0:00? :)
2025-01-10 11:42:53 +0100 <alist> ah yes, but the advantage i guess is that they are not the same "kind" of set as the just collections of values. they are actual mappings?
2025-01-10 11:42:47 +0100 <geekosaur> Athas, git is the one being annoying there, it should be consistent. I think the best you can do is try both and use the one that succeeds
2025-01-10 11:42:04 +0100 <merijn> alist: Which, can be confusing, because in some sense relations are just "more sets" depending how you squint and how rigid you like your formalisms :p
2025-01-10 11:41:24 +0100 <merijn> alist: we view types of functions as *relations* between sets, that's what that bit is about
2025-01-10 11:39:48 +0100 <Athas> The ISO8601 instance for ZonedTime allows the offset (but not Z), while the instance for UTCTime allows Z (but not the offset).