作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想用这种类型签名写一个函数:
getTypeRep :: Typeable a => t a -> TypeRep
最佳答案
那么,如何使用作用域类型变量来选择内部组件:
{-# LANGUAGE ExplicitForAll #-}
{-# LANGUAGE ScopedTypeVariables #-}
import Data.Dynamic
import Data.Typeable
getTypeRep :: forall t a . Typeable a => t a -> TypeRep
getTypeRep _ = typeOf (undefined :: a)
*Main> getTypeRep (Just ())
()
*Main> getTypeRep (Just 7)
Integer
*Main> getTypeRep ([True])
Bool
关于Haskell -- 从具体类型实例中获取 TypeRep,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5924539/
我想用这种类型签名写一个函数: getTypeRep :: Typeable a => t a -> TypeRep 其中 TypeRep 将是 a 的类型表示,而不是 t a 的类型表示。也就是说,
我想编写以下函数: data TypeEnum = IntType | FloatType | BoolType | DateType | StringType data Schema = Objec
我正在构建一些用于在 Haskell 中进行远程过程调用的基础设施,由于此处解释太长的原因,我无法重用现有的库。 所以这是设置:我有一个用于序列化和反序列化数据的类型类: class Serializ
我是一名优秀的程序员,十分优秀!