typeclass

    7

    1答えて

    私はHaskellに埋め込まれた言語で作業しています。私の言語はソースコードとして印刷することができるので、Compileクラスを作成し、印刷可能なすべてのプログラム要素に対してクラスインスタンスを作成しました。そうすれば、コードを構成的にダンプすることができます。これは、モードの概念が考慮される前にうまくいきました。 各言語は2つのモード(クラスModeのインスタンスとして実装)で使用できます。

    11

    3答えて

    typeclassesとAbstract Data Typesの違いは何ですか? これはHaskellのプログラマのための基本的なことですが、私はScalaのバックグラウンドから来ており、Scalaの例に興味があります。私が今見つけることができる最高のものは、型締めが「開いている」こととADTが「閉じている」ということです。また、タイプクォーターと構造タイプを比較して対比することも役立ちます。

    6

    1答えて

    高次ラムダ計算のエンコーディングでHaskell関数を持ち上げたい。これはOlegのTyped Tagless Finalのエンコーディングとほぼ同じです。 class Lam r where emb :: a -> r a (^) :: r (r a -> r a) -> (r a -> r a) lam :: (r a -> r a) -> r (r a -> r

    9

    1答えて

    特定のタイプのghciでの型定義を見る方法はありますか? instance Functor Maybe where fmap f (Just x) = Just (f x) fmap f Nothing = Nothing 私はGHCiの中で、これを見ることができます: は例えば、Maybeは次のように定義されていますか? 私はGHCiの中:infoを使用し、私はこの取得:

    8

    1答えて

    私はGHCでどのように強力な関数のオーバーロードがあるかを研究しています。私は、次のコードを書いている: class F_third_arg a where run_f :: (Integer, a) -> Integer instance F_third_arg Integer where run_f (_, x) = x instance F_third_arg S

    6

    3答えて

    なぜMonadTransが class MonadTrans t where lift :: (Monad m, Monad (t m)) => m a -> t m a -- ^^^^^^^^^^^ の代わりに、これは(Why aren't monad transformers constrained to yield monads?における提案とは異なり)のHaskel

    20

    1答えて

    だから、Haskellで、これを行うには本当に簡単です。 data Foo = Bar | Baz deriving (Read, Show) これは素晴らしいですが、私はできるようにしたいのですがいくつかのデータをHaskellからElm言語への文字列として渡します。言語が似ているので、もし私がHaskellのReadの実装をしていれば、手でElmに簡単に変換できます。 私が派生を

    6

    1答えて

    Eq typeclassの実装はどのように機能しますか? IntやFloatなどの実装を簡単に記述できます。しかし、可能性のあるすべての値コンストラクタに対してパターンマッチのようなことをする必要があるので、どのようにすべてのユーザタイプのキャッチオールが行われますか?私はこれを行うための構文を認識していない。 data Person = Person { firstName :: String

    9

    3答えて

    この機能は、間違っているとコンパイルされません。 checkIsZero :: (Num a) => a -> String checkIsZero a = if a == 0 then "Zero" else "Not zero" これが原因で表現a == 0でNumと0との比較では動作しません。 NumからIntegralに変更すると、これが有効な機能

    6

    3答えて

    これはInconsistent Eq and Ord instances?へのフォローアップの質問です。 質問は基本的にあります:タイプにEqとOrdインスタンスを宣言するとき、人はそのcompare x y戻りEQを保証しなければならない場合にのみx == y戻りTrue場合は?この仮定を破るインスタンスを作成するのは危険ですか?それは自然法則のように思えるかもしれませんが、それはPrelude