~brenns10/funlisp

ref: v1.2.0 funlisp/doc/index.rst -rw-r--r-- 1.5 KiB
8947d954Stephen Brennan Release v1.2.0 1 year, 7 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Welcome to funlisp's documentation!
===================================

funlisp is a small, simple, easy-to-embed scripting language written in C. It is
a dialect of lisp, but doesn't adhere to any particular standard. This
documentation contains information for those looking to learn the language, as
well as those looking to embed and extend it.

You can get started by cloning the repository from GitHub, and then compiling
the main program:

.. code::

    $ git clone https://github.com/brenns10/funlisp
    $ make bin/funlisp
    $ bin/funlisp
    > (define hello (lambda () (print "hello world")))
    <lambda hello>
    > (hello)
    hello world

If you do not have the a POSIX.2 system, or if you cannot install the Readline
library (on which the main program depends), you can use the simpler (but less
feature-rich) programs ``bin/repl`` and ``bin/runfile``.

From there, you can evaluate some arithmetic and write some lambdas! See the
table of contents below for guidance on the language, and how to embed the
interpreter in your program. There is also some (limited) documentation on the
internals of the interpreter, to help interested readers of my code (and
probably me someday).

Visit the repository_ for more information, to view the source, to report bugs,
or even to begin contributing!

.. _repository: https://github.com/brenns10/funlisp

.. toctree::
  :maxdepth: 2
  :caption: Contents:

  language.rst
  embedding.rst
  api.rst
  advanced.rst


Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`