Re: What the best way to support hot reloading in Chicken?
Kon Lovett via Chicken-users <[email protected]>
| Newsgroups | gmane.lisp.scheme.chicken |
|---|---|
| Message-ID | <[email protected]> |
> On Aug 19, 2026, at 11:29 AM, Srayan Jana via Chicken-users <[email protected]> wrote: > > I don’t mind this was interesting to read about lol. > > This sounds dumb, but I wonder if you could do on the fly compilation turning csi code into compiled c files with some sort of runtime hook to clang so you could get near native performance hot reloading …. mooted. the usual compiler candidate is tcc; current issue w/ `complex’ so no w/ C6 atm. > But that sounds like a terrible idea lowkey and horribly complicated complicated, even horribly, doesn’t make the idea bad > > Get Outlook for iOS <https://aka.ms/o0ukef> > From: Kristian Lein-Mathisen <[email protected]> > Sent: Wednesday, 19 August 2026 11:00:21 > To: Mario Domenech Goulart <[email protected]> > Cc: Kristian Lein-Mathisen via Chicken-users <[email protected]>; Srayan Jana <[email protected]> > Subject: Re: What the best way to support hot reloading in Chicken? > > > All the amazing tooling you've built, Mario! I can see these are the dependencies: > > - lsp-server > - schematra: https://github.com/schematra/schematra/issues/11 > > I'm surprised to see it being used as a hard dependency. Schematra doesn't seem to be using it, and I hope there is a way to take it out of lsp-server too perhaps. > > I really think the nrepl->tcprepl is a good idea as I suspect a lot confusion comes from Clojures nrepl feature/protocol and people think it's the same. > > I will see if I can add a note in nrepl's documentation regarding its intended use. > > Sorry for hijacking your thread, Srayan, > and thanks for your remarks Marios > K. > > > and the rest are transitive dependencies. > > On Wed, Aug 12, 2026, 22:25 Mario Domenech Goulart <[email protected] <mailto:[email protected]>> wrote: > Hi Kristian, > > On Wed, 12 Aug 2026 20:11:08 +0200 Kristian Lein-Mathisen <[email protected] <mailto:[email protected]>> wrote: > > > Thanks for pointing that out. So renaming eggs is non-trivial, which is fair. But I'd be surprised, honestly, if any eggs > > actually depend on nrepl - it's just a debugging/development tool, hopefully useful in the process of writing an egg, but > > not more. > > Actually at least 5 eggs depend on nrepl according to > http://salmonella-linux-x86-64.call-cc.org/chicken-5/gcc/linux/x86-64/2026/08/12/salmonella-report/ranks/rev-deps.html > > > I'll happily keep two separate branches, one for C5 and one for C6. I'll look into this when I get around to porting my > > eggs. > > Not sure if you are talking about two separate branches for nrepl or > about your eggs that depend on nrepl. If the former, then having two > branches for nrepl egg won't solve the problem. The issue affects > _users_ of nrepl. > > For example, consider an egg which depends on nrepl and works unmodified > on both C5 and C6 (not a very unusual case -- often C5 eggs require very > little modifications, if any, to work with C6) . If you rename nrepl to > tcprepl, the egg which depend on it will need two .egg files: the C5 one > to specify the dependency on nprepl; and the C6 one to specify the > dependency on tcprepl. chicken-install will only look for > <egg-name>.egg, so the user of your egg will have to branch. > > All the best. > Mario > -- > https://parenteses.org/mario