On Thu, 15 Feb 2018 19:51:14 -0500 Dan Cross <crossd at gmail.com> wrote:
Dan Cross writes:
>> On Thu, Feb 15, 2018 at 7:01 PM, Dave Horsfall <dave at horsfall.org> wrote:
>> > On Wed, 14 Feb 2018, Toby Thain wrote:
> >
> >> ALGOL, one of the most influential languages ever, with just about every
> >>> programming language in use today tracing its roots to it.
> >>>
> >>
> >> Worth mentioning one significant exception: the Lisp family.
> >>
> >
> > I know about LISP (and even used it); it's on my history list.
> >
> > Actually, I can't think of any language that derived exclusively from LISP
> > (other than Scheme etc)... Oh, and EMACS :-)
> >
>> There were (and are!) a whole bunch of dialects of Lisp: Common Lisp and
> Scheme might be the best known, with Clojure a modern entrant. Arc is sort
> of a thing. Most folks know about emacs Lisp. All of these derive from the
> original Lisp.
Scheme's lexical scope and block structure came from Algol.
The rest from Lisp. The joke was that the shortest and longest
language specs were of lisp dialects. The C++ spec may be
longer now.
> But there were a whole slew of historical dialects descended from Lisp 1.5:
> MacLisp, InterLisp, FranzLisp, Lisp Machine Lisp, the original variant
> implemented by Symbolics before they adopted Common Lisp, Portable Standard
> Lisp...and any number of others that were implemented as extension
> languages: AutoLisp from AutoCAD, the aforementioned Emacs Lisp, the
IIRC AutoLISP came from David Betz' Xlisp. Before it became a
superset of Scheme.
> So, how's this relevant to Unix? Well, I'd like to know more about the
> historical interplay between the Unix and Lisp communities. What about the
> Lisp done at Berkeley on the VAX (Franz Lisp).
>> One of the things that strikes me about Lisp and Unix is the conceptual
> similarity between image based languages (like Lisp) with a REPL and the
> Unix "process as virtual machine" model with a shell and set of utilities.
> An image is a sort of virtual machine and a REPL is a sort of shell;
> callable functions in the REPL are sort of like discrete programs in the
> $PATH. To a first order approximation, at any rate.
They feel very different to me. Lisp was/is a closed world
& its FFI (foreign func. interface) always seemed like an
afterthought. In a shell you can string together programs
written in any language so long as they input/output text
lines. Its pipe symbol allowed infix notation for function
composition. As a programming language I prefer Scheme over
almost everything else but have to admit that most of my
oneliner scripts are in sh and I mostly program in Go these
days.