 :- expects_dialect(+Dialect)This directive states that the code following the directive is written 
for the given Prolog Dialect. See also dialect. 
The declaration holds until the end of the file in which it appears. The 
current dialect is available using prolog_load_context/2.
:- expects_dialect(+Dialect)This directive states that the code following the directive is written 
for the given Prolog Dialect. See also dialect. 
The declaration holds until the end of the file in which it appears. The 
current dialect is available using prolog_load_context/2.
The exact behaviour of this predicate is still subject to discussion. 
Of course, if Dialect matches the running dialect the 
directive has no effect. Otherwise we check for the existence of
library(dialect/Dialect) and load it if the file is found. 
Currently, this file has this functionality:
- Define system predicates of the requested dialect we do not have.
 
- Apply goal_expansion/2 
rules that map conflicting predicates to versions emulating the 
requested dialect. These expansion rules reside in the dialect 
compatibility module, but are applied if prolog_load_context(dialect, 
Dialect) is active.
 
- Modify the search path for library directories, putting libraries 
compatible with the target dialect before the native libraries.
 
- Setup support for the default filename extension of the dialect.