Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow Interrupting the VERBs' Execution Chain #16

Open
tajmone opened this issue Oct 5, 2020 · 0 comments
Open

Allow Interrupting the VERBs' Execution Chain #16

tajmone opened this issue Oct 5, 2020 · 0 comments
Labels
💡 feature request New feature request 💡 limitations Current limitations of ALAN Language, and possible solutions ⭐ ALAN Lang Topic: The ALAN Language and its instructions set

Comments

@tajmone
Copy link
Contributor

tajmone commented Oct 5, 2020

NOTE — This was already discussed somewhere (possibly in the mailing list) but I'm adding it here to make it a "formal" feature request/discussion on the topic.


ALAN's VERBs system is quite flexible thanks to the DOES [ONLY/BEFORE/AFTER] construct, allowing to exploit ONLY to supersede certain actions in special context (a given actor, location or object), and BEFORE/AFTER allow adding extra messages or actions to a verb execution (e.g. an extra printed message for certain things or locations, etc.).

The only limitation I see in the current system is the lack of an instruction that can arbitrarily interrupt the verb execution at any point of of the DOES [BEFORE/AFTER] chain.

Right now, one can only use CHECKs to prevent the action and print a message, but in some circumstances it might be desirable to allow the various DOES block to execute as normal, and have a specific DOES [BEFORE/AFTER] block interrupt the execution so that it does not go any further along the chain.

Surely, the current system covers the general and broader needs of most adventures. But contexts like a library or a big-sized adventure might introduce added complexity where the ability to ensure the execution interruption at a specific point (without preventing what comes before it) could be really useful.

It's also worth noting that most IF authoring system (which all have a very similar approach to verbs execution) do in fact provide the means to abort the execution — either by a specific keyword (e.g. Inform 7) or by returning true/false from the execution block (e.g. Hugo).

@tajmone tajmone added 💡 feature request New feature request ⭐ ALAN Lang Topic: The ALAN Language and its instructions set 💡 limitations Current limitations of ALAN Language, and possible solutions labels Oct 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💡 feature request New feature request 💡 limitations Current limitations of ALAN Language, and possible solutions ⭐ ALAN Lang Topic: The ALAN Language and its instructions set
Projects
None yet
Development

No branches or pull requests

1 participant