Newest at the top
| 2025-12-18 20:14:50 +0100 | acidjnk | (~acidjnk@p200300d6e7171981f0c6dc9689540cc0.dip0.t-ipconnect.de) acidjnk |
| 2025-12-18 20:07:19 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-18 20:04:15 +0100 | tromp | (~textual@2001:1c00:3487:1b00:388e:400a:f906:df4a) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-12-18 20:02:37 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-18 19:59:27 +0100 | ljdarj1 | ljdarj |
| 2025-12-18 19:59:27 +0100 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds) |
| 2025-12-18 19:55:37 +0100 | ljdarj1 | (~Thunderbi@user/ljdarj) ljdarj |
| 2025-12-18 19:55:20 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2025-12-18 19:54:24 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) L29Ah |
| 2025-12-18 19:50:35 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-18 19:44:36 +0100 | acidjnk | (~acidjnk@p200300d6e7171981f0c6dc9689540cc0.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 2025-12-18 19:42:18 +0100 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh |
| 2025-12-18 19:39:06 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2025-12-18 19:32:32 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-18 19:30:38 +0100 | chele | (~chele@user/chele) (Remote host closed the connection) |
| 2025-12-18 19:29:50 +0100 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
| 2025-12-18 19:21:54 +0100 | merijn | (~merijn@62.45.136.136) (Ping timeout: 256 seconds) |
| 2025-12-18 19:19:38 +0100 | Pozyomka | (~pyon@user/pyon) (Quit: bbl) |
| 2025-12-18 19:17:48 +0100 | jmcantrell_ | jmcantrell |
| 2025-12-18 19:17:29 +0100 | jmcantrell_ | (~weechat@user/jmcantrell) jmcantrell |
| 2025-12-18 19:17:25 +0100 | lambda_gibbon | (~lambda_gi@208.83.175.39) (Ping timeout: 264 seconds) |
| 2025-12-18 19:17:21 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
| 2025-12-18 19:17:13 +0100 | merijn | (~merijn@62.45.136.136) merijn |
| 2025-12-18 19:15:44 +0100 | trickard | (~trickard@cpe-81-98-47-163.wireline.com.au) |
| 2025-12-18 19:15:32 +0100 | trickard | (~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-18 19:06:21 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2025-12-18 19:01:19 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-18 19:00:47 +0100 | lambda_gibbon | (~lambda_gi@208.83.175.39) |
| 2025-12-18 18:56:27 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 2025-12-18 18:56:07 +0100 | <tomsmeding> | nice, have fun :) |
| 2025-12-18 18:55:57 +0100 | <machinedgod> | Thank you, both for time and knowledge! |
| 2025-12-18 18:55:43 +0100 | <machinedgod> | tomsmeding: Oh, I didn't feel like you're being discouraging, quite the oppoosite! You're here, spending time of your life to consult me for free - if that isn't practical encouraging, I don't know what is :) and, I am taking your advice to heart, I've just poured myself another cup of coffee, and rather than typing more code, I'm gonna sit, look at it and think for a bit |
| 2025-12-18 18:52:14 +0100 | <tomsmeding> | this is not to discourage you from experimenting, by the way! :) |
| 2025-12-18 18:51:34 +0100 | <tomsmeding> | (and if it doesn't, come back) |
| 2025-12-18 18:51:30 +0100 | <tomsmeding> | I think that if you know that, it'll become clearer how to use linearity to accomplish that |
| 2025-12-18 18:51:14 +0100 | <tomsmeding> | "authority tokens" sound like a design pattern to simplify writing APIs that use linearity to enforce certain invariants. That still requires you to have an idea beforehand what invariants you want to enforce, exactly :) |
| 2025-12-18 18:49:51 +0100 | <machinedgod> | But yeah, I honestly don't really have a clear goal on what do I want to accomplish - I have a toy project specifically crafted just so that I could toy around with lineary and 'real' problems and see what is doable, what isn't and what are the pros/cons. I've done the same thing when datakinds became a thing :) |
| 2025-12-18 18:49:04 +0100 | <machinedgod> | You're reading my mind :) One good advice I've gotten was to separate observation from mutation, and to add 'authority' tokens which have linear access. That's what I'm going to attempt to do, and see how far I get. |
| 2025-12-18 18:48:38 +0100 | lambda_gibbon | (~lambda_gi@208.83.175.39) (Ping timeout: 244 seconds) |
| 2025-12-18 18:43:52 +0100 | <tomsmeding> | making your whole program "linear" is not really a thing |
| 2025-12-18 18:43:40 +0100 | <tomsmeding> | decide what exactly you want to do with linearity, and find ways to accomplish that, is what I would say |
| 2025-12-18 18:43:15 +0100 | <tomsmeding> | I'm not sure. I used it once for a very specific purpose, and it worked fine for that, but there are still a lot of rough edges, I think |
| 2025-12-18 18:42:20 +0100 | <machinedgod> | I am attempting to find a correct, uh... 'meta pattern' to use linear types. Its mainly to get some experience in usage. Do you maybe know what could I look at? |
| 2025-12-18 18:41:14 +0100 | <machinedgod> | tomsmeding: Aye, that's a good answer! Thank you, I did check the user manual and I did look into limitations - but I misread the part about records. |
| 2025-12-18 18:40:12 +0100 | spew | (~spew@user/spew) spew |
| 2025-12-18 18:33:47 +0100 | <tomsmeding> | *question |
| 2025-12-18 18:33:41 +0100 | <tomsmeding> | on reflection, yes, that bullet in the limitations _is_ your questoin |
| 2025-12-18 18:31:58 +0100 | marinelli | (~weechat@gateway/tor-sasl/marinelli) marinelli |
| 2025-12-18 18:31:46 +0100 | <tomsmeding> | machinedgod: the constructor of a data type _is_ linear by default, unless you explicitly make it not so using GADTSyntax |
| 2025-12-18 18:28:40 +0100 | <tomsmeding> | ah no that's not quite your question |