问题标签 [hlist]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - 如何从 Scala HList 中读取元素?
关于 HLists 的可读文档很少,我可以在 SO 上找到的答案来自外太空,适用于一个不起眼的 Scala 初学者。
我遇到了 HLists,因为 Slick 可以自动生成一些来表示数据库行。它们是slick.collection.heterogeneous.HList
(不是无形的)。例子:
现在给定这些行之一,我需要读取一个元素,如果可能的话输入。我就是不能那样做。我试过了
有人可以解释我如何从那只恐龙中提取特定值吗?
scala - 给定一个 HList 你如何得到一个 HMap
我有一个HList
。Symbols
我想将其转换为HMap
值HList
,keys
并将value
映射设置为基于key
. 生成的对象保持状态,因此尽管默认映射可以知道后续状态不是。
scala - 将无形 HList 转换为元组
我try-with-resources
在 Scala 中有这个版本。我想知道是否可以使用 Shapeless 和 HList 制作一个通用版本?
有类似签名的东西,我猜
另一个问题是如何在节中以元组的形式提供元素block: (A,B) => R
?
这有可能实现吗?
scala - 使用 Shapeless HList 为参数化案例类创建编码器
我想为类和编码集合实现ItemEncoder
类型类Element
elements
scala - 将任意案例类一般编码到 AWS Sdk DynamoDb 项中
你觉得我做的有道理吗?有没有更好的方法将案例类编码为Item
?例如,我不满意在某些情况下忽略输入参数!
ToMap
也许使用或类似的东西会更好,并将其转换为Item
haskell - 异构列表的笛卡尔积
当然,生成异构列表的笛卡尔积可以在 Haskell 中以多种方式完成,例如:
或者
但我想要的是这样的功能:
所以我可以做这样的事情:
我不介意我是使用元组还是其他东西,但我需要像上面一样保留类型信息。
我想要这个的原因是创建测试用例。我有一堆说n
函数和m
值。最终,我将在这些函数上映射一个函数,将它们全部减少为相同的类型(a Test
),但到目前为止,n*m
我想要执行的测试用例有很多不同的类型(实际上并不是那么简单,因为某些函数只能受限值的子集)。
因此,这些异构列表具有其他功能自然会很好,例如某种功能map
。
我看过HList,但它在去年没有更新,而且我不确定它是否是最合适的工具。
scala - 将 hlist 的 ToList 证据捕获为隐式类参数
我正在尝试使用 shapeless 的 hlist 来构建可自省的 URL 模板,但是在遍历我的 HList 时遇到了麻烦。以下内容无法编译:
在我看来,ToTraversable._
导入涵盖了 HNil 情况以及具有 HList 的尾部和具有相同最小上限的新头部的情况。显然,我要么错过了导入,要么误解了一切。
我不确定将类中的证据作为隐式参数缓存是否符合规定;我这样做是因为
- 我不希望 hlist 详细信息泄漏到外部 API
- 我需要它来获得一个不错的 toString
java - 使用functionaljava HList,有没有办法将任意HList的每个元素传递给相应的咖喱函数?
例如,如果我有一个 HList:
HList<A,HList<B,HList<C,HNil>>> list = ...
有没有办法将每个元素应用于柯里化函数:
F<A,F<B,F<C,D>>> f = ...
以这样一种方式,我会以某种方式得到一个D
?
此外,如果我E
反对 HList
HList<E,HList<A,HList<B,HList<C,HNil>>>> list2 = list.extend((E)e);
然后以某种方式申请
F<E,F<A,F<B,F<C,D>>>> ef = ..
以同样的方式到那个 HList?
scala - 合并 HList 元素
我有一个简单的服务定义
以及如何链接服务的方法:
我想将我的所有服务(假设它们可以组合)放入HList
并从HList
服务组合中构建。
这是我的Resolver
我有服务
当我尝试解决简单链时
我得到一个隐含的未找到错误。
scala - Scala 不会为无形 HList 派生依赖类型(使用 Aux)
给定一个依赖于类型的 Converter 类型类,它可以将 String 转换为 Integer:
我希望它适用于 HList,例如Integer :: HNil
. 理论上,我只需要隐含 HNil 和 HList:
以上适用于 HNil:
但不适用于 HList。有趣的是,它确实找到了一个实例,但没有派生出结果类型
我已经将它设置在一个自包含的项目中,该项目有更多(失败)尝试调试问题:https ://github.com/mpollmeier/shapeless-dependent-type-typeclass-problem