0

私は SML を学んでいますが、次の教科書のコードでエラーが発生する理由がわかりませんでした:

fun  recip (x,y) = let val t = x *x + y *y in (x /t, ~y/t) end;

エラーは次のとおりです。

Exception- InternalError: asGenReg raised while compiling

これは Poly/ML 5.7.1 にあります。

このコードは、複素数の逆数を計算し(x,y)ます。;場所に括弧を追加しようとしましたが、役に立ちませんでした。

奇妙なことに、次の変更された (間違った) 定義はエラーなしで機能します。

fun  recip (x,y) = let val t = x *x + y *y in (x, ~y/t) end; 

エラー メッセージはあまり情報を提供しません。

エラーの場所と修正方法を説明してくれる人はいますか?

4

1 に答える 1