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
Webmaster