LispWorks is computer
software
Software consists of computer programs that instruct the Execution (computing), execution of a computer. Software also includes design documents and specifications.
The history of software is closely tied to the development of digital comput ...
, a
proprietary implementation and
integrated development environment
An integrated development environment (IDE) is a Application software, software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, an ...
(IDE) for the
programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
Common Lisp
Common Lisp (CL) is a dialect of the Lisp programming language, published in American National Standards Institute (ANSI) standard document ''ANSI INCITS 226-1994 (S2018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperli ...
. LispWorks was developed by the UK software company
Harlequin Ltd., and first published in 1989. Harlequin ultimately spun off its Lisp division as
Xanalys Ltd., which took over management and rights to LispWorks. In January 2005, the Xanalys Lisp team formed LispWorks Ltd. to market, develop, and support the software.
LispWorks's features include:
* A native-code compiler and an interpreter for an extended ANSI Common Lisp
* An implementation of the
Common Lisp Object System with support for the
metaobject protocol
* Support for
32-bit
In computer architecture, 32-bit computing refers to computer systems with a processor, memory, and other major system components that operate on data in a maximum of 32- bit units. Compared to smaller bit widths, 32-bit computers can perform la ...
and
64-bit versions
* Native
threads and
symmetric multiprocessing
Symmetric multiprocessing or shared-memory multiprocessing (SMP) involves a multiprocessor computer hardware and software architecture where two or more identical processors are connected to a single, shared main memory, have full access to all ...
*
Unicode
Unicode or ''The Unicode Standard'' or TUS is a character encoding standard maintained by the Unicode Consortium designed to support the use of text in all of the world's writing systems that can be digitized. Version 16.0 defines 154,998 Char ...
support: it can read and write files, and supports strings, so encoded
* Foreign language interface (FFI) to interface with routines written in
C
* A
Java
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
interface
* The ''common
application programming interface
An application programming interface (API) is a connection between computers or between computer programs. It is a type of software Interface (computing), interface, offering a service to other pieces of software. A document or standard that des ...
'' (CAPI)
graphical user interface
A graphical user interface, or GUI, is a form of user interface that allows user (computing), users to human–computer interaction, interact with electronic devices through Graphics, graphical icon (computing), icons and visual indicators such ...
(GUI) toolkit, which provides native look-and-feel on Windows,
Cocoa,
GTK+, and
Motif
* An
Emacs
Emacs (), originally named EMACS (an acronym for "Editor Macros"), is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, s ...
-like editor; source code is included in the Professional edition
* A Lisp Listener, which provides a Common Lisp
read–eval–print loop
A read–eval–print loop (REPL), also termed an interactive toplevel or language shell, is a simple interactive computer programming environment that takes single user inputs, executes them, and returns the result to the user; a program written ...
(REPL)
* A graphical
debugger
A debugger is a computer program used to test and debug other programs (the "target" programs). Common features of debuggers include the ability to run or halt the target program using breakpoints, step through code line by line, and display ...
,
inspector
Inspector, also police inspector or inspector of police, is a police rank. The rank or position varies in seniority depending on the organization that uses it.
Australia
The rank of Inspector is present in all Australian police forces excep ...
, stepper,
profiler,
class browser, etc.
* A facility to generate standalone executables and shared
libraries
A library is a collection of Book, books, and possibly other Document, materials and Media (communication), media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or electron ...
; to reduce memory size, a tree shaker can be used to remove unused code and data
* On
macOS
macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
, it provides a bridge to
Objective-C
Objective-C is a high-level general-purpose, object-oriented programming language that adds Smalltalk-style message passing (messaging) to the C programming language. Originally developed by Brad Cox and Tom Love in the early 1980s, it was ...
for using Apple's
Cocoa libraries
* Many of the libraries are written using the
Common Lisp Object System (CLOS) and can be extended by the user, by writing subclasses and new methods
The Enterprise edition also includes KnowledgeWorks, which supports ''rule-based'' or
logic programming
Logic programming is a programming, database and knowledge representation paradigm based on formal logic. A logic program is a set of sentences in logical form, representing knowledge about some problem domain. Computation is performed by applyin ...
(including support for
Prolog
Prolog is a logic programming language that has its origins in artificial intelligence, automated theorem proving, and computational linguistics.
Prolog has its roots in first-order logic, a formal logic. Unlike many other programming language ...
); the CommonSQL database interface; and a
Common Object Request Broker Architecture (CORBA) binding.
In September 2009, it was announced that LispWorks 6 would support
concurrent threads and the CAPI graphics toolkit had been extended to support
GTK+. LispWorks 6.1, released in January 2012, included many further enhancements to CAPI, such as support for anti-aliased drawing.
LispWorks ran on the
spacecraft
A spacecraft is a vehicle that is designed spaceflight, to fly and operate in outer space. Spacecraft are used for a variety of purposes, including Telecommunications, communications, Earth observation satellite, Earth observation, Weather s ...
Deep Space 1. The application called
RAX won the NASA Software of the Year award in 1999.
Releases
See also
*
Allegro Common Lisp
References
{{DEFAULTSORT:Lispworks
Common Lisp implementations
Common Lisp (programming language) software
Lisp (programming language)