問題タブ [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.

0 投票する
2 に答える
3761 参照

sml - SML で文字列を実数に変換する

実数の文字列表現を実数型に変換したい。できることはわかっていますReal.fromString("5.5")が、実数型は返されませんが、他の実数で乗算または加算できない実数オプション型が返されます。

0 投票する
2 に答える
822 参照

functional-programming - ocamlトップレベルからグラフィカルインターフェイスを構築できますか?

インタラクティブなトップレベルおよびグラフィカルUIプログラミングに関するいくつかの質問:

  1. ocamlトップレベルから動的にグラフィカルインターフェースを構築することは可能ですか?

  2. グラフィックライブラリも使用できますか?

0 投票する
2 に答える
146 参照

algorithm - リスト内の各値を相互に確認する

私はOCamlで作業しており、リスト内のすべての要素を互いにチェックする必要があるリストがあります。リストは、基本単位または派生単位のいずれかの単位のリストです。基本単位は m、s、g であり、派生単位は、kg、min、ft、lb など、m、s、g を使用する任意の単位です。

したがって、リストの例は [lb; フィート; m]。ft と m は同じ基本単位 m を共有しているため、このリストは無効です。より明確にするために[lb; kg; s] は無効になります。これは、lb と kg が同じ基本単位 m を共有しているためです。ただし [ft; s; m] は完全に有効です。これらの基本単位の変換は、ルックアップのためにハッシュに保持されます。

私の問題は、すべてのユニットを互いにチェックする方法です。折り畳みを使ってみましたが、頭が痛いです。誰でも私を助けることができますか?

0 投票する
7 に答える
4600 参照

functional-programming - OCamlを学ぶためにどの英語のチュートリアルをお勧めしますか?

OCamlを初心者に宣伝したいのですが、英語での良いチュートリアルを探しています。聞いたことがあるだけでなく、実際に試してみて便利だと思ったことは...

0 投票する
3 に答える
6084 参照

types - バリアントまたは多形バリアント?

私が知っているOCamlプログラマーの中には、常にポリモーフィックバリアント(宣言されていない、バッククォートが前に付いているバリアント)を使用するものもあれば、ポリモーフィックバリアントを使用せ、型で宣言されたバリアントを好むものもあることに気付きました。

パフォーマンス上の理由(ポリモーフィックバリアントは現在、単純なバリアントよりも効率が低い)を除いて、専門家のOCaml開発者はどのようにそれらから選択しますか?

0 投票する
2 に答える
683 参照

common-lisp - SML (Poly) には CL のような REPL がありますか?

以下は、Ron Garret の "Lisping at JPL" からの引用です。

「1 億マイル離れた場所にある 1 億ドルのハードウェアで実行されているプログラムをデバッグするのは興味深い経験です。宇宙船で実行されている読み取り - 評価 - 印刷ループは、問題を見つけて修正する上で非常に貴重であることが証明されました。」

どこに飛び込むかを決めようとしている初心者として、私は ML に傾倒しています。なぜなら、以前のプロフが絶賛し、ラムダ計算の議論を ML と統合し、ML がかなり正気に見える多くの本を見つけたからです。(最終的にはこれを教えるつもりです。)

では、ML には、Lisp のように実行中に「コードを追加」できる REPL がありますか? つまり、Garret 氏の $100M のハードウェアが ML で実行されている可能性はありますか?

0 投票する
1 に答える
2533 参照

list - 標準 ml ソーティング 3 要素

入力として 3 つの要素を取り、最小から最大の順に並べ替えられた並べ替えられたリストを返す標準の ml 関数を作成しようとしています。min、max、および mid 要素を取得する 3 つのヘルパー メソッドを使用しました。コードは以下のとおりです。

以下はintを扱うときに完全に機能しましたが、それらを実数に変更すると、ヘルパーメソッドは正しい結果を返しましたが、次のソートメソッドを入力するとエラーが発生しました(エラーテキストをコピーできなかったため、スクリーンショットを撮りました) :

ここに画像の説明を入力

コードで何が間違っている可能性がありますか? ありがとう

また、ここに投稿した方法以外に 3 つの要素を並べ替える別の方法はありますか?

0 投票する
2 に答える
1472 参照

types - 標準 ML では、'a * 'a -> bool 型の関数を定義するにはどうすればよいですか?

標準 ML で 2 つのパラメーターを取り、bool を返す関数を作成しようとしています。2 つのパラメーターは仕様で任意の型にすることができますが、'a * 'a -> bool試してみると、2 つのパラメーターが自動的に int になります。関数がタイプ 'aの2つのパラメーターを取るようにするにはどうすればよいですか。

以下は、実装しようとしている関数です。

しかし、上記の関数を書いた後、私が得るものは次のとおりです:

そして私が欲しいのはこれです:

機能させるにはどうすればよいですか?

0 投票する
4 に答える
4801 参照

list - OCaml のリストから要素のリストを返す

私はOCamlを初めて使用し、 list のxインデックスで特定のリストの要素のリストを返す関数を実装しようとしていますy

たとえば、その関数は次の計算を実行する必要があります。[5,6,7,8], [0, 3] => [5, 8]

一時変数を ML に保存する方法がわかりません。また、それがどのように機能するかについても明確な考えがありません。ただし、指定されたインデックスを指定してリストから要素を見つける方法は知っています。

Listどんなアイデアでも大歓迎ですが、再帰関数を使用してモジュールを避けたいと思います。