Skip to content

Conversation

@curiousdannii
Copy link
Collaborator

Summary

A simple set of annotations, in the sense of #6, so that directives in the source code for kits or in Include (- ... -) code can be marked up in ways which affect how they are linked.

@curiousdannii curiousdannii merged commit 3f933dc into main Oct 11, 2022
@curiousdannii curiousdannii deleted the ie-0013 branch October 11, 2022 02:41
@curiousdannii
Copy link
Collaborator Author

When replacing a function there should be a way to refer to the old version so that functions can be wrapped. Possibly that would make sense for constants too?

@curiousdannii curiousdannii added the formal-proposal A formal proposal that has been accepted for consideration by the core Inform team label Oct 24, 2022
@uecasm
Copy link

uecasm commented Dec 20, 2022

I don't like the idea of kits being able to hide identifiers. Part of the point of extensions and customisation is that kits are often wrong about what things are "done" and don't need further customisation. The power needs to be in the hands of the story author. Namespaces are fine, though, just not making things private.

Isn't a better solution for the originally posed problem a method to define a dependency order between kits, such that you know that kit B is trying to replace kit A's definition because it explicitly says so? Extensions do this via Include and via replacing (though the latter is quite clunky anyway); something similar could be used for the kits.

Having said that, I'm not entirely convinced the idea of using kits to get I6 code out of extensions is a good one -- unless there's a syntax for embedding a "kit" within an extension (not unlike the I6 code that's already there), you will end up with separate files that can become desynchronised and break unexpectedly because you have the wrong versions of things.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

formal-proposal A formal proposal that has been accepted for consideration by the core Inform team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants