NAME
Kayac - Compiler for the kaya language
SYNOPSIS
kayac FILE [-L DIRECTORY [-L ...]] [-libdir DIRECTORY [-libdir ...]]
[-force] [-nochase] [-noprelude] [-nortchecks|-fastvm] [-noopts]
[-repl] [-pic] [-xmldocs] [-static] [-profile] [-seedkey STRING]
[-dumptac] [-dumpraw] [-dumptree] [-dumpsimpl] [-dumpeqns] [-dumpcg]
[-dumpdeps] [-keepc] [-showgcc]
kayac [-version|-v|-help|-h|-?|-installdir]
DESCRIPTION
kayac compiles modules, programs and web applications in the Kaya
programming language.
kayac will automatically compile dependencies as necessary provided
that, for a dependency Foo, the source file is called Foo.k and is in
the current working directory.
OPTIONS
-? | -h | -help
Show usage summary
-v | -version
Show version number
-installdir
Show the directory in which the libraries are installed
-L DIRECTORY | -libdir DIRECTORY
Add DIRECTORY to the library search path.
-force Force compilation even if kayac thinks it isn’t needed.
-q Quiet compilation; don’t report which module is being built.
-nochase Don’t chase up and compile dependencies. Implies -force and
-q.
-deprfail Fail compilation if a deprecated function is called.
-noprelude
Don’t import the Prelude (probably only useful when compiling
the standard library). Compiling anything other than modules
with this option is unlikely to work well.
-noenvlibs
kayac will ignore the KAYA_LIBRARY_PATH environment variable
when compiling, and will not import from the compiled-in
library directories (probably only useful when compiling the
standard library)
-nortchecks
Disables some run-time checking. This speeds up the final
program, at the cost of making errors harder to track down
(and possibly introducing additional subtle errors where an
exception would previously have occurred). Only recommended
for bug free programs...
-fastvm Uses a version of the Kaya VM that is optimised for
applications such as web applications with a short run-time
(a few seconds or less) for which it is significantly faster
than the normal VM. However, for longer-running applications
memory usage can grow very rapidly. This option implies and
takes precedence over -nortchecks.
-noopts Disables compile-time optimisations. Probably only useful for
debugging purposes.
-repl Read-Eval-Print loop mode. In this mode you can interactively
test the behaviour of functions without needing to build a
separate testing program, in a top-level interpreter. See
kaya(1) for more information. This option implies -pic.
-pic Use the -fPIC option of the C compiler to make position-
independent code suitable for shared libraries. This option
has no effect on Windows, where all code is position-
independent.
-xmldocs Generate XML documentation. This can then be converted into
HTML or Manpage format using the KayaDoc module and the
xml2man(1) tool.
-static Statically link executables so that they can be run on a
wider range of systems at the cost of signficantly increased
file size. This is generally only useful if you are making a
pre-compiled binary distribution. You may get some warnings
from the linker about potential problems and limitations when
linking some libraries, or compilation may fail entirely if
the static libraries are unavailable.
-profile Turns on profiling in the output code. The program will then
generate a gmon.out file when run, which can then be analysed
with a program such as gprof(1). This option also enables
-static, and to get a useful call graph report from gprof,
your libgc library must have been compiled with profiling
enabled.
-seedkey STRING
Use a string to seed the random number generator which makes
a secret key. Useful for testing web apps.
DEBUGGING OPTIONS
These options generate debugging information.
-dumptac Dump bytecode
-dumpraw Dump the raw parse tree.
-dumptree Dump the type checked parse tree.
-dumpsimpl
Dump the simplified, desugared and optimised code in a human
readable (almost) form.
-dumpeqns Dump the type equations used in type inference
-dumpcg Dump the function call graph
-dumpdeps Dump the module dependency graph
-keepc Keep the generated C code
-showgcc Print the command sent to gcc
ENVIRONMENT VARIABLES
KAYA_LIBRARY_PATH
A list of extra paths to search for kaya libraries. Paths are
separated by ’:’ on Posix systems, and ’;’ on Windows.
DOCUMENTATION
Library documentation for Kaya can be found at
<http://kayalang.org/library> or in the manual section 3kaya
OBTAINING
The latest release of Kaya can be obtained from
<http://kayalang.org/download>. You can receive announcements of new
versions of Kaya by subscribing to the kaya-announce mailing list
<http://lists.kayalang.org/lists/listinfo/kaya-announce>
Development versions can be obtained using darcs(1) from
<http://kayalang.org/darcs/>
BUGS
Please report bugs found to <kaya@kayalang.org>
LICENSE
kayac is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2 or any later
version) as published by the Free Software Foundation.
SEE ALSO
darcs(1) gcc(1) gprof(1) rekey(1) xml2man(1)