BSD 4_2 development
[unix-history] / usr / man / man1 / fp.1
CommitLineData
1b43bbee
C
1.ds s 1
2.TH FP 1 "28 April 1983"
3.UC 4
4.SH NAME
5fp \- Functional Programming language compiler/interpreter
6.SH SYNOPSIS
7.B fp
8.SH DESCRIPTION
9.PP
10.I Fp
11is an
12interpreter/compiler that implements the applicative language proposed
13by John Backus. It is written in
14.SM
15.BR "FRANZ LISP" .
16.PP
17In a functional programming language
18intent is expressed
19in a mathematical style devoid of assignment statements
20and variables.
21Functions compute by value only; there are no side-effects
22since the result of a computation depends solely on the inputs.
23.PP
24.I Fp
25"programs" consist of
26.I functional expressions \-
27primitive and user-defined
28.I fp
29functions
30combined by
31.I functional forms.
32These forms take functional arguments
33and return functional results.
34For example, the composition
35operator
36.I '@'
37takes two functional arguments and returns a function
38which represents their composition.
39.PP
40There exists a single operation in
41.I fp
42\&\-
43.I application.
44This operation causes the system to evaluate the indicated function using
45the single argument
46as input
47(all functions are monadic).
48.SH GETTING STARTED
49.PP
50.I Fp
51invokes the system.
52.I Fp
53compiles functions into
54.IR lisp (1)
55source code;
56.IR lisp (1)
57interprets this code
58(the user may compile this code using the
59liszt (\*s) compiler to gain a factor of 10 in performance).
60.I Control D
61exits back to the shell.
62.I Break
63terminates any computation in progress and resets any open file units.
64.I )help
65provides a short summary of all user commands.
66.SH FILES
67.DT
68/usr/ucb/lisp the FRANZ LISP interpreter
69.br
70/usr/ucb/liszt the liszt compiler
71.br
72/usr/doc/fp the User's Guide
73.SH SEE ALSO
74.PP
75lisp(\*s), liszt(\*s).
76.PP
77.I The Berkeley FP user's manual,
78available on-line.
79The language is described in the August 1978 issue of
80.I CACM
81(Turing award lecture by John Backus).
82.SH BUGS
83.PP
84If a non-terminating function is applied as the result of loading a file,
85then control is returned to the user immediately, everything
86after that position in the file is ignored.
87.PP
88FP incorrectly marks the location of a syntax error on
89large, multi-line function definitions or applications.
90.SH AUTHOR
91Scott B. Baden