typeclass

    1

    1答えて

    私はHaskellとRustの両方が新しく、HaskellコードをRustに翻訳して、一般性をサポートする機能を比較しようとしています。しかし、私は構文やRustの基本的な概念について助けが必要なようです。 私はHaskellでこのコードを持っている: class HasEmpty a where empty :: a isEmpty :: a -> Bool class

    4

    1答えて

    2種類の構成(1つはジェネリック(If)、もう1つは機能が追加されたif-then-elseブランチを可能にする小さなDSLを構築しようとしています。 (IfGE)。私は、低い優先度の暗黙的な特性を混在させると、Else操作のためにScalaがより正確な戻り値の型を選択できるようになりましたが、失敗しているという印象を受けました。ここには工事があります: :これは最小のケースです。以下は、文脈のよ

    0

    2答えて

    私は、Haskell型としてのクエリを特長とするセルベースのデータベースモデルの型レベル表現に取り組んでいます。私は、より複雑なクエリタイプから値を抽出しようとしたときに立ち往生しました。 は私が最初に動作し、あなたのコードをお見せしましょう: -- a model with datapoints defined by a list of "aspects" -- every aspect ha

    1

    1答えて

    変換関数を実行したくない場合は、いくつかのオプションがあります。 現在のオプションを処理するメソッドは次のようになります。 def writeOptionalXml[T](content: Option[T], mapFn: T => Xml): Xml = content match { case Some(c) => mapFn(c) case None => N

    6

    1答えて

    GHC拡張に関する私の知識を向上させるために、ユニットで数値を実装しようと決心しました。しかし、それは、ハスケルが行うオープンな世界の仮定のためにあまり実用的ではないことが判明しました。私が試してみて、私は結果の値があいまいでないことを期待しmultiply 1 1ような何かをすれば今 data Unit u a = Unit a data NoUnit instance Num a =>

    0

    1答えて

    はスニペット {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeFamilies #-} import Data.Proxy monadify' :: forall m sig. (Monad m, Sig sig) => Proxy sig -> Monadify m sig monadify' p = monadify p

    0

    1答えて

    でサブのクラスの特性におけるデフォルトの型クラスの実装私は次のような関係を持っている: trait Instrument trait EquityOption extends Instrument { ... } case class CallEquityOption(...) extends EquityOption case class PutEquityOption(...) ext

    2

    1答えて

    を入力情報とタイプクラスの実装を失う:それは持っていることの全体的なアイデアを中断しますので、caseを使用しない val xs: List[Foo] = ... xs.map(x => Doer(x)) // implicit not found since no implementation for type Foo. : trait Bar[I <: Foo] { def doSome

    7

    1答えて

    タイトルはそれをすべて言っています。 foldl1およびfoldl'はともにFoldableに一般化され、foldl1'は一般化されていません。これはちょうど最近の監督ですか?それともデザインの選択ですか? foldl1'の種類は、私はそれがfoldl1と同じ型を持つことが期待 foldl1' :: (a -> a -> a) -> [a] -> a です: foldl1 :: Foldabl

    0

    1答えて

    私のプロジェクト全体で型板を使用しようとすると、次の問題が発生しました。 trait FooAble[T] { def fa(t: T): List[T] } object Foo { def apply[T](t: T) = implicitly[FooAble[T]].fa(t) } trait BarAble[T] { def fb(t: T): Double } object Ba