4.1cBSD/usr/man/man1/fp.1

Compare this file to the similar file:
Show the results in this format:

.ds s 1
.TH FP 1 "18 January 1983"
.SH NAME
fp \-  Functional Programming language compiler/interpreter
.SH SYNOPSIS
.B fp
.SH DESCRIPTION
.PP
.I Fp
is an
interpreter/compiler that implements the applicative language proposed
by John Backus.  It is written in
.SM
.BR "FRANZ LISP" .
.PP
Functional languages express intent
in  a mathematical style devoid of assigment statements
and variables.
Functional languages are also
.I applicative
since
the result depends solely on the inputs.  Computation, therefore,
is by
value only; there are no side effects.
.PP
.I Fp
"programs" consist of
.I functional expressions \-
primitive and user-defined 
.I fp
functions
combined by 
.I functional forms.
These forms take functional arguments
and return functional results.
For example, the composition
operator 
.I '@'
takes two functional arguments and returns a function
which represents their composition.
.PP
There exists a single operation in 
.I fp
\&\-
.I application.
This operation causes the system to evaluate the indicated function using
the single argument (all functions are monadic) as input.
.SH GETTING STARTED
.PP
.I Fp
invokes the system.  
.I Fp
compiles functions into
.IR lisp (1)
source code; the 
.I lisp
system
interprets this code.  To exit back to the shell type 
.I control D.
.I Break
terminates any computation in progress;  any open file units are
reset.
.SH FILES
/usr/ucb/fp is the executable file.
.br
/usr/ucb/lisp is the lisp interpreter binary.
.SH SEE ALSO
.PP
lisp (\*s), liszt (\*s).
.PP
.I The Berkeley FP user's manual,
available on-line.
The language is described  in  the August 1978 issue of  
.I CACM
(Turing award lecture by John Backus).
.SH BUGS
.PP
If a non-terminating function is applied as the result of loading a file,
then control is returned to the user immediately, everything
after that position in the file is ignored.
.PP
The system would run ten times faster if the lisp code were compiled
using the 
.IR liszt (\*s)
compiler.  This improvement will be made in the future.
.SH AUTHOR
Scott B. Baden