Getting Started


See Installation for the install guide of the Egison interpreter.

How to use the Egison interpreter

Interactive mode

Just typing egison starts the REPL (read-eval-print loop) of the interpreter.

$ egison

You can load definitions from a file by passing -l option. The following example is equivalent to starting the REPL and then executing loadFile "foo.egi".

$ egison -l foo.egi

Executing a program in files

You can write any expressions at the top level of program. With -t option, the interpreter prints out the evaluation results of each expression written at the top level.

Note that the statements (such as definitions and loadFile) are not expressions, and hence not printed.

$ cat foo.egi
def x := 1
x + 2
"This is the third line"

$ egison -t foo.egi
"This is the third line"

Finally, simply passing a file name to egison executes the main function defined in the file. The main should be a unary (1 argument) function that returns an IO function. Command line arguments are given to the main function as a collection of string.

$ cat foo.egi
def main args := do
   print "Hello, world!"
   print (show args)

$ egison foo.egi a b c
Hello, world!
["a", "b", "c"]

Editor Settings


You can get the latest version of egison-model.el from here. Put it in your load-path of Emacs, and add the following to your .emacs.

(autoload 'egison-mode "egison-mode" "Major mode for editing Egison code." t)
(setq auto-mode-alist
  (cons `("\\.egi$" . egison-mode) auto-mode-alist))