sml

    -1

    2答えて

    それ自身を含む他のデータ型を含むデータ型SETをループしようとしています。ループ関数を使用してそれらのデータ型を出力します。 fun printEXP(SET(hd::tl::[])) = let fun loop (hd::tl) = printEXP(hd):: loop tl | loop [] = []; in() end; ... 私はタイコンのミス

    2

    1答えて

    datatype 'a stream = Nil | Cons of 'a * (unit -> 'a stream); exception Bad of string; fun from seed next = Cons (seed, fn() => from (next seed) next); fun head (Nil) = raise Bad "got n

    2

    1答えて

    を使用して含まれています: val alphabet = "abcdefghijklmnopqrstuvwxyz"; val charalphabet = explode alphabet; val str = "the quick brown fox"; val res = Char.contains(str, charalphabet); 私は文字列を比較しようとしていますので、これ

    1

    2答えて

    Appelの "Modern Compiler Implementation in ML"の本でTiger Parserを生成するCh3プログラミング演習を行っています。私のtiger.grmファイルはhereです。私が診断しようとしているエラーは、単項演算子と二項マイナス演算子の規則に起因するreduce-reduceの競合です。私はMINUSよりも高い優先順位を持つUNARY定義され、%pre

    0

    1答えて

    以内に私はこの機能を持っている: addBinaryTreeNode((genRandomNumber(100), genRandomNumber(100), genRandomNumber(100)), tree, 1, []) データ型「binaryTree」を返します。それはそれ自体であるときには、コンパイルされますが、私は機能にそれを持っている場合: generate3DNodeTre

    1

    2答えて

    WindowsマシンでSML/NJの乱数ジェネレータをシードする方法は? 関数Random.rand()は、一対の整数をとり、それらを使って乱数ジェネレータをシードします。他のプログラミング言語の経験に基づいて、システムクロック(Cのsrand(time(null));のようなもの)に基づいてシードする比較的簡単な方法があると思います。明白な何かを見落とさない限り、少なくともWindowsを使用し

    1

    1答えて

    私はMLプログラミング割り当てを持っていますが、いくつかの関数では、カウントを続けると便利です。例えば、ある関数では、要素が現れるインデックスのリストを返す必要があります。私は関数呼び出しが私のカウントを殺すように、再帰でこれらのものを追跡する方法を知らない。現実の世界では、私はカウント変数についていくつもりですが、それは学校での選択肢ではありません。任意のヒント?

    1

    1答えて

    以下は、入力f =単項関数、& b =積分を取る範囲、およびn =分割するサブ間隔の数で与えられる台形法を使用して確定積分を計算するSMLコードです〜の範囲。 fun integrate f a b n = let val w = (b - a)/(real n) fun genBlock c = let val BB = f c val SB = f (c+w) i

    2

    2答えて

    私はこれのタイプ選択部分の意味を解読しようとしています。私が集めることのできるところから、それはintによって(int -> int)によって、別のintによって乗算されます。私はちょうど(int -> int)の意味について混乱しています。どんな助けでも大歓迎です。 val callcc = SMLofNJ.Cont.callcc val throw = SMLofNJ.Cont.throw

    1

    1答えて

    文字列とインデックス値を引数とする再帰的なML関数を作成し、指定されたインデックスに文字列を分割します。この関数は、2つの文字列を含むリストを返さなければなりません。 インデックスに達しているかどうかを確認する2つの基本ケースと、文字列に文字列がないかどうかを確認する2つの基本ケースが必要であると理解します。私はどのように文字を別の文字列に割り当てるかにつきまとう。注意しておきますが、ヘルパー関数