|
From: | Evan Hanson |
Subject: | Re: [Chicken-hackers] [PATCH] Add initial version of (chicken base) |
Date: | Mon, 18 Sep 2017 22:00:00 +1200 |
Hi folks, On 2017-09-17 12:13, Peter Bex wrote:
On Sun, Sep 17, 2017 at 11:44:09AM +0200, address@hidden wrote:> > It should be possible to link with units, but I guess that can be done via "declare". > > If that is still possible then "require-library" may indeed go. > > Yeah, I think that's still possible. What it does is allowing runtime-linking to a compiled unit that is compiled into a library (not a loadable .so). The expansion (using '##core#require') is a bit too involved for user code. We should investigate and compare the remaining loading/linking forms and make every possible case is handled: loadable .so (module), static library, dynamically loadable library (also a .so, confusingly), source code, etc.Let's discuss this in person at the meetup. In any case, this doesn't need to hold up further development on the chicken-5 branch.
I'm reasonably confident all the different ways to load code are supported nowadays, and also that 'require-library' can go. In fact, most things ought to "just work" with only 'import', 'require' (for runtime loading) or 'declare' (for compile-time, but this is also done automatically for the user in common cases). A couple of the "axes" and the associated "values" they can have when loading code, off the top of my head, are: - Locations: - Working directory - Repository path - Include path - Type of source: - No module - One module - Multiple modules - Type of compiled code: - No unit - One unit - Multiple unit - Type of loadable "thing": - Source - Compiled shared object - Compiled static object - Compiled archive (effectively a static object containing multiple units, so probably doesn't deserve to be a separate item...) Anyway, if there's a specific situation you're wondering about just ask and I can summarise the state of things -- it's most likely I've simply forgotten it on this list and less likely that it isn't supported *somehow*. Cheers, Evan
[Prev in Thread] | Current Thread | [Next in Thread] |