Command Line Interface


Command Line Options

-c <command>

Execute the Hy code in command.

$ hy -c "(print (+ 2 2))"
-i <command>

Execute the Hy code in command, then stay in REPL.

-m <module>

Execute the Hy code in module, including defmain if defined.

The -m flag terminates the options list so that all arguments after the module name are passed to the module in sys.argv.

New in version 0.11.0.


Print equivalent Python code before executing in REPL. For example:

=> (defn salutationsnm [name] (print (+ "Hy " name "!")))
def salutationsnm(name):
    return print(((u'Hy ' + name) + u'!'))
=> (salutationsnm "YourName")
Hy YourName!

–spy only works on REPL mode. .. versionadded:: 0.9.11


Print extended tracebacks for Hy exceptions.

New in version 0.9.12.


Format REPL output using specific function (e.g., hy.contrib.hy-repr.hy-repr)

New in version 0.13.0.


Print the Hy version number and exit.


Command Line Options

file[, fileN]

Compile Hy code to Python bytecode. For example, save the following code as hyname.hy:

(defn hy-hy [name]
  (print (+ "Hy " name "!")))

(hy-hy "Afroman")

Then run:

$ hyc hyname.hy
$ python hyname.pyc
Hy Afroman!


New in version 0.10.1.

Command Line Options


Show the parsed source structure.


Show the generated AST.


Do not show the Python code generated from the AST.