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 <[email protected]>

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.

RELATED TO kayac…

darcs(1) gcc(1) gprof(1) rekey(1) xml2man(1)