FP(1) — UNIX Programmer’s Manual
名称
fp − 関数型プログラミング言語のコンパイラ/インタープリタ
形式
fp
解説
fp は、 John Backus によって発案された、実用的な言語の インタプリタ/コンパイラです。これは、 FRANZ LISP で書かれています。
この関数型プログラミング言語では、 意図は代入文や変数のない数学的スタイルで表現されます。 関数は、値だけを計算します。 計算の結果は入力に全面的に依存するため、 副作用はまったくありません。
fp 言語「プログラム」は、 「関数表現」(プリミティブな fp の関数とユーザの定義した関数が「関数形式」で 組み合わされたもの)で構成されます。 これらの形式は、関数の引数を受け取り、関数の結果を返します。 例えば、結合演算子 ‘@’ は、2つの関数引数を受け取り、 それらの結合を意味する 1つの関数を返します。 fp には、ただ1つのオペレーションがあるだけで、 それを「アプリケーション」といいます。
このオペレーションは、 単一の引数を入力として使用し (すべての関数は単独で)、 示された関数をシステムに評価させます。
開始
fp はシステムを呼び出します。 fp は関数をコンパイルして lisp(1) のソースコードを作ります。 lisp(1) は、 このコードを解釈します(ユーザは、 liszt(1) コンパイラを使用して、このコードをコンパイルし、 性能のファクタを 10 にすることができます)。 control-D を入力することによって、シェルへ抜け出ることができます。 break を入力すると、進行中の計算を終了させ、 オープンされているファイルユニットをリセットします。 )help は、すべてのユーザコマンドの簡潔な要約を表示します。
関連ファイル
/usr/ucb/lispFRANZ LISP インタープリタ
/usr/ucb/lisztliszt コンパイラ
/usr/doc/fpユーザズガイド
関連事項
The Berkeley FP user’s manual。 このドキュメントは、オンラインで使用可能になっています。 この言語については、1978年8月発行の CACM (John Backus によるチューリング賞講演)に記述されています。
バグ
終了していない関数がファイルのローディングの結果にあると、 制御は直ちにユーザに返され、ファイルのそれ以降はすべて無視されます。
FP は、広範囲な構文エラー、 複数行にわたる関数定義やアプリケーションの場所を 正しくマークしません。
著者
Scott B. Baden
NEWS-OSRelease 3.3