As of version 3.1 of the Camelot compiler the following compile time options are available.
Output this help message.
Print normalised abstract syntax.
Print monomorphised normalised abstract syntax.
Like -a2 but write the syntax to an ASDL binary pickle file (.asdl.bin).
Like -ab but write an ASDL S-expression pickle file (.asdl.sexp).
Debug mode. Implies verbose. Gives some probably useless information. Pages of output per function, mainly type inference and monomorphisation related.
Rather than saying \"compiled ...\", just print out the names of the classes which have been generated (this was for use in the online demo)
This option is for use with object-oriented Camelot extensions. <dirlist> consists of a colon-separated list of directory names in which the compiler will look for JVM classes (including the standard Java libraries). If the compiler needs to look for classfiles and no -cp option is given then directories listed in the environment variable CAMELOT_CLASSPATH will be used; if this variable is not set then the compiler will use ${HOME}/classes:. . If you're using the shell variable, don't put a ~ in any of the paths: use $HOME instead. See also the -j and -m options.
Write the output classes into directory dir.
Print information about structure of diamond class
Print debugging information about behaviour of freelist allocation during execution.
Output Grail to .gr file (no class file)
Compile Camelot matches using the experimental Grail case construct
Output a file ...-HINTS.asdl.bin containing proof hints
Same as -cp /group/project/mrg/java_rt_sun-1.4.1:. (For compiling with the standard Java class hierarchy on DICE machines in Edinburgh)
Turn on linearity checking
Create .lfd file and call lfd_infer
Turn on layered sharing checking and inference (needs deel_uapl_prg)
Turn on usage aspects checking and inference (needs deel_uapl_prg ) (NOT YET),
Debug the layered sharing and usage aspect inferences
Same as -cp /group/project/mrg/midp-1.0.3_classes:. (Useful for compiling with the MIDP 1.0 API on DICE machines in Edinburgh)
Use the original datatype scheme: one Java class for each datatype (may not work any more).
Turn off tail-call elimination.
Turn off Grail local variable consolidation.
Turn on destruction inference (works only with -ld or -lu) (NOT YET).
Record information about the freelist. Programs can recover this information by calling diamond_info: unit -> string
Omit argument lists from Grail output: the program probably won't execute, but it's easier to read.
Silent mode. Suppress all textual output when compiling correct programs.
Show adpator functions when printing abstract syntax.
Print the current date and time
Emit Isabelle theory files
Verbose mode. Does nothing.
Exit from compiler immediately