Notes for a more consistent style.... * Okay uses for plain :- commands outside of main.pl: :- ensure_loaded( ) :- use_module( ) :- dynamic :- multifile :- discontinuous :- index :- volatile (although maybe this doesnt work?) :- thread_local :- initialization mutex_create_if_absent( ). Why? Anything else is likely to interact with the startup sequence in main.pl, which needs to be careful to handle command-line reconfiguration, being compiled, not knowing lots of config information until after server startup (when we get a port), etc. * Don't fork Why? It seems to interact badly with threads. * Don't define modules Why? Because I'm not sure I understand them well enough, and it seems like extra work, and I haven't seen the benefit * Every file should start with