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

Affecting of the standard find notion #20

Open
ruv opened this issue Nov 3, 2023 · 1 comment
Open

Affecting of the standard find notion #20

ruv opened this issue Nov 3, 2023 · 1 comment

Comments

@ruv
Copy link
Collaborator

ruv commented Nov 3, 2023

Many words rely on the find term, for example: ' (Tick), postpone, [defined], synonym.

The term find is defined in Forth-2012 as:
find: To search the dictionary for a definition name matching a given string.

Later it was updated to:
find: To search the search order or a specified word list for a definition name matching a given string.

When the Recognizer API is provided, the standard search order can be ignored doing text translation, and another user-defined search order can be technically used. In such a case it would be unexpected if Tick cannot find an ordinary word that can be successfully translated.

Then, the mentioned words shall use the system's recognizer (the perceptor) to find a word. Of course, they shall analyze the recognized token type, accept appropriate tokens, and discard unknown or inappropriate tokens.

  • See also the discussed word apply-recognizer-filter ( sd.lexeme xt.recognizer xt.filter -- i*x tt | 0 ) xt.filter ( i*x tt -- i*x tt flag ).

To formally implement this requirement, we will need either update the term find, or update all the words that rely on this term.

@ruv
Copy link
Collaborator Author

ruv commented Nov 3, 2023

It's one more argument against allowing side effects for recognizers (see #7).
E.g., [defined] (that uses the perceptor) must not have any side effects regardless to what lexeme it's applied.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant