9

私は現在、F# を学習して数か月が経ち、F#を学習するための最大の資産は、John Harrison による" Handbook of Practical Logic and Automated Reasoning " ( WorldCat ) のOCamlコードをF# に翻訳することです。

これは非常に効果的な学習方法であるため、より多くの本のコードを F# に翻訳する予定ですが、主に関数型の概念現実世界のアプリケーションに焦点を当てた本は、通常AIコンパイラー定理証明などの関数型言語で記述されることで知られています。および推論アシスタント

プログラムをある言語から別の言語に翻訳するのは些細な作業かもしれないと思うかもしれませんが、実際にはそのようなことを行うと、言語だけでなく、翻訳を行うために学習し理解しなければならない環境やツールにも違いが生じます。両方の言語とその環境の深さを探る必要がありますが、それについて読んだだけでは通常は考慮されません。たとえば、Ocaml を F# に変換する際に、トップレベルocamldebugとタイム トラベル、トレースと F# にこれがあればいいのに、camlp4とそれが F# に存在しない方法、例外処理のパフォーマンスの違い、および型の推論を学びました。F# を実験したり本を読んだりするだけでは理解できない方法で、対応する F# を理解することを余儀なくされました。

関数型プログラミングの概念をカバーするソースコード、できれば関数型のソースコードを使用/含む本、または通常は関数型言語で書かれた現実世界のアプリケーションであり、ソースコードを翻訳することで関数型プログラミングの学習に役立つ本を他に知っていますか? F#に?

この目的を主観的ではなく保つために、答えはそれが重要である理由を説明する必要があり、本を閲覧しただけでなく、本を使用した必要があります. 私は、関数型プログラミングを何年も行っていて、そのような本を読み進めることが関数型プログラミングで成功するための鍵であることに気付いた人々からの回答を探しています. 回答の例:

編集

私は保留して、より良い回答が受け入れられるのを待ちたいと思いますが、SOで数日後にビューが大幅に減少することを知りました.

どちらの回答も、その本に詳しくない人にとっては素晴らしいものであり、ほとんどの本をまだ知らず、コピーを持っていない場合は、購入を真剣に検討するだろう.

PAD は私が求めていたより高度な本に注目したので、私は彼に承認票を投じます。受け入れを分割できれば、私はそうします。

4

2 に答える 2

8

あなたのリストは私にはとても恐ろしく見えます。より基本的なものをいくつか提案します。

  1. 岡崎による純粋関数型データ構造の本。この本では SML 表記を使用しています。その例を F# に変換することは、ファンクターがないために困難です。しかし、そのメリットは非常に大きいです。プロセス中に多くのことを学び、F# コミュニティを大いに助けることができます。@Jack P. が述べたように、これらのデータ構造の多くはF# に移植されています。彼らはあなたにとって素晴らしいスタートになるかもしれません。

  2. Paulson によるワーキング プログラマーのための ML 。帰納法を使ってプログラムの正しさを証明する部分が特に好きです。ラムダ計算のインタープリターの記述戦術的定理証明者など、この本のいくつかの大きな例は興味深いものであり、関心のある分野に近いものです。

  3. Hudak によるHaskell School of Expression 。この本は、現実世界のエキサイティングなアプリケーションで完了するため、非常に楽しい時間と達成感を与えてくれます。さらに、この本には DSL の設計に関する有益な情報がたくさんあります。

試行錯誤しながら F# を学び続けているあなたの粘り強さに感服します。ジョン・ハリソンの本の後に生き残ることができれば、あなたにとって挑戦的に見える本はほとんどないと思います. F# にはない別の関数型言語で実際のアプリケーションを見つけて移植することをお勧めします。たとえば、本の例から、CoqIsabelle、またはHol-lightに似た単純な証明アシスタントを F# で作成することはそれほど遠くありません。

于 2012-09-30T18:02:59.370 に答える
3

あなたの質問に記載されているタイトルを考えると、あなたはすでに基本よりもはるかに進んでいます。しかし、ファンダメンタルズについて話すと、次のことを考慮することをお勧めします。

Richard Bird、Philip Wadler - Introduction to Functional Programming、第 1 版 ISBN:0134841891 (本の FP 言語は Miranda)

そしていつの時代もクラシック

Harold Abelson および Gerald Jay Sussman - Structure and Interpretation of Computer Programs、第 2 版 ISBN:0262011530 (本の FP 言語は Scheme です)

于 2012-09-30T17:30:26.897 に答える