184.108.40.2060 EVALUATE BLOCK
mcondron  When to set BLK to zero?Request for clarification2019-08-09 23:21:51
The description of this EVALUATE says to "extend the semantics of [the Core[ EVALUATE" to set BLK to zero...The Core EVALUATE performs a long sequence of steps, the last one of which is to restore the previous input specification...so, the Block modification to EVALUATE presumably sets BLK to 0 just after saving the previous input specification? What is the purpose of this? Presumably to help REFILL behave correctly, but then, which doesn't it already know the input source is not a block if SOURCE-ID is -1? It is kind of confusing, because there are two variables involved: SOURCE-ID and BLK. There are four states
SOURCE-ID =0 BLK=0 Input from user SOURCE-ID=0 BLK<>0 input from block SOURCE-ID=-1 BLK=0 Input from EVALUATE string SOURCE-ID=-1 BLK<>0 Illegal, it would seem, or at least I see no meaning to it.
So why set BLK to 0 if SOURCE-ID seems to necessarily override BLK anyway? Am I missing something?