ghc-generics

    3热度

    2回答

    所以,我有具有大量的情况下,这是由一种“注释”类型 data Expr a = Plus a Int Int | ... | Times a Int Int 我有参数的AST数据类型注释类型S和T,以及一些功能f :: S -> T。我想采用Expr S并将其转换为Expr T,使用我的转换f对每个S发生在Expr值内。 有没有办法做到这一点使用SYB或泛型,并避免在每种情

    3热度

    2回答

    与this question相关我今天早些时候问过。 我有大量的案例,这是由“注释”型 data Expr ann def var = Plus a Int Int | ... | Times a Int Int deriving (Data, Typeable, Functor) 我有具体事例为高清和VAR参数的AST数据类型,说Def和Var。 我想要的是自动

    1热度

    1回答

    我正在使用GHC泛型。我的用例几乎与the example in the wiki相同,只是我编码和解码基因序列。 这一切都工作正常,直到我决定保留我已经阅读的清单,以便我可以在发生错误时向用户报告。这意味着我需要添加一个Show约束到我的默认get实现。问题是我无法弄清楚如何编写约束。请参阅下面的代码中的-- HELP!!!评论。 {-# LANGUAGE FlexibleContexts #-

    2热度

    1回答

    我有一个模块Foo.hs其中包含不派生Generic一个定义: -- Foo.hs data Blather = Blather ... -- Generic not derived here 而在另一个模块我想获得ToJSON: -- Bar.hs {-# LANGUAGE DeriveGeneric, DeriveAnyClass #-} import GHC.Generics

    9热度

    1回答

    对于我的another answer的所有值的时候,我写了下面的代码,提供diagonally traversedUniverse实例为枚举Generic S(它轻微地从这个版本有更新,但使用相同的逻辑): {-# LANGUAGE DeriveGeneric, TypeOperators, ScopedTypeVariables #-} {-# LANGUAGE FlexibleInstanc

    2热度

    1回答

    我正在尝试了解如何使用GHC.Generics。一个迷人的话题,但令人生畏。 在阅读博客条目24 Days of GHC Extensions: DeriveGeneric时,我学会了如何获取价值并导航其Rep。好的。 但是,读博客条目Building data constructors with GHC Generics描述了构建Rep的模拟并将其转换回一个值,我很难过。我已阅读anumbero

    1热度

    1回答

    我正在通过博客文章Building data constructors with GHC Generics上的内容工作。我之前的问题是here。 的发布具有下面的代码来创建一个Rep: {-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies #-} {-# LANGUAGE FlexibleInstances, Undecidable

    9热度

    2回答

    我在学习GHC仿制药。在回顾了几个例子之后,我想尝试创建一个通用的Functor实例(不管GHC能为我自动推导它们)。然而,我意识到我不知道如何使用泛型的参数化数据类型,我见过的所有例子都是*。这是可能的,如果是的话,如何? (我对SYB等其他类似框架也很感兴趣。)

    3热度

    1回答

    我在与寻找合适的类型约束以下代码问题而引起的 {-# LANGUAGE DeriveGeneriC#-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE TypeOperators #-} {-# LANGUAGE FlexibleContexts #-} import GHC.Generics data Value = One | Tw