with / without

These special statements affect the way that phix translates your program into internal form. They are not meant to change the logic of your program, but they may affect the diagnostic information that you get from running your program. See 3. Debugging and Profiling for more information.
with
This turns on one of the options: profile , profile_time , trace , warning or type_check . Options warning and type_check are initially on, while profile , profile_time and trace are initially off.
Any warnings that are issued will appear on your screen after your program has finished execution. Warnings indicate very minor problems. A warning will never stop your program from executing.
without
This turns off one of the above options.
There was once also a special with option where a code number appears after with . This is no longer used and can safely be deleted.

You may only enable either profile or profile_time, but not both, for a given run of your program.
Unlike OpenEuphoria, settings can be changed mid-routine.

Note that "without warning strict" is an OpenEuphoria thing; Phix simply ignores the "strict", but will complain should any of the other 17 or so complex warning settings of OE be encountered. Phix also simply ignores attempts to set indirect_includes and inline, but currently displays an error for ifdef tags (with/without define).

Phix also allows with/without debug and (deprecated, see format) console/gui .

An included file inherits the with/without settings in effect at the point where it is included. An included file can change these settings, but they will revert back to their original state at the end of the included file. For instance, an included file might turn off warnings for itself and (initially) for any files that it includes, but this will not turn off warnings for the main file.