2016-08-25 9 views
-2

ラムダ計算からファイルの読み込み、ディレクトリの変更、文字列の作成などの基本的なストック関数への到達方法を示すLISPの書籍はありますか?ラムダから関数へのアクセス方法は? (LISP)

編集:含まれている関数の実行に関するチュートリアルを探していません。むしろ、ファイルの取り扱いや文字列の作成などを行うLISPの低レベル関数をどのように書くのかを考えています。

+0

ラムダ計算は、これまで以上に何かを決してことができます参照してくださいそれは現在ありません。関数を使って物をエンコードすることができますので、次の日食や次の大きな素数を計算することができますが、ファイルにアクセスすることは決してありません。そのためには、より多くのプリミティブが必要です。これらのプリミティブは、言語に対してより多くの計算能力を与えるものではなく、完全にチューリングする必要のない実用的な特徴を与える。 – Sylwester

+0

@シルウェスターああ私は理解しています。私はLISPが最初にこのようなことをしたという印象を受けました。 – user6713532

+0

ラムダ計算はLispとほとんど関係がありません。それは学問的なことです。 John McCarthyと彼のチームがLispを実装したとき、ラムダ計算を理解することさえできず、その結果ラムダには語彙的スコープが欠けていました。 – Kaz

答えて

1

ファイルの扱いなど、Lispで実用的なプログラミング作業、に焦点を当てた書籍を探しているなら、私はピーター・サイベルによる「実践Common Lispの」をお勧めすることができます - http://www.gigamonkeys.com/book/

+0

ありがとう、私はこれを見て既に含まれている関数を実行する方法を示しますが、私はこれらの基本機能の独自のバージョンを書く方法についてもっと詳しく知りたいですか? LISPが累積的にすべてを行うlambdaに基づいている場合は、ラムダからファイル処理にどのように移行するかを示す何かがありますか? – user6713532

+0

ファイルは本質的に副作用の化身であり、AFAIKはラムダ計算が実際に副作用に関与しないと主張することができます。したがって、ラムダ計算の範囲内でファイルを生成しようとする試みは、私にとって非常に興味深い演習のように聞こえます:-)しかし、私は[副作用を伴うラムダ微積分](http://ocw.mit .edu/courses/electrical-engineering-and-computer-science/6-827-multithreaded-parallelism-languages-and-compilers-fall-2002/lecture-notes/L14LambdaSide.pdf)ので、いくつかの回答を見つけることができます。 –

+0

興味深いことは不可能なのですか?しかし、関数が実行されている間は、関数の外部の状態の変化ですが、すべての関数に入出力があるため、入力/出力をファイルにする必要があります。しかし、私はCが新しいLISPを構築するために使用される例を見てきました。ハードウェアの統合のために、より低いレベルの言語が必要かもしれません。 – user6713532

関連する問題