type-inference

    13

    1答えて

    私はFileInfoのシーケンスを持っていますが、文字列の名前だけを気にするので、文字列のシーケンスが必要です。最初は私はこのような何か試してみました: Seq.map (fun fi -> fi.Name) fis をしかし、いくつかの理由で、F#の型推論はこれを可能にするのに十分に良好ではない、と私は明示的に 『Fiの』にタイプを与えて作っ: Seq.map (fun (fi : File

    11

    2答えて

    Hindley-Milnerは、よく知られている多くの関数型プログラミング言語の型システムの基礎となる型システムです。 Damas-Milnerは、Hindley-Milner型のシステムで型を推定(推論する)アルゴリズムです。 Wikipediaは、私が知る限り、「統一」という単一の単語に相当するアルゴリズムの説明を提供します。それはすべてそれにあるのですか?もしそうなら、それは興味深い部分が型

    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 -

    18

    3答えて

    F#の値制限がどのように機能するのか分かりません。私はwikiとMSDN documentationの説明を読んだ。私は理解していないことである。 例えば、これは私に(this質問から撮影)値の制限のエラーを与えるなぜ、: let toleq (e:float<_>) a b = (abs (a - b)) < e しかし、THSはしていません: これは、すべての権利を一般化され let to

    1

    1答えて

    これは私のコードです: type Cell<'t>(initial : 't) = let mutable v = initial let callbacks = new List<'t -> unit>() member x.register c = callbacks.Add(c) member x.get() = v member x.set

    1

    2答えて

    これは仕事ととしてOKです (そこに多くの種類があり、すべてが本当に公開されていない心配しないでください!)私は public class DataInfo<T> { public DataInfo(string description, Func<T, object> funcToGetValue) { this.description = descriptio

    10

    3答えて

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

    59

    4答えて

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

    4

    4答えて

    この質問は、優秀なファンタジーの新しい章を読んでいる間に、アプリケーション・ファンクターについてのハスケルです。 のApplicative型クラスは、たぶん、インスタンスの定義の一部として、があります。 pure = Just 私はちょうどGHCiのと輸入Control.Applicativeに行き、そしてそうした場合: pure (3+) Iドンちょうど何かを得る(意味をなさない)。私は