# Getting Started on Linux

## Prerequisites

The mono runtime corresponding to .NET 4.5 must be installed on your computer, e.g. mono 4.2.3

## Installation

Unzip the binary distribution in a directory, e.g. /home/bob. Within the installation folder you should find:

kiezellisp/bin/kiezellisp-con.exe
kiezellisp/bin/kiezellisp-gui.exe
kiezellisp/bin/kiezellisp-init.k
kiezellisp/bin/kiezellisp-lib.dll
kiezellisp/bin/Microsoft.Scripting.dll
kiezellisp/bin/Microsoft.Dynamic.dll
kiezellisp/lib/...
kiezellisp/app/...
kiezellisp/help/...


## Terminal and window versions

The program kiezellisp-con.exe is designed to run in a terminal, has a REPL and allows the use of winforms, gtk# or another graphical framework that has a .NET binding.

The program kiezellisp-gui.exe is designed to run outside a terminal and requires the use of winforms, gtk# or another graphical framework that has a .NET binding.

During development you should use kiezellisp-con.exe.

## Configuration

The file kiezellisp-init.k contains something like this:

#if unix
#if flatpak
(set-assembly-path "/app/lib/mono/4.5")
#else
(set-assembly-path "/usr/lib/mono/4.5")
#endif
#endif

#if windows
(set-assembly-path "c:/windows/microsoft.net/framework64/v4.0.30319")
#endif

(set-help-path "../help")


Create the following executable scripts in a folder on your path environment, e.g. ~/bin.

The mono option --verify-all may be needed on some systems with some versions of mono to avoid a segmentation fault when pressing the win key in a winforms application.

### Script ~/bin/kiezellisp

#! /bin/bash
mono ~/kiezellisp/bin/kiezellisp-con.exe "$@"  ### Script ~/bin/kiezellisp-gui #! /bin/bash mono ~/kiezellisp/bin/kiezellisp-gui.exe "$@" &


Please note the & which detaches the graphical program from the shell terminal.

## Running the REPL in a terminal

Start Kiezellisp by running your script: kiezellisp

You will be greeted by Kiezellisp's Read-Eval-Print-Loop:

Kiezellisp Console 2.0 (Build 6123 - 2016-10-06)

The word user is the name of the current package. Please type help followed by the ENTER key and familiarize yourself with the keyboard commands and the top-level commands.