2025/05/08

2025-05-08 00:00:02 +0200 <hellwolf> 05-08 00:59 <tomsmeding> your users whose program now takes ages, will care
2025-05-08 00:00:02 +0200 <hellwolf> heh, yea, my domain happens to have small programs; safety is more important there, which I am trying to sell
2025-05-08 00:00:13 +0200 <tomsmeding> I'd rather say that every constructor in your GADT gets an additional field: the label
2025-05-08 00:00:27 +0200 <hellwolf> that's an interesting idea
2025-05-08 00:00:38 +0200 <hellwolf> could be a next step in next version.
2025-05-08 00:01:07 +0200 <hellwolf> so, I try to use linear-types only for effectful stuff
2025-05-08 00:01:10 +0200 <hellwolf> there you can't duplicate
2025-05-08 00:01:18 +0200 <hellwolf> otherwise storage or external messages sent twice
2025-05-08 00:01:20 +0200 <hellwolf> that's incorrect
2025-05-08 00:01:23 +0200 <hellwolf> semantics
2025-05-08 00:01:25 +0200 <tomsmeding> or alternatively, and more neatly, you write your AST as a base functor, and have two "fixpoint combinators" on top of that: the usual one (newtype Fix f = In (f (Fix f))) _after_ sharing recovery, and a labeled one (data Labeled f = Lab Int (f (Labeled f))) before sharing recovery
2025-05-08 00:01:37 +0200 <tomsmeding> right
2025-05-08 00:01:40 +0200 <hellwolf> and linear types solvs the sharing completely
2025-05-08 00:01:51 +0200 <hellwolf> and I developed a technical of using linear types very ergonomically
2025-05-08 00:01:53 +0200 <hellwolf> I can talk another time
2025-05-08 00:02:00 +0200 <hellwolf> it's too exciting for me, I need to sleep to :D
2025-05-08 00:02:09 +0200 <tomsmeding> :p
2025-05-08 00:02:20 +0200 <tomsmeding> sleep well
2025-05-08 00:02:34 +0200 <hellwolf> | let z = a + b * c in dup'l z & uncurry (*)
2025-05-08 00:02:40 +0200 <hellwolf> this is linear-type version of working with pure diagrams
2025-05-08 00:02:46 +0200 <hellwolf> | let z = a + b * c in z * z
2025-05-08 00:02:55 +0200 <hellwolf> this is the non-linear-type version with diagram duplication
2025-05-08 00:03:19 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 00:03:27 +0200 <hellwolf> I can repl codegen and live demo :)
2025-05-08 00:03:36 +0200 <hellwolf> that's what I will be working on until the conferenc.e
2025-05-08 00:04:42 +0200 <hellwolf> I have Category/Monoidal/Cartesian/Cartesian Closed standard categorical "verbs"
2025-05-08 00:05:39 +0200 <hellwolf> special constructors/"verbs" are: MapHask, Switch, Jmp (jump to named function or built-in), Call (external messages), SGet/SPut (storage)
2025-05-08 00:06:12 +0200 <hellwolf> I am very judicious of adding special verb, unless I can't find a categorical verb.
2025-05-08 00:06:41 +0200 <hellwolf> usually it's particular to the domain, or a special control structure
2025-05-08 00:07:22 +0200 <hellwolf> I can't do infinite recursion stuff in this domain, I don't even have heap (I can emulate, but I dont' want to go there), so I need a special verb for tight-loop
2025-05-08 00:07:26 +0200 <hellwolf> to implement Foldable.
2025-05-08 00:07:47 +0200machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds)
2025-05-08 00:07:54 +0200 <hellwolf> so, the tight-loop is the special control flow
2025-05-08 00:08:03 +0200 <hellwolf> another one is Switch control flow
2025-05-08 00:08:34 +0200 <hellwolf> which I solved the sharing problem there, by having special functions that build the diagram "delicately"
2025-05-08 00:08:44 +0200 <hellwolf> with the help of the special verb.
2025-05-08 00:08:52 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-05-08 00:08:54 +0200 <hellwolf> but that's the entire language
2025-05-08 00:09:08 +0200 <hellwolf> it's not a lambda based language. I still lambda from Haskell.
2025-05-08 00:09:10 +0200 <hellwolf> *steal
2025-05-08 00:09:32 +0200 <hellwolf> alright, that's all for today :)
2025-05-08 00:10:33 +0200 <hellwolf> maybe the final one is the end-to-end example: https://github.com/yolc-dev/yul-dsl-monorepo/blob/master/examples/demo/src/ERC20.hs This is in linear-types, in fact, my special linear-versioned-monad, which is definitely something I haven't seen prior art with my limited search
2025-05-08 00:12:36 +0200 <hellwolf> I know it's gonna be exciting for me to keep talking and not shut up. One last thing for labeling:
2025-05-08 00:13:16 +0200 <hellwolf> to solves the ergonomics of not having to manually label
2025-05-08 00:13:29 +0200 <hellwolf> I have used template haskell to generate unique id
2025-05-08 00:13:39 +0200 <hellwolf> based on module name and src loc
2025-05-08 00:13:44 +0200 <hellwolf> here: https://github.com/yolc-dev/yul-dsl-monorepo/blob/2b39ca47cb55324cab4eda36c0546ea1fb3d7aca/hs-pkgs…
2025-05-08 00:14:25 +0200 <hellwolf> I don't use that for all diagrams, but your suggestion of making labeling part of the GADT type is a good one, I think I will use that eventually.
2025-05-08 00:14:41 +0200 <hellwolf> but that might involve too much template haskell dotted everywhere
2025-05-08 00:14:52 +0200 <hellwolf> I still care about ergonomics, so I will be still judicious about it.
2025-05-08 00:19:08 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 00:20:13 +0200hellwolfduck. good night.
2025-05-08 00:22:27 +0200xff0x(~xff0x@2405:6580:b080:900:c380:f27a:d8a3:29c7) (Ping timeout: 252 seconds)
2025-05-08 00:23:55 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-05-08 00:24:02 +0200Sgeo(~Sgeo@user/sgeo) Sgeo
2025-05-08 00:30:24 +0200tromp(~textual@2001:1c00:3487:1b00:d43:3b62:1503:cb84) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-05-08 00:34:56 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 00:38:14 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Read error: Connection reset by peer)
2025-05-08 00:38:45 +0200target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)
2025-05-08 00:40:00 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-05-08 00:41:59 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2025-05-08 00:49:20 +0200Frostillicus_1(~Frostilli@pool-71-174-119-56.bstnma.fios.verizon.net)
2025-05-08 00:50:42 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 00:53:09 +0200acidjnk(~acidjnk@p200300d6e71c4f51b11b7fbde7c758e1.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2025-05-08 00:55:27 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-05-08 00:56:32 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)
2025-05-08 01:04:19 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 01:08:36 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Ping timeout: 264 seconds)
2025-05-08 01:08:45 +0200chexum(~quassel@gateway/tor-sasl/chexum) chexum
2025-05-08 01:11:16 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-05-08 01:11:16 +0200j1n37-(~j1n37@user/j1n37) (Ping timeout: 276 seconds)
2025-05-08 01:12:32 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-05-08 01:13:01 +0200sprotte24(~sprotte24@p200300d16f3ca800283c8f0415b7b94b.dip0.t-ipconnect.de) (Quit: Leaving)
2025-05-08 01:13:52 +0200JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2025-05-08 01:14:25 +0200machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2025-05-08 01:21:43 +0200Kaladin(~Kaladin@157-131-203-96.fiber.dynamic.sonic.net) (Quit: Leaving)
2025-05-08 01:22:20 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 01:26:45 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-05-08 01:28:19 +0200shapr(~user@2600:4040:5c49:5600:cacf:8e54:c9ac:25) (Remote host closed the connection)
2025-05-08 01:30:40 +0200Kaladin(~Kaladin@157-131-203-96.fiber.dynamic.sonic.net) Kaladin
2025-05-08 01:33:49 +0200Guest84(~Guest84@host-95-237-69-25.retail.telecomitalia.it)
2025-05-08 01:37:42 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 01:42:46 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-05-08 01:45:20 +0200Frostillicus_1(~Frostilli@pool-71-174-119-56.bstnma.fios.verizon.net) (Ping timeout: 252 seconds)
2025-05-08 01:56:01 +0200ystael(~ystael@user/ystael) (Ping timeout: 248 seconds)
2025-05-08 02:00:57 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2025-05-08 02:04:31 +0200jespada(~jespada@179.26.249.126) (Ping timeout: 244 seconds)
2025-05-08 02:04:33 +0200hiredman(~hiredman@frontier1.downey.family) (Ping timeout: 248 seconds)
2025-05-08 02:07:18 +0200hiredman(~hiredman@frontier1.downey.family) hiredman
2025-05-08 02:09:17 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 02:12:05 +0200Guest84(~Guest84@host-95-237-69-25.retail.telecomitalia.it) (Quit: Client closed)
2025-05-08 02:12:07 +0200Kaladin(~Kaladin@157-131-203-96.fiber.dynamic.sonic.net) (Quit: Leaving)
2025-05-08 02:14:13 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-05-08 02:20:51 +0200Frostillicus_1(~Frostilli@pool-71-174-119-56.bstnma.fios.verizon.net)
2025-05-08 02:25:04 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 02:26:25 +0200ttybitnik(~ttybitnik@user/wolper) (Remote host closed the connection)
2025-05-08 02:27:14 +0200Axma13761(~Axman6@user/axman6) Axman6
2025-05-08 02:28:47 +0200JuanDaugherty(~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org))
2025-05-08 02:29:33 +0200Axman6(~Axman6@user/axman6) (Ping timeout: 250 seconds)
2025-05-08 02:30:03 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-05-08 02:30:28 +0200tolgo(~Thunderbi@199.115.144.130)
2025-05-08 02:30:31 +0200tolgo(~Thunderbi@199.115.144.130) (Client Quit)
2025-05-08 02:32:39 +0200Natch(~natch@c-92-34-7-158.bbcust.telenor.se) (Ping timeout: 260 seconds)
2025-05-08 02:35:59 +0200Natch(~natch@c-92-34-7-158.bbcust.telenor.se) Natch
2025-05-08 02:40:53 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 02:46:02 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-05-08 02:56:39 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 02:58:19 +0200machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 260 seconds)
2025-05-08 02:58:25 +0200Frostillicus_1(~Frostilli@pool-71-174-119-56.bstnma.fios.verizon.net) (Ping timeout: 248 seconds)
2025-05-08 03:01:39 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-05-08 03:02:39 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2025-05-08 03:09:04 +0200haritz(~hrtz@2a01:4b00:bc2e:7000::2)
2025-05-08 03:10:29 +0200sajenim(~sajenim@user/sajenim) sajenim
2025-05-08 03:10:49 +0200haritz(~hrtz@2a01:4b00:bc2e:7000::2) (Changing host)
2025-05-08 03:10:49 +0200haritz(~hrtz@user/haritz) haritz
2025-05-08 03:12:27 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 03:17:04 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-05-08 03:28:14 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 03:33:07 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-05-08 03:38:15 +0200pointlessslippe1(~pointless@62.106.85.17) (Read error: Connection reset by peer)
2025-05-08 03:41:41 +0200pointlessslippe1(~pointless@62.106.85.17) pointlessslippe1
2025-05-08 03:44:02 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 03:46:01 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2025-05-08 03:48:55 +0200img(~img@user/img) img
2025-05-08 03:51:16 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2025-05-08 04:02:04 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 04:04:37 +0200joeyadams(~textual@syn-162-154-010-038.res.spectrum.com)
2025-05-08 04:06:45 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-05-08 04:15:41 +0200tavare(~tavare@user/tavare) tavare
2025-05-08 04:17:51 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 04:19:57 +0200chewybread(~chewybrea@2601:984:201:3890:b96e:b2c9:c50:1e70)
2025-05-08 04:19:57 +0200chewybread(~chewybrea@2601:984:201:3890:b96e:b2c9:c50:1e70) (Changing host)
2025-05-08 04:19:57 +0200chewybread(~chewybrea@user/chewybread) chewybread
2025-05-08 04:22:01 +0200td_(~td@i5387091E.versanet.de) (Ping timeout: 252 seconds)
2025-05-08 04:22:38 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-05-08 04:22:48 +0200Square(~Square@user/square) Square
2025-05-08 04:23:00 +0200tabaqui(~tabaqui@167.71.80.236) (Ping timeout: 252 seconds)
2025-05-08 04:23:48 +0200td_(~td@i53870937.versanet.de)
2025-05-08 04:29:22 +0200tavare(~tavare@user/tavare) (Remote host closed the connection)
2025-05-08 04:33:38 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 04:39:21 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-05-08 04:45:36 +0200chewybread(~chewybrea@user/chewybread) (Remote host closed the connection)
2025-05-08 04:49:26 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 04:54:52 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-05-08 04:58:10 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 05:03:19 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-05-08 05:10:29 +0200tabaqui(~tabaqui@167.71.80.236) tabaqui
2025-05-08 05:12:00 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-05-08 05:13:58 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 05:16:24 +0200 <monochrom> No one can steal lambda from Haskell without also stealing purity, laziness, preferring currying, ...
2025-05-08 05:19:19 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-05-08 05:21:40 +0200tabaqui(~tabaqui@167.71.80.236) (Ping timeout: 252 seconds)
2025-05-08 05:23:46 +0200Frostillicus_1(~Frostilli@pool-71-174-119-56.bstnma.fios.verizon.net)
2025-05-08 05:29:45 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 05:34:48 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-05-08 05:44:02 +0200aforemny_(~aforemny@i59F4C598.versanet.de) aforemny
2025-05-08 05:45:19 +0200aforemny(~aforemny@2001:9e8:6ce9:2000:c495:2bb2:ad61:d989) (Ping timeout: 265 seconds)
2025-05-08 05:45:33 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 05:50:13 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-05-08 06:01:21 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 06:06:20 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-05-08 06:10:25 +0200Square(~Square@user/square) (Ping timeout: 248 seconds)
2025-05-08 06:17:09 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 06:21:49 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-05-08 06:35:19 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 06:37:14 +0200j1n37-(~j1n37@user/j1n37) j1n37
2025-05-08 06:38:28 +0200j1n37(~j1n37@user/j1n37) (Ping timeout: 272 seconds)
2025-05-08 06:41:57 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-05-08 06:49:27 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer)
2025-05-08 06:52:48 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-08 06:53:19 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 06:54:09 +0200Frostillicus_1(~Frostilli@pool-71-174-119-56.bstnma.fios.verizon.net) (Ping timeout: 245 seconds)
2025-05-08 07:04:13 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-05-08 07:06:45 +0200takuan(~takuan@d8D86B601.access.telenet.be)
2025-05-08 07:09:39 +0200takuan(~takuan@d8D86B601.access.telenet.be) (Read error: Connection reset by peer)
2025-05-08 07:10:08 +0200takuan(~takuan@d8D86B601.access.telenet.be)
2025-05-08 07:14:42 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 07:19:54 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-05-08 07:27:13 +0200califax(~califax@user/califx) (Remote host closed the connection)
2025-05-08 07:27:32 +0200califax(~califax@user/califx) califx
2025-05-08 07:28:13 +0200Frostillicus_1(~Frostilli@pool-71-174-119-56.bstnma.fios.verizon.net)
2025-05-08 07:30:28 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 07:32:41 +0200haritz(~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
2025-05-08 07:35:45 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2025-05-08 07:46:15 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 07:51:13 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-05-08 07:51:33 +0200Frostillicus_1(~Frostilli@pool-71-174-119-56.bstnma.fios.verizon.net) (Ping timeout: 252 seconds)
2025-05-08 08:00:10 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 08:05:11 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-05-08 08:08:48 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-05-08 08:10:19 +0200j1n37-(~j1n37@user/j1n37) (Ping timeout: 265 seconds)
2025-05-08 08:15:49 +0200internatetional(~nate@2001:448a:20a3:c2e5:f5f8:a31:7307:70a6) internatetional
2025-05-08 08:15:57 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 08:20:55 +0200internatetional(~nate@2001:448a:20a3:c2e5:f5f8:a31:7307:70a6) (Ping timeout: 276 seconds)
2025-05-08 08:21:34 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-05-08 08:31:20 +0200 <haskellbridge> <hellwolf> morning thought to continue...
2025-05-08 08:31:20 +0200 <haskellbridge> Using exponential objects (aka. a -> b or b^a) to express the desire explicitly that "a" as an output of an unknown diagram may be used by the exponential object any number of times is the alternative to regular "let" for an embedding language.
2025-05-08 08:31:46 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 08:32:25 +0200 <haskellbridge> <hellwolf> It intends to solve the "exponentially growing diagrams" issue, similar to what let var sharing solves.
2025-05-08 08:32:42 +0200 <haskellbridge> <hellwolf> The word "exponential" appears twice seems an interesting coincidence.
2025-05-08 08:33:37 +0200Frostillicus_1(~Frostilli@pool-71-174-119-56.bstnma.fios.verizon.net)
2025-05-08 08:34:17 +0200 <haskellbridge> <hellwolf> Furthermore, LinearTypes offers another alternative: force you to express sharing using combinators such as "dup"
2025-05-08 08:34:47 +0200joeyadams(~textual@syn-162-154-010-038.res.spectrum.com) (Quit: Textual IRC Client: www.textualapp.com)
2025-05-08 08:36:12 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-05-08 08:37:07 +0200 <haskellbridge> <hellwolf> Furthermore furthermore, I have developed a special "lmonad" for LinearTypes which makes that chore of duplication invisible. In brief, m VarRef, and each time you use the var you get a duplication.
2025-05-08 08:37:15 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-05-08 08:37:31 +0200 <haskellbridge> <hellwolf> It's a trade-off again: now, you need to program in a monad
2025-05-08 08:41:20 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Quit: peterbecich)
2025-05-08 08:41:53 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-05-08 08:42:31 +0200 <haskellbridge> <hellwolf> further further furthermore, while using monad and LinrarTypes seems to defeat the benefits of using LinrarTypes to express "parallelizable branches",
2025-05-08 08:44:02 +0200 <haskellbridge> <hellwolf> by that I mean, thanks to LinearTypes, it's very clear that branches of linear paths can be evaluated in parallel with side effects, since any sharing is explicit with "dup".
2025-05-08 08:45:31 +0200acidjnk(~acidjnk@p200300d6e71c4f49a8c9e3402b4ffa7d.dip0.t-ipconnect.de) acidjnk
2025-05-08 08:46:55 +0200 <haskellbridge> <hellwolf> but that benefit can be recouped by versioning the global state, where versioned monad within the same "version" can be evaluated in parallel, but the monad of the next version must wait all those to finish first.
2025-05-08 08:47:33 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-05-08 08:48:28 +0200 <haskellbridge> <hellwolf> this construction may seems ad-hoc, but I think if i try to generalize further, maybe a 2026 endeavour of me..., this is essentially building up to a monadic way of encoding linear-time temporal logic in Haskell.
2025-05-08 08:49:20 +0200 <haskellbridge> <hellwolf> linear-versioned monad that I build for yolc is a rather special case of LTL
2025-05-08 08:49:53 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac
2025-05-08 08:50:58 +0200 <haskellbridge> <hellwolf> there is domain-specific benefit to linearly versioning data, namely to financial application security through this programming language safety, but I will skip here.
2025-05-08 08:51:05 +0200 <haskellbridge> <hellwolf> alright. fin.
2025-05-08 08:51:28 +0200j1n37(~j1n37@user/j1n37) (Ping timeout: 272 seconds)
2025-05-08 08:52:30 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-05-08 08:53:24 +0200ft(~ft@p4fc2a6e6.dip0.t-ipconnect.de) (Quit: leaving)
2025-05-08 08:54:45 +0200jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 248 seconds)
2025-05-08 08:56:57 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-05-08 09:00:03 +0200caconym7(~caconym@user/caconym) (Quit: bye)
2025-05-08 09:00:45 +0200caconym7(~caconym@user/caconym) caconym
2025-05-08 09:06:41 +0200CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2025-05-08 09:14:41 +0200tromp(~textual@2001:1c00:3487:1b00:f14f:b20f:416b:87c6)
2025-05-08 09:19:10 +0200sord937(~sord937@gateway/tor-sasl/sord937) sord937
2025-05-08 09:20:36 +0200Guest44(~Guest44@91-154-214-151.elisa-laajakaista.fi)
2025-05-08 09:29:25 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds)
2025-05-08 09:29:28 +0200YoungFrog(~youngfrog@2a02:a03f:c9db:fc00:93c8:3aef:156:8fed) (Ping timeout: 272 seconds)
2025-05-08 09:33:14 +0200YoungFrog(~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) youngfrog
2025-05-08 09:34:42 +0200ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-05-08 09:36:00 +0200Frostillicus_1(~Frostilli@pool-71-174-119-56.bstnma.fios.verizon.net) (Remote host closed the connection)
2025-05-08 09:43:45 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2025-05-08 09:44:43 +0200merijn(~merijn@77.242.116.146) merijn