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)