FP(1) UNIX Programmer's Manual FP(1) NAME fp - Functional Programming language compiler/interpreter SYNOPSIS fp DESCRIPTION _F_p is an interpreter/compiler that implements the applica- tive language proposed by John Backus. It is written in FRANZ LISP. In a functional programming language intent is expressed in a mathematical style devoid of assignment statements and variables. Functions compute by value only; there are no side-effects since the result of a computation depends solely on the inputs. _F_p "programs" consist of _f_u_n_c_t_i_o_n_a_l _e_x_p_r_e_s_s_i_o_n_s - primitive and user-defined _f_p functions combined by _f_u_n_c_t_i_o_n_a_l _f_o_r_m_s. These forms take functional arguments and return functional results. For example, the composition operator '@' takes two functional arguments and returns a function which represents their composition. There exists a single operation in _f_p - _a_p_p_l_i_c_a_t_i_o_n. This operation causes the system to evaluate the indicated func- tion using the single argument as input (all functions are monadic). GETTING STARTED _F_p invokes the system. _F_p compiles functions into _l_i_s_p(1) source code; _l_i_s_p(1) interprets this code (the user may com- pile this code using the liszt (1) compiler to gain a factor of 10 in performance). _C_o_n_t_r_o_l _D exits back to the shell. _B_r_e_a_k terminates any computation in progress and resets any open file units. )_h_e_l_p provides a short summary of all user commands. FILES /usr/ucb/lisp the FRANZ LISP interpreter /usr/ucb/liszt the liszt compiler /usr/doc/fp the User's Guide SEE ALSO lisp(1), liszt(1). _T_h_e _B_e_r_k_e_l_e_y _F_P _u_s_e_r'_s _m_a_n_u_a_l, available on-line. The language is described in the August 1978 issue of _C_A_C_M (Turing award lecture by John Backus). BUGS Printed 12/27/86 April 29, 1985 1 FP(1) UNIX Programmer's Manual FP(1) If a non-terminating function is applied as the result of loading a file, then control is returned to the user immedi- ately, everything after that position in the file is ignored. FP incorrectly marks the location of a syntax error on large, multi-line function definitions or applications. AUTHOR Scott B. Baden Printed 12/27/86 April 29, 1985 2