问题标签 [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 - 为什么映射 Option[T] 的 HList 不起作用?
这不编译,我不明白为什么:
这有点令人惊讶,因为它确实编译:
scala - 用Shapeless扑灭白羊座的篝火?
我有一种情况,我想抽象一些,并在一个或多个“原始”类型(A
及B
以下)之间建立类型协议,一个应该返回Seq(Option[A], Option[B], ...)
这些类型对应的方法(如下命名extract
),以及一组字段配置(命名configs
如下),每个都知道如何获取相应“原始”类型的值。
在下面的代码中,理想情况下我想要Dimensions1
并且Dimension2
不存在。如果我必须做某种类似s.c.i.List
递归的头/尾构造,我会同意的。:)
scala - 是否有一种无样板的方法可以将 HLists 转换为参数列表?
根据这个问题, Spray 使用 sbt-boilerplate 生成ApplyConverter
实例,这些实例隐式转换A :: B :: ... :: HNil => R
为更传统(A, B, ...) => R
的实例,以便于使用。这个问题是一年多前提出的;现在可以使用例如宏或 Shapeless 的新功能来完成此操作,从而不需要外部代码生成步骤吗?
haskell - HList:要标签的字符串
我正在尝试开始使用 HList。有没有办法(函数?)以下列方式从字符串生成标签:
由于 lb 是字符串,而不是标签,因此无法编译此代码。有没有合适的方法来实现这一目标?谢谢。
scala - 用于无形 Hlist 的通用 Poly2 文件夹
我正在尝试转换以下 HList
到
这是我目前所拥有的:
这可行,但我想让它通用,以便它适用于 Some 包装的任何类型,而不必编写每个案例
haskell - HListElim 可以与另一个函数组合吗?
给定
(改编自https://gist.github.com/timjb/516f04808f0c4aa90c26并重新路由)
我希望能够编写如下函数
我的第一次尝试是
但 GHC 告诉我
这甚至可能吗?
scalaz - 未找到参数映射器的 HList Poly1 Mapper 隐式值
我正在使用 shapeless 2.1.0 -scala 2.11,jdk 1.7:我有一个特点
这在我的控制台中正确返回
但是,当我在函数中具有完全相同的逻辑时 - HList 从另一个函数调用返回给我并且我在其上映射函数,我得到一个编译时错误
我怀疑我可能遗漏了一些暗示。我已经检查了无形的测试和文档——希望我没有错过任何太明显的东西。
如果问题不明显,我可以创建一个完整的示例来重新创建问题 - 感谢阅读。
最好的,阿米特
更新:举个例子
特征 Input[T]{ def location:String def value:T }
如果我要删除 def 输入的返回类型,我不会收到任何错误。
scala - 如何使用属性和类型类无形的案例类?
我目前正在实现一个库来对 XML-RPC 消息进行序列化和反序列化。它几乎完成了,但现在我正在尝试使用Shapeless删除我当前asProduct方法的样板。我当前的代码:
我的目标是允许我的库的用户序列化/反序列化案例类,而无需强迫他编写样板代码。目前,您必须使用上述 asProduct 方法声明案例类和隐式 val,才能在上下文中拥有一个 Datatype 实例。此隐式用于以下代码:
这是使用类型类进行序列化和反序列化的经典策略。
此刻,我已经掌握了如何通过Generic或LabelledGeneric 从案例类转换为HList。问题是,一旦我完成了这个转换,我可以如何调用方法fromXmlrpc和toXmlrpc,就像 asProduct2 示例中一样。我没有关于案例类中属性类型的任何信息,因此,编译器找不到任何满足fromXmlrpc和toXmlrpc的隐式。我需要一种方法来约束 HList 的所有元素在上下文中都具有隐式数据类型。
由于我是 Shapeless 的初学者,我想知道获得此功能的最佳方式是什么。我有一些见解,但我绝对不知道如何使用 Shapeless 完成它。理想的情况是有一种方法可以从案例类的给定属性中获取类型,并将此类型显式传递给fromXmlrpc和toXmlrpc。我想这不是可以做到的。
scala - HList 的保证 LUB 约束
我想我需要一个 HList ,它的所有元素都是某种类型的子类型。LUBConstraint
似乎是我想要的,实际上它确实限制了这样一个 HList 的构建- 但我看不到如何再次获取证据,以便我可以映射(实际上是遍历,因为它需要是单子的)在 HList 上并在每个元素上调用一个方法(存在于 LUB 类型中)。
另外,我希望遍历操作产生的 HList 的类型与输入 HList 的类型完全相同。
用例是一种功能性“监听器列表”——HList 的所有元素都是“监听器”,它们必须被通知“事件”,接受或拒绝它们,并返回具有更新的“内部状态”的新版本自身. 如果这就是我所需要的,那么我可以只使用一个普通的不可变 Scala 集合。但我也希望在不使用的情况下直接键入访问单个元素asInstanceOf
- 因此是尝试使用 HList 的动机。
scala - 在标准元组上重现 HList 样式操作的无形示例
我对 Scala 非常陌生,并且一直在寻找无形包来为 Scala 的元组提供类似 HList 的操作。
我正在运行 scala 2.10.5,并且我已经成功安装了包(版本 2.2.0-RC6)以及所有依赖项。
当我尝试在 REPL中运行以下示例(来自无形功能概述)时,
我收到以下错误消息:
我敢打赌,这对我来说是一个愚蠢的错误,而且我一直在研究很多关于此的论坛。
我错过了什么?
在此先感谢您的帮助。