Man Linux: Main Page and Category List

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)