type-constraints

    0热度

    1回答

    我有一个数据类型,只有在它的参数可以排序时才有意义,但是我似乎需要深入研究一些复杂并且可能有害的东西才能使其工作(主要是GADT)。 是我在做什么(受限数据类型)认为不好的haskell练习,有没有解决这个问题的方法? 对于那些有兴趣,这里的相关代码: {-# LANGUAGE GADTs #-} {-# LANGUAGE InstanceSigs #-} import Data.List (

    0热度

    2回答

    我正在尝试使用scala-cass来读取cassandra并使用resultSet.as[CaseClass]将结果集转换为case类。这在运行以下工作时效果很好。 import com.weather.scalacass.syntax._ case class TestTable(id: String, data1: Int, data2: Long) val resultSet = se

    2热度

    1回答

    我有泛型类型IMyGeneric<T> where T : IBase。 如何获取所有类型在ninject中继承IMyGeneric<T>? 我尝试这样做: this.kernel.GetAll<IMyGeneric<IBase>>(); ,但不工作及其返回0的结果。 我能得到所继承IBase一切,然后foreach所有类型和使用this.kernel.Get(type)但后来我不得不IEnu

    15热度

    1回答

    下面描述的所有实验都是用GHC 8.0.1完成的。 此问题是RankNTypes with type aliases confusion的后续行动。这个问题有归结为类型的像这样的功能... {-# LANGUAGE RankNTypes #-} sleight1 :: a -> (Num a => [a]) -> a sleight1 x (y:_) = x + y ...这是由类型检查

    5热度

    2回答

    如何覆盖的方法Zero下面的代码以这样的方式,我可以在​​ [<AbstractClass>] type Currency() = abstract member Zero<'T when 'T :> Currency > : unit -> 'T type Euro (value: int) = inherit Currency() member this.V

    1热度

    1回答

    我有关于用于在Haskell使用与foldl类型定义问题使用与foldl,我有类型: data Client = GovOrg String | Company String Integer Person String | Individual Person Bool deriving Show data Person = Person String

    0热度

    3回答

    备注重新考虑我的问题后。 尽管我的WriteData方法的确切示例的最佳解决方案是由@Dogu Arslan提出的,但问题标题问题实际上是由@InBetween和@Fabio解决的。 I. e。对于使用WriteData方法的确切示例,最好将WriteData方法中的转换逻辑移出,但为了从不相关类型中提取逻辑,最好使用建议的重载。所有这三个答案对我都有帮助。 我已经阅读了以下类似的问题 - 1,2

    3热度

    1回答

    考虑以下几点: class (a ~ b) => Equal a b instance (a ~ b) => Equal a b 可以说,后来我有一个数据类型: data D (c :: * -> Constraint) where D :: Proxy c -> D c 那么这样的事情是有效的: D (Proxy :: (Proxy (Equal Int))) 我的问题是

    2热度

    1回答

    可以说我有 class C1 t 和 class C2 t 注意到这里: C1 :: * -> Constraint C2 :: * -> Constraint 我可以让 class (C1 t, C2 t) => C3 t instance (C1 t, C2 t) => C3 t 因此,我们有 C3 :: * -> Constraint 指出,C3 t只有当有效C1 t

    2热度

    1回答

    是否有写约束的方式: C t1 t2 :: Constraint ,使得它“满足”(是正确的字),如果t2比赛反对t1。 例如: C (forall a. Num a => a -> a -> a) (forall a. Num a => a -> a -> a) -- good C (forall a. Num a => a -> a -> a) (Int -> Int -> Int) -