type-inference

    6

    1答えて

    私は、任意のリストを操作する抽出という関数をテストしています。 extractions :: [a] -> [(a,[a])] extractions [] = [] extractions l = extract l [] where extract [] _ = [] extract (x:xs) prev = (x, prev++xs) : extract xs

    4

    3答えて

    型推論の際に変換を推論する方法(暗黙の変換など)を知りたい。私はBastiaan HeerenのTop Quality Type Error Messagesで説明されている型推論スキームを使用していますが、一般的な考えはすべてのHindley-Milner-esqueアプローチではおそらく同じであると仮定します。 強制的な処理は過負荷の一種として扱うことができますが、この文書で説明されている過負

    6

    3答えて

    Cabbage.hs: module Cabbage where class Cabbage a where foo :: a -> String -- the parameter is only present for its type, -- the parameter value will be ignored bar :: String -

    10

    3答えて

    メンバー型がScalaでどのように機能するのか、型をどのように関連付けるべきかを知りたいと思います。 1つのアプローチは、関連付けられたタイプをタイプパラメータにすることです。このアプローチの利点は、タイプの分散を処方できることです。サブタイプがタイプを変更しないことを確信できます。欠点は、関数の型から型パラメータを推論できないということです。 第2のアプローチは、私はサブタイプ関連するタイプに境

    59

    4答えて

    私はハスケルを初め、「無限型を構築できません」というエラーに直面しています。 実際には、このエラーが何を意味するのかについての良い説明を見つけることができませんでした。私の基本的な質問を超えて「無限のタイプ」のエラーを説明できれば、それ。 は、ここでは、コードです: intersperse :: a -> [[a]] -> [a] -- intersperse '*' ["foo","bar"