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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.