Proposal: Executing compilation semantics

Informal

This proposal has been moved into this section. Its former address was: /standard/doc

This page is dedicated to discussing this specific proposal

ContributeContributions

ruvavatar of ruv Executing compilation semanticsProposal2019-07-12 04:16:14

Problem

As for now the following code is standard (it may be part of a standard program):

: E POSTPONE EXIT ;
E

But some Forth systems can throw an exception on the second line since this code tries to append something to the current definition in the absent of current definition. And such Forth systems are not standard for that.

To allow a standard Forth system to throw an exception in such situation, this situation should be an ambiguous condition. And in that case the code above will not be standard.

Proposal

Add into the section 4.1.2 Ambiguous conditions, after the item "interpreting a word with undefined interpretation semantics;" the following item:

appending any semantics to the current definition if there is no current definition;

Reply New Version