首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Idris中使用“派生”?

如何在Idris中使用“派生”?
EN

Stack Overflow用户
提问于 2018-06-21 15:21:44
回答 1查看 885关注 0票数 7

我试图在Idris中导出Show、Eq、Ord等,但下列任何一种测试都不起作用:

第一条线索:

代码语言:javascript
复制
data Expr =
      Lit Int
    | Neg Expr
    | Add Expr Expr
    deriving (Show)

got:

代码语言:javascript
复制
deriving.idr:5:15-18:
  |
5 |     deriving (Show)
  |               ~~~~
When checking type of Main.Add:
Type mismatch between
        Type -> Type (Type of Show)
and
        Type (Expected type)

第二条线索:

代码语言:javascript
复制
data Expr =
      Lit Int
    | Neg Expr
    | Add Expr Expr
    deriving (Show _)

got:

代码语言:javascript
复制
*deriving> Lit 1
Lit 1 : Expr
*deriving> Add (Lit 1) (Lit 1)
(input):Can't infer argument ty to Add, Can't infer argument deriving to Add

第三条线索:

代码语言:javascript
复制
data Expr =
      Lit Int
    | Neg Expr
    | Add Expr Expr
    deriving (Show Expr)

got:

代码语言:javascript
复制
*deriving> Lit 1
Lit 1 : Expr
*deriving> Add (Lit 1) (Lit 1)
(input):Can't infer argument deriving to Add

我在http://docs.idris-lang.org/和google上搜索了关键字http://docs.idris-lang.org/,甚至在测试/目录下的idris-dev repo中也搜索过,但是在idris中没有使用派生的演示。有人能帮忙吗?

EN

回答 1

Stack Overflow用户

发布于 2022-02-07 23:44:41

您可以使用斯特凡·霍克( Stefan Hoeck) idris2-sop库生成带有精心设计反射的实现。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50972151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档