No Next Item No Next Conference Can't Favor Can't Forget Item List Conference Home Entrance    Help
View Responses


Grex Systems Item 110: The Lispy item.
Entered by cross on Wed Sep 8 15:34:19 UTC 2010:

This item is for discussion of all things Lisp.

Dating from 1958, Lisp is the second oldest language still in active 
use, predated only by FORTRAN.  There have been many Lisp dialects 
over the years, but only four have any real following:

Common Lisp: by far the largest, and in many ways the most complete 
dialect, Common Lisp emerged in the 1980s as a standard to unify the 
many research dialects of Lisp then in common usage.  It has undergone 
something of a renaissance in the past few years.

Scheme: Developed in 1975 by Gerald Sussman and Guy Steele at MIT, 
Scheme was originally designed as a vehicle for studying the then-new 
Actor model.  Originally called "Schemer", the present name is an 
artifact of the six character filename length limit on MIT's 
Incompatible Timesharing System (ITS), which ran on the PDP-10 Sussman 
and Steele used for the development of Scheme.  Though often thought 
of as a teaching language, because of its simplicity and small size, 
it's quite capable.  The GNU project uses Scheme as the basis of their 
Guile interpreter, the official embedded extension language for GNU 
programs.

Clojure: One of the new languages to emerge in the past few years that 
targets the Java virtual machine, Clojure is a modern dialect with a 
strong concurrency model and excellent Java interoperability support.

Emacs Lisp: The emacs extension language.  Not a particularly good 
Lisp, by Richard Stallman's own admission.  Included just for the 
sheer amount of emacs Lisp code out there.

2 responses total.



#1 of 2 by cross on Wed Sep 8 15:46:45 2010:

The origins of some Lisp nomenclature....

LISP is short for LISt Processing, and indeed, the eponymous data 
structure in Lisp is fundamental.

There are two basic operations for taking lists apart: one to take the 
first element in a list, usually called 'CAR' (called "first" in 
Clojure), the second to return the rest of the list, usually 
called 'CDR' (called "rest" in Clojure).  These operations owe their 
names to early Lisp implementations on the 36-bit IBM 704, 7090, and 
7094, which had operation codes for taking 15 bit values and storing 
them in a single 36-bit machine word (the other six bits were used as 
flags and the like).  These fields were called the address and 
decrement fields, and there were instructions that took the 'Contents 
of Address Register' and 'Condents of Decrement Register.'  The 
mnuemonics for these instructions eventually made their way into Lisp; 
it is with some sadness that one finds them missing from Clojure.

Paul Graham has written extensively on Lisp and the things that make 
it unique.  Among others, the notion of 'code as data'; that is, Lisp 
code is written as Lisp data (called forms, which are represented as 
nested lists).  This allows for all sorts of neat manipulations to be 
performed on code, which leads to the notion of macros, but not in the 
sense of the C preprocessor: Lisp macros work on entire expressions, 
and are quite capable of destructuring code.  Indeed, the whole of 
Lisp is available at compile-time during macro-expansion, leading to 
immense power.  More of Graham's thoughts on what makes Lisp unique 
are here: http://www.paulgraham.com/icad.html

I confess, Lisp is among my favorite programming languages.


#2 of 2 by tsty on Thu Dec 2 08:18:40 2010:

  
wereeh is dadroc . ... spoeeking of lisp ... 
  

Response not possible - You must register and login before posting.

No Next Item No Next Conference Can't Favor Can't Forget Item List Conference Home Entrance    Help

- Backtalk version 1.3.30 - Copyright 1996-2006, Jan Wolter and Steve Weiss