これは私の最初のSMLプログラムです。私はリスト形式のHofstadterの女性または男性シーケンスのn番目の番号に最初の番号を返す関数を記述しようとしています。私はこれまで持っていることは次のとおりです。 val m = fn (n) => if n = 0 then 1 :: [] else m f (n - 1);
val f = fn (n) => if n = 0 then 0 ::
私はSMLには新しいので、関数splitup:int list -> int list * int list整数は2つの整数リストから作成されます.1つは非負の項目を含み、もう1つは負の項目を含みます。ここで は私のコードは次のとおりです。 fun splitup (xs :int list) =
if null xs
then ([],[])
else if hd
SMLのパターンマッチングについては疑問があります。 「Programming Language Pragmatics(Second Edition)」の本では、関数内でパターンマッチングを使用するとSMLで同じ変数を複数回表示することはできません。パターンマッチングは、関数が定義されたパターンで見つかるかどうかをチェックし、変数がお互いに関連しているかどうかをチェックするためのものです。しかし、
シグネチャで多形参照定数を定数にする方法はありますか? このコードはコンパイルが、私は必要なものではありません。 signature NAME = sig
type 'a name
val empty : 'a name
end
structure Name :> NAME = struct
datatype 'a name = Nil | Val of 'a