In the Linux distro. I'm using it works like this:
Code:
clisp -x '(EXT:EXECUTE "/usr/bin/echo" "barf" )'
i i i i i i i ooooo o ooooooo ooooo ooooo
I I I I I I I 8 8 8 8 8 o 8 8
I \ `+' / I 8 8 8 8 8 8
\ `-+-' / 8 8 8 ooooo 8oooo
`-__|__-' 8 8 8 8 8
| 8 o 8 8 o 8 8
------+------ ooooo 8oooooo ooo8ooo ooooo 8
Welcome to GNU CLISP 2.49 (2010-07-07) <http://clisp.cons.org/>
Copyright (c) Bruno Haible, Michael Stoll 1992, 1993
Copyright (c) Bruno Haible, Marcus Daniels 1994-1997
Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998
Copyright (c) Bruno Haible, Sam Steingold 1999-2000
Copyright (c) Sam Steingold, Bruno Haible 2001-2010
Type :h and hit Enter for context help.
barf
NIL
Bye.
In the implementation on the Linux distro. I use, if I point my browser at
Code:
/usr/share/doc/packages/clisp/doc/impnotes.html
and page down past the revision history, I get an actual manual that I
can go through describing the current implementation. Since this is a
non-*NIX Forum, if you're not using Unix/Linux or something compatible,
you might look for just the impnotes file somewhere in the directory
hierarchy of the clisp installation.
In fact, the first 28 chapters of that manual seem to be just the chapters from:
CommonLisp Spec. at MIT
Chapter 32 covers Platform Specific Extensions, including executing
an external command in a shell. So if that's the sort of think you
mean by an "external program", and what's "Platform Specific" is
what you'd consider "implementation dependent", then it's
implementation dependent. Otherwise, if you're talking about
just connecting two clisp programs to one another, I believe you
might be able to accomplish that with the standard Stream stuff,
Chapter 21.
HTH.