問題タブ [sml]

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 に答える
1050 参照

python - 命令型プログラミングから関数型プログラミングへの変換 [Python から標準 ML]

1 つの変数の多項式関数を評価する必要があることを示す関数仕様があります。関数の係数はリストとして与えられます。また、変数の値を実数として受け入れます。

例: eval(2, [4, 3, 2, 1]) = 26 (1*x^3 + 2*x^2 + 3*x^1 + 4*x^0、x = 2)

これはPythonの関数ですが、SMLに変換する方法がわかりません。関数のパラメーターを変更せずに反復値を渡す方法を見つけるのに苦労しています。実数 * 実数リスト -> 実数関数のままである必要があります。

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

algorithm - SMLで巡回セールスマンを解決するには?

Standard ML で巡回セールスマンの問題を解決できる人はいますか?教えてください。

私はたくさん試しましたが、成功していません。

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

list - StandardMLのリストからツリーに要素を挿入します

私は自分でSMLを学び始めたばかりで、チュートリアルからの質問に行き詰まっています。私が持っているとしましょう:

ツリーデータ型

挿入機能

整数リスト

私の質問は、リスト内の各要素をループしてツリーに追加する関数を追加して作成するにはどうすればよいですか?

あなたの答えは本当にありがたいです。

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

sml - SMLのカレー無名関数

私は以下の機能を持っています、そしてそれは働きます:

しかし、これは機能しません:

誰か教えてもらえますか?または、それを機能させるためのヒントを教えてください。

0 投票する
5 に答える
1351 参照

sml - SML/NJの不完全な一致

SML/NJコンパイラで非網羅的な一致警告をどのように処理するのだろうか。たとえば、データ型を定義できます

そして、FOOだけを取ると私が知っている機能を持っています

コンパイラは警告を出します

意図的に行った不完全な一致の警告は表示したくありません。出力をスキャンして、実際にはバグである可能性のある警告を見つける必要があるためです。このような関数を書くことができます

しかし、これはコードを乱雑にします。この状況で人々は通常何をしますか?

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

sml - infix、infixr、infixlの違い

サンプルプログラムで infix、infixr、infixl を使用している本を読みました。私は違いが何であるか疑問に思っています。infixr は右から左へ、またはその逆に操作を実行すると推測しています。

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

user-input - SML / NJ:ユーザー入力の取得

関数の実行中にユーザー入力を求めるにはどうすればよいですか?

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

haskell - 再帰の前に map/reduce/etc を教えたり学んだりした経験はありますか?

私が見る限り、Scheme を使用した関数型プログラミングで反復構造を教える通常の (そして私の意見では最良の) 順序は、最初に再帰を教えてから、map、reduce、およびすべての SRFI-1 手順などに取りかかることです。これはおそらく、再帰により、学生は反復に必要なすべてのものを持っているためです (また、必要に応じて SRFI-1 のすべてを書き直すことさえできます)。

SRFI-1 のいくつかの手順を使用し、それらが十分でない場合 (たとえば、関数を近似する場合) にのみ再帰を使用するという、逆のアプローチが試みられたことがあるかどうか疑問に思っていました。結果は良くないと思いますが、このアプローチの過去の経験について知りたいです。

もちろん、これは Scheme に固有のものではありません。この質問は、関数型言語にも当てはまります。

再帰の前に「アプリケーション プログラミング」(コンビネータの使用) を教えている本の 1 つに、Dave Touretsky のCOMMON LISP: A Gentle Introduction to Symbolic Computationがあります。

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

include - 2つの署名を含み、両方とも「タイプt」[標準ML]

不自然な例:

明らかに、これはでtype t2回発生する苦情を引き起こしCます。tしかし、2つを同等にして、最終的に次のようにしたいと表現する方法はありますか。

のようなあらゆる種類のばかげた構文を試しinclude B where type t = A.tましたが、当然のことながら機能しませんでした。試し忘れたことはありますか?

また、これは言語の構文に明らかな(または欠如している)ものがないかチェックすることで簡単に答えられることを知っていますが、インターネット上のどこにも完全な文法を見つけることができませんでした。

(FWIW、私がこれをやろうとしている実際の理由は、Haskellスタイルのモナドなどです。ここで、aはaとMonadPlusaの単なる混合です。現時点では、inの内容を繰り返しているだけです。理想よりも。)MonadAlternativeALTERNATIVEMONAD_PLUS