Operators and modules in the "Modules" section
The module table (shouldn't that be "operator table") of the module user acts as default table for all modules and can be modified explicitly from inside a module to achieve compatibility with other Prolog that do not have module-local operators
If I understand correctly the example
:- op(900, xfx, user:(=>)).
=> in module
user from within module
prove, which means that operator
=> becomes available to all modules. But what does that mean?
The operator is only meaningful in the Prolog parsing / compiling phase as it is an instruction for the Prolog parser. If I understand correctly, the idea here is to allow code that uses
=> (obviously only in terms meant to be processed by module
prove) to be parsed?
Is that code really "portable"? 🤔