JMpol

Ubuntu LISP Environment

        Welcome Network SYMBOLICS APPLE LINUX Ubuntu NOKIA PC Literature Workgroup

Ubuntu

The steps regarding the installation and configuration of the software components

building the LISP development environment under Ubuntu are detailed below.

Installation and configuration of software under Ubuntu requires administration

privileges.

CLISP

CLISP should be installed onto a Ubuntu Linux PC from the associated Software

Center. CLISP is a portable ANSI Common Lisp implementation and development

environment, including an Interpreter, Compiler, Debugger, CLOS, MOP, FFI,

Unicode, sockets, CLX, the System Definition Facility ASDF, and much more.

Following the installation of the current version, i.e for the time being version 2.49,

CLISP can be started by invoking clisp from within the Ubuntu XTerm application.

The window shown by the thumbnail GNU CLISP will appear on the screen, and the

Lisp function (list-all-packages) will show the packages provided with clisp.

EMACS

Perform the installation of the current version of Emacs, i.e the GNU Emacs binary

implementation for Ubuntu provided in the associated Software Center. Following

the installation, you can start Emacs either from within the Ubuntu application

XTerm, or by clicking on the Run Command  of the Ubuntu's Application Launcher

Menu and call Emacs. You will get the Emacs shell shown by the thumbnail GNU

Emacs, including documentation to start using Emacs.

SLIME

GNU Emacs is a powerful text editor. Combined with SLIME, the Superior Lisp

Interaction Mode for Emacs, Emacs provides under Ubuntu an excellent platform for

unifying LISP development. Everything you need to start using Common LISP

Libraries in Emacs is to install SLIME from the associated Ubuntu Software Center.

Everything is handled by the installer of the Ubuntu Software Center. Thus, no

additional configuration is required.

Following the installation, you can use the command M-x slime to load SLIME into

your Emacs session and start Coding, as shown in the thumbnail GNU Emacs-clisp-

maxima-C++.  As you can see, SLIME under Emacs runs using CLISP in a buffer

called *slime-repl clisp*. This is the buffer where LISP definitions added in other

buffers, e.g in the buffer called foo.lisp can be incrementally compiled, loaded into

LISP and run, upon defined.

Beyond these two buffers, this Emacs session includes another two buffers, which

in the following will be discussed in more details.

Maxima

Perform the installation of the current version of Maxima, i.e the Maxima binary

implementation for Ubuntu provided in the associated Software Center. No

additional configuration is required. Following the installation, you can use the

command M-x maxima to load Maxima into your Emacs session and run Maxima

alongside with CLISP under Emacs, for doing numeric and symbolic calculations.

See buffer *maxima* in thumbnail GNU Emacs-clisp-maxima-C++. Provided with

Maxima is Gnuplot, which allows you to generate 2- and 3-dimensional plots, as

shown by the thumbnails Function 1 Gnuplot and Function 2 Gnuplot, respectively.

You can use Maxima together with Gnuplot also standalone. That is, you can start

Maxima by clicking on the Run Command  of the Ubuntu's Application Launcher

Menu and call Xmaxima. See Xmaxima and thumbnails Function 1 Gnuplot and

Function 2 Gnuplot, respectively.

gcc, g++

Beyond Maxima and SLIME, in Ubuntu you can benefit also from the integrated C

Compiler gcc. Install also the C++ Compiler g++ from within the Ubuntu Software

Center, together with the associated documentation and multilib files, in order to be

able to compile C and C++ programs under Emacs. Use either the "Emacs Tools >

Compile", which results in a make -k call, or the "Emacs Tools > Shell Command",

which allows you to launch the appropriate Compiler gcc or g++, respectively.

As an example, see buffers primefactors.cpp  in GNU Emacs -clisp-maxima-C++

and *compilation* in GNU Emacs-clisp-maxima-C++ compilation. Alternatively, you

may compile and run C or C++ programs also from within XTerm using either gcc or

g++, as shown in thumbnail g++ and gcc examples for primefactors.cpp and for

the program quadratic.c, which uses the option -lm in order to link the mathematics

library math.h.

Furthermore, using the FFI integrated with CLISP, you can perform in Emacs also

Foreign Function Calls from within CLISP to C or C++. This, however, yields well

beyond the scope of this introductory description.

OpenSSL

OpenSSL is a full-featured and Open Source cryptography toolkit implementing the

Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) network

protocols as well as a full-strength general purpose cryptography library. OpenSSL

for Ubuntu is available from the associated Software Center.

Among a lot more OpenSSL is used for the creation and management of private

keys, public keys, time stamps and parameters allowing cryptographic operations

using the aforementioned protocols. For details see the OpenSSL homepage.

X11

Besides CLISP, accessing a LISP development environment on a remote host from

within your local Ubuntu PC may become necessary. Thus, e.g CLISP running on a

Mac computer or on a Nokia N900 tablet. This may be achieved from within XTerm,

using the secure shell SSH. The following two groups of thumbnails show, each in a

"three-step approach", examples of accessing a configured Emacs environment on

a Mac mini host server and on a Nokia tablet N900, respectively:

ssh server 

accessing the remote host server via SSH

ssh server - emacs

accessing Emacs on the remote host server

ssh server - emacs - slime

accessing SLIME REPL CLISP on host server

ssh N900

accessing the remote host N900 via SSH

ssh N900 - emacs

accessing Emacs on the remote host N900

ssh N900 - emacs - slime

accessing SLIME REPL CLISP on host N900