2024/12/25

2024-12-25 00:04:10 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-25 00:07:26 +0100j1n37(~j1n37@user/j1n37) j1n37
2024-12-25 00:10:42 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-25 00:18:43 +0100sprotte24(~sprotte24@p200300d16f32ae00e0f28665918683b3.dip0.t-ipconnect.de) (Quit: Leaving)
2024-12-25 00:19:51 +0100ubert(~Thunderbi@p200300ecdf117cf7bdcd23ba5c3b89f8.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2024-12-25 00:20:01 +0100ubert1(~Thunderbi@p200300ecdf117c0013c0076e2e9d6026.dip0.t-ipconnect.de) ubert
2024-12-25 00:22:12 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-25 00:22:26 +0100ubert1ubert
2024-12-25 00:27:16 +0100cuteguest(~cuteguest@2601:602:680:2280::5d66)
2024-12-25 00:27:19 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
2024-12-25 00:31:05 +0100 <cuteguest> hmm hmm im still stuck on the same problem as b4..  i hav a type class that relates a type to two GADTs like this (class Elmo a where type Bert :: a -> Type, type Ernie :: a -> Type).. is there a way to hav a type class like this that ensures each value of a has only 1 corresponding type? like, is there a way to show that these GADTs have only 1
2024-12-25 00:31:05 +0100 <cuteguest> constructor for each value of a?
2024-12-25 00:32:54 +0100 <cuteguest> id like it so that if i had a function from Bert a to Ernie a that i could pattern match on the results if i knew the input type
2024-12-25 00:37:34 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-25 00:40:20 +0100 <cuteguest> ar we allowed to post pastebins in here? that might make it easier to read..
2024-12-25 00:41:44 +0100 <cuteguest> ooh wait i see the thing up top.. hold on
2024-12-25 00:42:13 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-25 00:43:16 +0100 <cuteguest> hmm mayb christmas eve is the wrong time to ask questions :3
2024-12-25 00:45:23 +0100 <cuteguest> im gonna post the full link.. i hope its ok >_<
2024-12-25 00:45:35 +0100 <darkling> If you have a pastebin, that's a good way of showing people your code. Go for it.
2024-12-25 00:45:41 +0100 <cuteguest> https://paste.tomsmeding.com/99l00Nhb
2024-12-25 00:45:59 +0100 <darkling> (I'm unlikely to be able to help directly; that's about as much as I can do here).
2024-12-25 00:46:06 +0100 <cuteguest> <33
2024-12-25 00:46:57 +0100 <cuteguest> i appreciate your response at the v least
2024-12-25 00:52:56 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-25 00:55:20 +0100 <geekosaur> the only thing I can think of is this sounds slightly like a pattern synonym, otherwise it sounds "backwards" because typeclasses don't do that kind of thing, GADTs do
2024-12-25 00:56:38 +0100 <cuteguest> pattern synonym.. interesting.. thankyou
2024-12-25 00:57:15 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-25 01:02:28 +0100ash3en(~Thunderbi@p200300ef0f04dc00f0cbb9f6013f5f8e.dip0.t-ipconnect.de) (Remote host closed the connection)
2024-12-25 01:02:37 +0100 <geekosaur> what makes it sound like that is that you want to match on it. I think that might indicate a bidirectional pattern synonym is in order
2024-12-25 01:03:36 +0100 <geekosaur> hide the real constructors, export the patsyn. although this doesn't give you quite what you asked for: non-matching constructors would produce errors, but would still exist internally
2024-12-25 01:04:14 +0100 <geekosaur> but I'm not quite sure what your're trying to accomplish here and wondering if maybe a different approach entirely is warranted
2024-12-25 01:04:23 +0100rekahsoft(~rekahsoft@bras-base-orllon1103w-grc-06-76-69-85-220.dsl.bell.ca) rekahsoft
2024-12-25 01:04:31 +0100 <cuteguest> hmm hmm thank you for the feedback
2024-12-25 01:04:53 +0100JuanDaugherty(~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
2024-12-25 01:05:16 +0100rekahsoft(~rekahsoft@bras-base-orllon1103w-grc-06-76-69-85-220.dsl.bell.ca) (Remote host closed the connection)
2024-12-25 01:06:03 +0100xff0x(~xff0x@p3704193-ipxg12201sapodori.hokkaido.ocn.ne.jp)
2024-12-25 01:06:25 +0100 <cuteguest> im going to take a second to think abt how to say specifically what i want
2024-12-25 01:08:18 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-25 01:12:56 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-12-25 01:15:12 +0100 <cuteguest> i think i am trying to make a class where, given some type, there are two types which are indexed by values over it. i would also want there to be some kind of relationship between these three types so that if im given one of the indexed types, i can know the type of the other to pattern match off of it and slurp out its data
2024-12-25 01:17:34 +0100 <cuteguest> i guess i could reveal what im trying to make with this.. maybe my whole approach is silly
2024-12-25 01:18:25 +0100 <cuteguest> well mayb the whole idea is silly but :p
2024-12-25 01:23:42 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-25 01:27:49 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com) szkl
2024-12-25 01:28:44 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
2024-12-25 01:31:14 +0100 <cuteguest> ok idk why i want to keep it a secret.. im trying to make coroutines that can yield (or really request) several different types of values. the request and response type are indexed by an "alert" type. i was able to make an instance of them as monads, and a request function that takes a request and gives you a coroutine back with a response. the
2024-12-25 01:31:15 +0100 <cuteguest> problem is, whenever i try to match on the request function like you would with normal coroutines, it doesnt work because there could be more than one constructor for a response for any value of the alert type.
2024-12-25 01:32:03 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-25 01:36:37 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-12-25 01:37:20 +0100internatetional(~nate@182.253.126.5) internatetional
2024-12-25 01:46:50 +0100 <cuteguest>  i will look into bidirectional pattern synonyms.. ty for your help
2024-12-25 01:47:22 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-25 01:47:49 +0100Everything(~Everythin@195.138.86.118) (Quit: Lost terminal)
2024-12-25 01:48:43 +0100cuteguest(~cuteguest@2601:602:680:2280::5d66) (Quit: Client closed)
2024-12-25 01:50:34 +0100internatetional(~nate@182.253.126.5) (Quit: WeeChat 4.5.1)
2024-12-25 01:50:50 +0100weary-traveler(~user@user/user363627) user363627
2024-12-25 01:54:06 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-25 01:56:35 +0100CrunchyFlakes(~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-12-25 01:59:18 +0100CrunchyFlakes(~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de)
2024-12-25 02:05:25 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-25 02:07:35 +0100acidjnk_new3(~acidjnk@p200300d6e7283f41b013a429fe4b7686.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2024-12-25 02:09:45 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-12-25 02:13:02 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh
2024-12-25 02:20:48 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-25 02:25:06 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-25 02:28:09 +0100gummy(~gummy@2601:602:680:2280:f461:e6de:959e:b47d)
2024-12-25 02:28:37 +0100gummy(~gummy@2601:602:680:2280:f461:e6de:959e:b47d) (Client Quit)
2024-12-25 02:28:52 +0100xff0x(~xff0x@p3704193-ipxg12201sapodori.hokkaido.ocn.ne.jp) (Ping timeout: 252 seconds)