腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
1
回答
在
HList
中
包含
元素
的
类型
类
?
、
我正在尝试定义一个
类型
类
,以便
HList
L
包含
一个特定
的
类型
A。type Outobject Contains { new Contains[H :: L] { }当然,由于ev: H ==
浏览 9
提问于2017-02-05
得票数 3
回答已采纳
1
回答
Haskell语法(
类型
级操作符)是什么?
、
、
'[]或':
在
Haskell代码中意味着什么?
浏览 5
提问于2015-08-03
得票数 8
回答已采纳
1
回答
在
无形状
中
实现路径相关映射
类型
、
、
我希望将
包含
路径依赖
类型
映射
的
地图从外部映射到内部:import shapeless.ops.
hlist
._ def inner: Inner def get(outer: Outer): outer.Inner} 理论是,通过使用
HList
,我可以避免使用
类型
选择器,并确保程
浏览 2
提问于2018-01-17
得票数 3
回答已采纳
2
回答
在
HList
中找到一个
元素
、
我试图编写两个函数来从
HList
中提取一个值,但我似乎无法让GHC感到高兴。 第一个函数将具有签名extract ::
HList
a -> [b],它从列表中提取b
类型
的
所有
元素
。我只通过要求a
中
的
类型
有Typeable实例才成功地编写了它。我试图
在
约束中使用
类型
等式和不等式,但这只给出了重叠
的
实例。我要编写
的
第二个函数将有签名extract' :: Contai
浏览 1
提问于2016-02-07
得票数 3
回答已采纳
2
回答
确保异类列表
包含
一个
类型
类
、
、
,我发现自己经常想要表达这样
的
想法,即每个
类型
都属于一个特定
的
类型
类
。我天真的第一个解决方案是为每个新
类型
类
完全重写
HList
数据
类型
。首先,每当我想要一个新
的
类型
类
时,我都需要重写它。此外,
在
我
的
旧
的
异构列表上工作
的
函数不能在新
的
列表上工作。 我
的
下一个解决方案是使用空<e
浏览 12
提问于2018-06-02
得票数 2
回答已采纳
1
回答
这个GADT实际上有
类型
的
角色表示吗?
、
此数据
类型
可以具有type role HCons' representational representational,它允许使用coerce添加或删除应用于
元素
的
新
类型
,而无需遍历列表。data HNil' = HNil'但是,这些列表
的
语法不如使用下面的GADT
的
语法好 data
HList
(l::[*]) whereHNil ::
HList<
浏览 2
提问于2014-06-14
得票数 13
回答已采纳
2
回答
ghc-7.6依赖
类型
的
类
实例
、
、
异构清单是ghc 7.6新型依赖型设施
的
例子之一: HNil ::
HList
'[]显然,我们希望
HList
在
Show
中
,但是我只能想出以下使用相互递归约束(超
类
)
的
工作
类
实例化: instance Show (
HList
'[]) whe
浏览 1
提问于2012-10-20
得票数 7
1
回答
使用隐式查找要注入
的
HList
类型
的
“一个”
元素
、
以下是代码: def doStuff(): Unit class B implicit val serviceC = new ServiceC service.doStuf
浏览 2
提问于2014-06-05
得票数 3
回答已采纳
2
回答
错误匹配
类型
:使用MultiParamTypeClasses和FunctionalDependencies定义异构列表和返回第一个
元素
的
函数
、
、
、
、
有一个关于与GADT一起使用
的
功能性依赖项
的
。事实证明,问题不在于将这两者结合在一起,因为
在
不使用GADT
的
情况下也会出现类似的问题。这个问题没有得到明确
的
回答,
在
评论中有一场辩论。问题所在 我试图创建一个异构列表
类型
,它在
类型
中
包含
它
的
长度(有点像元组),当我定义返回列表
的
第一个
元素
的
函数" first“时,我遇到了编译错误(下面的代
浏览 7
提问于2022-07-18
得票数 2
1
回答
HList
的
证据保留LUB约束
、
、
我想我需要一个
HList
,它
的
所有
元素
都是某种
类型
的
子
类型
。LUBConstraint似乎是我想要
的
,实际上它确实限制了这样一个
HList
的
构造--但是我不知道如何再次获得证据,这样我就可以
在
HList
上映射(实际上,遍历,因为它需要一元),并在每个
元素
上调用一个方法(存在于LUB
类型
中
)。此外,我希望由遍历操作产生
的
H
浏览 3
提问于2015-05-19
得票数 9
回答已采纳
1
回答
取
HList
of Seq[_]用笛卡尔乘积生成Seq[
HList
]
、
我是新来
的
。def cartesian[T <:
HList<
浏览 0
提问于2018-04-21
得票数 2
回答已采纳
2
回答
为什么是一个种类
的
清单* -> *?
在
GHCI
中
,
在
列表[]中使用:info将显示它是同类
的
* -> *type [] :: * -> * 当我可以用多个
元素
(例如1,2,3)构造一个列表时,我如何解释这一点
浏览 4
提问于2020-08-08
得票数 2
回答已采纳
1
回答
使用无形状Mapper而不必指定结果
类型
、
、
对于习惯于Scala
类型
级编程
的
开发人员来说,这似乎是一个经典
的
问题,但我找不到(或者我不知道如何寻找)解决方案或模式。假设我有一个这样
的
类
: abstract class TypedTest[Args <:
HList
](implicit val optMapper: Mapped[Args, Option]) {
HList
类型
参数(Args)实例化它,并且该类提供了一个方法来检索
包含
Option (OptArgs)
中
浏览 2
提问于2016-08-10
得票数 4
2
回答
异构列表长度
中
的
歧义
类型
变量
在
计算异构列表
的
长度时,我遇到了不明确
类型
变量
的
问题。问题似乎是长度函数
在
HList
的
元素
中
不是多态
的
。并检索i-th
元素
: hIndex ::
HList
xs -> HNat i -> y instance HIndex假设我构造了一个
HList
,它
浏览 1
提问于2016-05-07
得票数 4
回答已采纳
1
回答
如何从
HList
创建镜头
的
HList
、
我正在编写一个通用
的
表查看器,应该能够显示任何
类型
的
Seq[Row] where Row <:
HList
。Table
类
如下所示:当有人单击表查看器
的
某一列时,我希望按该列
的
顺序重新绘制整个表
在
第一次幼稚
的
尝试
中
,我会使用构建如下
浏览 1
提问于2014-08-10
得票数 3
1
回答
用例
类
复制方法和命名参数
的
抽象
、
、
我使用
的
是卡拉兹状态单片,我有以下问题:case class Repository(instances: Vector[Instance], vpcs例如,我想根据更新函数更新向量
中
的
一些
元素
,如下所示: val applicative = Applicative[({type f[a] = State[Repository, a]})#f].replaceFirst(matchingReso
浏览 1
提问于2015-12-04
得票数 1
回答已采纳
4
回答
是否可以以强
类型
的
方式表示此转换?
、
、
我希望执行类似于(
在
F#
中
)
的
转换: type TestList = TLBool of bool list是否有一种方法可以对此进行编码,使我们“知道”,虽然Map
包含
不同
的
值,但每个位置
的
值
在
包含
列表
的
元素
之间是相同
的
类型
吗?Maps
的
静态大小一旦构造,每个list<
浏览 3
提问于2015-06-25
得票数 2
1
回答
非形状
HList
上
的
参数化折叠
、
、
、
我正在尝试实现一个
在
调用方提供
的
HList
上进行参数化折叠
的
方法。
HList
可以有任意数量
的
相同
类型
的
元素
(> 0)。:“无法找到参数文件夹
的
隐式值: shapeless.ops.
hlist
.RightFolderL,(Int,shapeless.HNil.type),combine.type”。从中可以清楚地看到编译器希望看到它可以折叠
HList
的
证据。
浏览 2
提问于2019-08-28
得票数 0
回答已采纳
1
回答
隐式转换一个
HList
到另一个
、
我
的
库中有一个用例,其中一个
HList
A被认为可以转换为
HList
B,如果
包含
--
HList
B
的
所有
元素
--而不考虑排序
的
。我需要在两者之间进行隐式转换,如下所示:implicit def toOther[A <:
HList
, B<:
HList
](l: A): B = l.fil
浏览 5
提问于2017-04-18
得票数 2
回答已采纳
2
回答
双指针
在
linux内核哈希表实现
中
的
应用
、
、
我正在尝试理解Linux内核
中
链表和哈希表
的
实现。指向该实现
的
链接是。我理解链表
的
实现。但是我有点搞不懂为什么
hlist
(**pprev)中使用了双指针。
hlist
的
链接是。我知道
hlist
用于实现哈希表,因为列表
的
头部只需要一个指针,而且它节省了空间。为什么不能使用单指针(就像链表一样
的
*prev )?请帮帮我。
浏览 1
提问于2010-06-17
得票数 20
回答已采纳
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
云直播
即时通信 IM
实时音视频
活动推荐
运营活动
广告
关闭
领券