picolisp

Unnamed repository; edit this file to name it for gitweb.
git clone https://logand.com/git/picolisp.git/
Log | Files | Refs | README | LICENSE

README (4332B)


      1 08jan13abu
      2 (c) Software Lab. Alexander Burger
      3 
      4                                                           Perfection is attained
      5                                            not when there is nothing left to add
      6                                      but when there is nothing left to take away
      7                                                      (Antoine de Saint-Exupery)
      8          The PicoLisp System
      9          ===================
     10 
     11      _PI_co Lisp is not _CO_mmon Lisp
     12 
     13 PicoLisp can be viewed from two different aspects: As a general purpose
     14 programming language, and a dedicated application server framework.
     15 
     16 
     17 (1) As a programming language, PicoLisp provides a 1-to-1 mapping of a clean
     18 and powerful Lisp derivate, to a simple and efficient virtual machine. It
     19 supports persistent objects as a first class data type, resulting in a database
     20 system of Entity/Relation classes and a Prolog-like query language tightly
     21 integrated into the system.
     22 
     23 The virtual machine was designed to be
     24    Simple
     25       The internal data structure should be as simple as possible. Only one
     26       single data structure is used to build all higher level constructs.
     27    Unlimited
     28       There are no limits imposed upon the language due to limitations of the
     29       virtual machine architecture. That is, there is no upper bound in symbol
     30       name length, number digit counts, or data structure and buffer sizes,
     31       except for the total memory size of the host machine.
     32    Dynamic
     33       Behavior should be as dynamic as possible ("run"-time vs. "compile"-time).
     34       All decisions are delayed till runtime where possible. This involves
     35       matters like memory management, dynamic symbol binding, and late method
     36       binding.
     37    Practical
     38       PicoLisp is not just a toy of theoretical value. PicoLisp is used since
     39       1988 in actual application development, research and production.
     40 
     41 The language inherits the major advantages of classical Lisp systems like
     42    - Dynamic data types and structures
     43    - Formal equivalence of code and data
     44    - Functional programming style
     45    - An interactive environment
     46 
     47 PicoLisp is very different from any other Lisp dialect. This is partly due to
     48 the above design principles, and partly due to its long development history
     49 since 1984.
     50 
     51 You can download the latest release version at http://software-lab.de/down.html
     52 
     53 
     54 (2) As an application server framework, PicoLisp provides for
     55    NoSQL Database Management
     56       Index trees
     57       Object local indexes
     58       Entity/Relation classes
     59       Pilog (PicoLisp Prolog) queries
     60       Multi-user synchronization
     61       DB Garbage collection
     62       Journaling, Replication
     63    User Interface
     64       Browser GUI
     65       (X)HTML/CSS
     66       XMLHttpRequest/JavaScript
     67    Application Server
     68       Process management
     69       Process family communication
     70       XML I/O
     71       Import/export
     72       User administration
     73       Internationalization
     74       Security
     75       Object linkage
     76       Postscript/Printing
     77 
     78 PicoLisp is not an IDE. All program development in Software Lab. is done using
     79 the console, bash, vim and the Lisp interpreter.
     80 
     81 The only type of GUI supported for applications is through a browser via HTML.
     82 This makes the client side completely platform independent. The GUI is created
     83 dynamically. Though it uses JavaScript and XMLHttpRequest for speed
     84 improvements, it is fully functional also without JavaScript or CSS.
     85 
     86 The GUI is deeply integrated with - and generated dynamically from - the
     87 application's data model. Because the application logic runs on the server,
     88 multiple users can view and modify the same database object without conflicts,
     89 everyone seeing changes done by other users on her screen immediately due to the
     90 internal process and database synchronization.
     91 
     92 PicoLisp is free software, and you are welcome to use and redistribute it under
     93 the conditions of the MIT/X11 License (see "COPYING").
     94 
     95 It compiles and runs on current 32-bit GNU/Linux, FreeBSD, Mac OS X (Darwin),
     96 Cygwin/Win32 (and possibly other) systems. A native 64-bit version is available
     97 for x86-64/Linux, x86-64/FreeBSD, x86-64/SunOS and ppc64/Linux.
     98 
     99 --------------------------------------------------------------------------------
    100 
    101    Alexander Burger
    102    Software Lab. / 7fach GmbH
    103    Bahnhofstr. 24a, D-86462 Langweid
    104    abu@software-lab.de, http://www.software-lab.de, +49 8230 5060