Projects and Source Code

Any sufficiently complicated C or Fortran program contains an ad-hoc, informally-specified bug-ridden slow implementation of half of Common Lisp.
    - Greenspun's Tenth Rule of Programming

Here we are presenting several libraries distributed under the LLGPL, the Lisp Lesser GNU Public License (http://opensource.franz.com/preamble.html). Bug reports and suggestions are welcome.

YstokGrid

CAPI-based grid widget for LispWorks. It displays data akin to RDBMS records in rows, facilitates editing in place, adding, or deleting them. More...

YstokHTML

Common Lisp library for generating and parsing HTML and XHTML documents. More...

YstokSQL

Common Lisp library for interfacing relational databases via ODBC. The implementation is much inspired by LispWorks® CommonSQL, provides the functional SQL interface in full and a limited support of the object-oriented interface. More...


ylib-1-2-018.zip (36kB)
Ystok-Library

Portable Common Lisp library of general purpose macros, functions, and utilities.

The library includes the portable code of META, a classic technique for building recursive descent parsers, which is both simple and effective. See "Pragmatic Parsing in Common Lisp" of Henry G. Baker at http://citeseer.ist.psu.edu/baker91pragmatic.html or inside http://portal.acm.org/  or just download Prag-Parse.ps, the original article in PostScript.


Prag-Parse.ps (81kB)

The meta-parse-number.lisp file in the distribution bundle presents an example of using META. This approach is used by

Ystok-Library is required by all other Ystok libraries. See the change.log.

Ystok-Local-Time

Common Lisp library for representing and handling time zones, dates, and timestamps. It is based on the LOCAL-TIME concept proposed in "The Long, Painful History of Time" (http://naggum.no/lugm-time.html) by Erik Naggum (1965-2009). The library partially supports ISO 8601 format and provides localized read and print of date and time. More...

Ystok-URI


yuri.zip (14kB)
Portable Universal Resource Identifier library for Common Lisp programs. It parses URI according to RFC2396. Ystok-URI is based on

The original Franz's documentation on URI support in Allegro Common Lisp is here.

Implementation notes:

Ystok-URI requires Ystok-Library and the tester module from the ACL-Compat bundle (for running regression tests). It is required by YstokHTML and YstokHelp.

Ystok-Widgets


ywidgets-1-2-015.zip (56kB)

Common Lisp GUI library based on LispWorks® CAPI. It requires Ystok-Library and is required by YstokGrid. It is optional for YstokHelp run-time API invoked by an CAPI application. See the change.log.

ACL-Compat


acl-compat.zip (13kB)
This is an excerpt from the source code of the portableaserve repository. It facilitates porting the code originally developed for Franz Allegro Common Lisp. Our version of ACL-Compat includes the "famous" if* macro and a few useful functions.

ExploTab


explotab.zip (10kB)
Explotab is a CAPI-based application with user interface resembling the Windows Explorer. It was built on top of the original (and rather outdated by now) SQL/ODBC module by Paul Meurer and augments this module by ODBC catalog functions and facilitates navigation through database schema.

Now the application is being ported to YstokSQL and YstokGrid.

Small Modules

LispWorks port of Pierre R. Mai's MD5 using 32bit arithmetic


md5.zip (10kB)

This is a fast version based on raw 32bit arithmetic introduced in LW 4.4. It demonstrates speed increase of about two hundred times compared to the naive port.

LispWorks for Windows - customizing IDE


lww-ide.zip (17kB)
LWW novices may feel uncomfortable with standard keyboard bindings and gestures. No wonder - many Windows text editors stimulate quite different habits. The customization is a sophisticated combination of Emacs and PC-mode commands extending LWW editor functionality in a consistent way.

Projects of the Past


ylisp 2.0 for DOS (311kB)



ylisp 3.5 for Windows
English (466kB)

YLisp - Common Lisp development system for DOS and Windows

This is a rather antiquarian Lisp system issued in 1993! The author had got lots of experience while coupling about 25000 lines of C code, promised to give up implementing Lisp himself, and keeps this promise...

New era of YLisp

Thanks to Arseny Slobodyuk (ampy<at>users<dot>sourceforge<dot>net), the Windows version of YLisp is getting started! The console application is already available - take a look at http://www.ich.dvo.ru/~nmr/ylisp/english.htm for the latest version. Feel free to contact Arseny for prospects and wishes.
See also
Πειςθνγ@Mail.ru
Rambler's Top100