Replies: 3 comments 2 replies
-
It is called out as an ambiguous condition. In OF816, I search the compilation word list in this situation, so that if OF816 is compiled without the search order word set, it simply operates with an empty search order. |
Beta Was this translation helpful? Give feedback.
-
It is possible, but not interactively. A test: t{
:noname
get-order n>r \ save the search order
0 set-order \ at this point the search order is empty
\ no words shall be foundable
c" set-order" find nip 0<> ( flag1 ) \ this word shall not be found
-1 set-order \ this shall set the minimum search order
c" set-order" find nip 0<> ( flag2 ) \ now this word shall be found
nr> set-order \ restore the search order
; execute
->
false true
}t
The section 4.2.2 Other program documentation says that a standard program shall document "whether a Standard System exists after the program is loaded". If a program leaves the search order empty, the system is not a standard system anymore, so no standard requirements can be applied. On the other hand, there are millions of ways to put a Forth system into an inoperable state. Interactively executing |
Beta Was this translation helpful? Give feedback.
-
0 SET-ORDER
will empty/clear the search order. This would appear leave the system in a non-functional state, sinceFIND-NAME
andFIND
apply the current search order with no mention of a fall-back position to theFORTH-WORDLIST
in the event there is no order.While
-1 SET-ORDER
resets to a minimum search order, once the search order is empty, its not possible to reset it. Given the wording, I do not see an escape clause. What am I missing?Beta Was this translation helpful? Give feedback.
All reactions