1:- use_module(library(dialect/logicmoo/dialect_loader_lib)).    2
    3:- multifile(setup_dialect/0).    4:- module_transparent(setup_dialect/0).    5setup_dialect:- 
    6  current_prolog_flag(emulated_dialect,FromM),
    7  prolog_load_context(module, IntoM),
    8  IntoM:import(dialect_loader_lib:dialect_on_load/3), 
    9  get_prolog_load_context(Ctx),  
   10  asserta(dialect_loader_lib:setup_dialect_load_context(Ctx)),
   11  %wdmsg(setup_dialect_load_context(Ctx)),
   12  IntoM:use_module(library(dialect/FromM)),
   13  (FromM\=IntoM -> FromM:import(dialect_loader_lib:dialect_on_load/3); true),
   14  asserta(IntoM:term_expansion(T,FP,O,FPO):- FromM:dialect_term_expansion(T,FP,O,FPO)).
   15
   16:- multifile(dialect_term_expansion/4).   17:- export(dialect_term_expansion/4).   18dialect_term_expansion(T,FP,O,FPO):- 
   19  notrace((
   20      nonvar(FP), 
   21     (prolog_load_context(dialect,D);current_prolog_flag(dialect,D)) ->      
   22        prolog:dialect_reads(D,P1))),
   23  get_prolog_load_context(DC),
   24  FPO=FP, 
   25  O = (:- dialect_on_load(P1,T,DC)),
   26  !.
   27
   28
   29
   30
   31%:- use_module(dialect_loader_lib).
   32:- multifile(prolog:dialect_reads/2).   33:- dynamic(prolog:dialect_reads/2).