typeclass

    4

    2答えて

    我々は[Int]は値レベルの導出を取得するためにDict {-# LANGUAGE ConstraintKinds, GADTs #-} data Dict (p :: Constraint) where Dict :: p => Dict p と proof = Dict :: Dict (Show [Int]) あり方法を使用して表示するインスタンスを持っていることを値のレ

    1

    2答えて

    もっと一般的なコードを書く方法を学ぶために、私は という簡単なArrayクラスを書こうとしました。考え方は、単純な配列操作 だけをArrayクラスが提供する関数で記述し、異なるデータ型をインスタンスとして記述することです。 だから私は配列の異なる表現を書いてみたいです。 最初の試みとして、配列にはいくつかの行と列と折り畳み可能なコンテナがあります。 module Array where imp

    7

    0答えて

    なぜGHCiの私は、パターンマッチングによって構築この機能matchIntの型シグネチャにequality type制約をリストしない:単純なデータコンストラクタを使用する場合とは対照的に $ ghci GHCi, version 8.2.1: http://www.haskell.org/ghc/ :? for help Prelude> :{ Prelude| matchInt 1 =

    7

    1答えて

    次のコードでは、GHCはMonoidalインスタンスの定義でFunctorインスタンスを見つけることができません。 GHCががApplicative制約が満たされるを与えられたことを推測されていないのはなぜ、その後、Functorはすでにどこかにあることをを持っていますか? import Prelude hiding (Applicative (..), Monad (..)) class F

    6

    1答えて

    自然数が決定的な総順序をサポートしているので、ascii型に決定可能な合計順序が誘導されます。 Coqでこれを表現する簡潔で慣用的な方法は何でしょうか? (タイプクラス、モジュールなどの有無にかかわらず)

    3

    1答えて

    なぜkoが型チェックをしないのか分かりません。 特に啓発的な説明がありますか? {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE NoMonomorphismRestriction, FlexibleInstances #-} module Wrap where class Exp

    9

    1答えて

    固定します。代わりに、GHCはそれがFoo a => SomeClass aインスタンスを使用して、そうしなければならない前提としています Foo.hs:16:17: Could not deduce (Foo a) arising from a use of ‘bar’ from the context (SomeClass a) bound by the typ

    6

    1答えて

    でループから相互に再帰的なデフォルトメソッドの防止、私は現在、次のような構造持っている: class F a where f :: ... default f :: (G a...) => ... f = (some definition in terms of g) class F a => G a where g :: ... defaul

    3

    1答えて

    Bifunctorを使用している場合は、firstとsecond「マップ」機能にアクセスできます。ですから、基本的にはFunctorで、fmapの2つの異なる方法があります。 Monoidのようなものがありますか? 2つの異なる方法で追加できる概念 たとえば、不透明なMatrixタイプを想像してください。リストやベクトルのベクトルではありませんが、内部でどのように構造化されているのかわかりませんが

    2

    1答えて

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