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-load-path "../lib" "../app")
(load "system")
(load "shell")
(set-help-path "../help")

#if repl
(set-debug-level 2)
#endif

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 4.0 (Build 6427 - 2017-08-06)
Copyright (C) Jan Tolenaar 2009-2017
Type 'help' for help on top-level commands

user >

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.