問題タブ [ml]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sml - ML - データ型と関数
次の dayatype があります。
および 2 つの関数:
さて、本は別の関数を定義しました:
z
functionの が何であるかわかりませんでしたadd_complex
。
それは Polar ですか (つまり、Z=polar(a,b) と書くことができますか? もしそうなら、コンパイラはどのようにそれを知っていますか? 意味 - az を取得し、それを polar 変数に解析しますか?
もしそれが極性でなければ、それは何でしょうか?
list - リスト要素がオプションタイプである言語(標準ml/ocaml/f#/haskell/etc)のようなmlはありますか
[] (空のリスト) と None/Nothing はとても似ているように思えます。その言語ファミリーのいずれかに、各要素がオプションでテール ガードが Nothing である基本的なリスト型があるかどうか疑問に思っていました。
パターンマッチングリストが過度に冗長になるため、(別の型を持つ言語ではこのように行われません) ですか?
f# - Little ML'er-F#の良いトレーニングですか?
F#について理解したいのですが、F#はMLの派生物であるOCamlに基づいているので、「TheLittleML'er」という本が役立つかどうか疑問に思いました。または、MLはF#とはあまりにも異なっているので、役に立ちませんか?
ありがとう。
ml - StandardML のセットのセットで型が衝突する問題
私はオンラインブック "Computational Category Theory" http://www.cs.man.ac.uk/~david/categories/book/book.pdfをよく読んでいますが、この本の問題 2.10 に問題があります。特に、パワーセットの定義で。
パワーセット関数は、付録 D の回答から得られます。次に、セットのパワーセットを作成します。
整数のセットの基数を計算できるのに、整数のセットの基数を計算できないのはなぜですか? 私は何か間違ったことをしていますか?
sml - SML におけるファンクター構造の拡張と複数の帰属
標準 ML で、渡された構造体のすべての機能と新しい機能を備えた構造体をファンクター出力にする方法はありますか。
同様に、複数の帰属を行うことは可能ですか?上記の場合、ファンクタの出力を元の構造のシグネチャと新しい機能を指定する別のシグネチャの両方に帰することができるため、すぐに役立ちます。
そのようなことをすることの意味と、それが悪い考えである理由を理解しています。現在、渡された構造体のコピーをファンクター出力内に保持しているだけですが、これは、基本機能にアクセスするための「Foo.Bar.func」の長いチェーンがあることを意味します。
ありがとう
module - カスタムモジュールでコンパイルする方法
2 つの .ml でプロジェクトをコンパイルしようとしていますが、そのうちの 1 つはこの形式に従うモジュールです。
myModule の .mli も作成しました
しかし今、main.ml で Mymodule.myfunction を呼び出すと、"Unbound value Mymodule.myfunction"
.
これが私のmakefileです(標準のOcamlMakeFileもあります):
私は検索していくつかのことを試しましたが、何も機能していません:(
回答ありがとうございます。リンクしたチュートリアルに従いましたが、SDL リンクに問題があります。
そして、私はこの行を使用してコンパイルしています:
f# - F#で相互再帰関数を書く際の問題
このデータ型を操作する Little Mler の関数を翻訳しています
関数
ただし、2番目の関数でこのエラーが発生します
f# - f# での関数定義に適したスタイルは次のうちどれですか?
これらのうちどれがより良いスタイルで、その理由は?
sml - ドキュメントを探すのに苦労しているsml構文
次のコードで値渡しの結果関数を「シミュレート」しようとしていますが、構文エラーがあるようです。私はsmlのチュートリアルを見てきましたが、これがうまくいかない理由を理解するのに苦労しています
recursion - 関数型言語でのクイックソートの実装
宿題のために SML でクイックソートを実装する必要があり、道に迷っています。以前はクイックソートの実装方法に慣れていなかったので、それについて読みましたが、読んだ実装はすべて命令型でした。これらはそれほど難しくないように見えますが、クイックソートを機能的に実装する方法がわかりませんでした。
ウィキペディアにはたまたま Standard ML (私の課題に必要な言語) のクイックソート コードがありますが、それがどのように機能するのかわかりません。
ウィキペディアのコード:
特に、次の行がわかりません: qs (filt lessThanP xs) @ p :: (qs (filt (not o lessThanP) xs))
. filt は、p* 未満の xs 内のすべてのリストを返します。これは p と連結され、>= p.* のすべてにコンスされます。
* << (x, p) 関数が x < p のときに true を返すと仮定します。もちろん、そうである必要はありません。
実際、これを入力すると、何が起こっているのかを少し理解するのに役立ちます。とにかく、私はその SML 関数を wiki のクイックソート疑似コードと比較しようとしています。
関数クイックソート(配列、「左」、「右」)
パーティションが次のように定義されている場所
では、パーティショニングはどこで行われているのでしょうか。それとも、SML のクイックソートについて間違って考えているのでしょうか?