hindley-milner

    20

    2答えて

    タイプ推論の限界は何ですか?どのタイプのシステムには一般推論アルゴリズムがありませんか?

    2

    1答えて

    私は現在haskellにサーバーを構築しており、その言語の初心者として、新しいアプローチのzu Monadの構成を試してみたいと思います。アイデアは、私たちが根底にあるモナドを知らずに働く isGetRequest :: (SupportsRequests m r) => m Bool isGetRequest = do method <- liftRequests $ re

    11

    2答えて

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

    9

    1答えて

    ハスケルのSTモナドが正しく理解されている場合、runSTはモナドをエスケープする際に計算が他のスレッドを参照しないように賢明な方法でランク2型を使用します。 私はHindley-Milnerタイプのシステムでおもちゃの言語を使用しています。私の質問は次のとおりです.STモナドが安全になるようにrunSTアプリケーションを入力するアドホックルールを使用してHMタイプシステムを拡張できますか?脱税可

    10

    1答えて

    文字列として与えられたHaskell式の型の表現を取得するには、(素早く汚い)方法が必要です。しかし、ドキュメントはかなり迅速に私を失う - 使用GHCのAPI: は、私は現在、3つのオプションを参照してください。 他のタイプの推論ツールを使用する - 私はhaskell-type-extsを試してみることを提案されていますが、最も単純な表現以外のすべてのタイプを入力することはできません。私は他の

    1

    1答えて

    私は、通常私が使用する言語でアルゴリズムWを実装することで、ヒンドレーミルナー型の推論を教えようとしています、Clojure。私はlet推論の問題に遭遇しています。私が何か間違っているのか、私が期待している結果がアルゴリズム以外のものを必要としているのかどうかはわかりません。 Num a => t -> a しかし、私はこれを取得する必要があります: Num a => a -> a を、私

    9

    1答えて

    Hindley Milnerがsystem-fの制限事項を読んだことを覚えています。そうであれば、誰かが私がsystem-fで入力することができるが、HMでは入力できないいくつかの用語を私に提供してもらえますか?

    2

    2答えて

    私はHustley-Milnerを使ってRustの型推論がとても良いと読んでいます。 Rustにも可変変数があり、AFAIKは、HMアルゴリズムが過大化する可能性があるため、可変性で動作する場合にはいくつかの制約が必要です。以下のコード:第2の行の整数で推定された浮動小数点値を整数変数に割り当てることができないので let mut a; a = 3; a = 2.5; は、コンパイルされま