相关疑难解决方法(0)

混合类型类和类型族时出现问题

这段代码很好编译:

{-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, FlexibleInstances,
  UndecidableInstances, FlexibleContexts, EmptyDataDecls, ScopedTypeVariables,
  TypeOperators, TypeSynonymInstances, TypeFamilies #-}
class Sel a s b where
  type Res a s b :: *

instance Sel a s b where
  type Res a s b = (s -> (b,s))

instance Sel a s (b->(c,a)) where
  type Res a s (b->(c,a)) = (b -> s -> (c,s))
Run Code Online (Sandbox Code Playgroud)

但是只要我添加R谓词ghc失败:

{-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, FlexibleInstances,
  UndecidableInstances, FlexibleContexts, EmptyDataDecls, ScopedTypeVariables,
  TypeOperators, TypeSynonymInstances, TypeFamilies #-}
class Sel a s b where
  type …
Run Code Online (Sandbox Code Playgroud)

haskell typeclass type-families

9
推荐指数
1
解决办法
1150
查看次数

标签 统计

haskell ×1

type-families ×1

typeclass ×1