cost 378 ms
根据参数和请求的退货类型退回产品或记录的一部分的功能 - A function for returning part of a product or record depending on parameter and requested return type

我正在寻找一个函数,给定必要的返回类型,该函数将纯粹基于传递给函数的类型结构来返回与该类型匹配的产品参数部分。 例如: 同样,对于相同的功能func ,但不同的产品: 是否存在这样的功能? 我觉得应该可以,也许使用Generic 。 我知道这在其他语言中也是可行的,例如 ...

遍历多态结构并仅在少数情况下执行转换 - Traversing polymorphic structures and performing a transformation only in few cases

假设我们以下列方式表示公司层次结构: 我想这defne提高没有一个公司资产的工资函数Boss的祖先,其部门有一个Bad的表现。 这样的功能可以很容易地定义如下: 问题是这需要很多样板(为了讨论起见,请假设给出了CompanyAsset且不能更改)。 所以我的问题是,是否有 ...

递归类型检测 - Recursive Type Lensing

我正在尝试创建一些代码,可以采用任何递归语法数据类型和该数据类型的任何表达式,并生成相同类型的所有子表达式的列表,构建,类似于scan的递归类型。 我在下面写了两个手动示例,附带玩具计算器语法类型EExp 。 第一个示例使用Lens库中的棱镜和镜头,仅适用于一个eg1示例表达式,而第二个 ...

SYB:可以用gfoldl重写listify结果的映射吗? - SYB: can a map over the result of listify be rewritten with a gfoldl?

我可以使用SYB的gfoldl一次性完成listify结果的映射吗? 考虑以下代码: 我不喜欢在numVal函数中我必须考虑Expr类型的不同数据构造函数,而我只对Num构造函数感兴趣。 我宁愿用下面的vals函数替换isNum和numVals: 这可以用gfoldl完成 ...

派生函子实例,而不是最后一个类型参数 - Deriving functor instance, not on last type argument

我今天早些时候问过这个问题 。 我有一个包含大量案例的AST数据类型,它通过“注释”类型进行参数化 Def和Var说我有def和var的具体实例。 我想要的是自动派生fmap ,它在第一个参数上作为fmap函数运行。 我想派生一个如下所示的函数: 当我使用普通的fm ...

在没有样板的情况下从类型“T a”转换为“T b” - Convert from type `T a` to `T b` without boilerplate

所以,我有一个包含大量案例的AST数据类型,它通过“注释”类型进行参数化 我有注释类型S和T ,以及一些函数f :: S -> T 我想使用Expr S并使用我在每个S上的转换f将其转换为Expr T ,这发生在Expr值中。 有没有办法使用SYB或泛型来做到这一点,并避免 ...

Haskell中不含Boilerplate的AST注释? - Boilerplate-free annotation of ASTs in Haskell?

我一直在使用用Haskell编写的Elm编译器。 我想开始为它实现一些优化,其中一部分涉及遍历AST并向某些节点添加“注释”,例如尾调用等。 我知道我可以使用SYB或uniplate进行遍历,但我想知道是否有一种无样板的方法来处理类型。 所以,假设我们的AST有一堆代数类型: ...

报废样板 - Scrap your boilerplate

关于SYB,我是初学者 我尝试拧干代码以使用该代码获取表达式中的变量 其中removeDuplicate消除列表中的重复变量 ExprVar是我的数据类型数据类型还分别包括ExprAdd , Exprsub , ExprMul , ExprDiv , ExprNum用于加法, ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM