首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在infix表单中使用类型构造函数

如何在infix表单中使用类型构造函数
EN

Stack Overflow用户
提问于 2016-04-22 22:49:27
回答 1查看 224关注 0票数 7

我正在浏览一些Haskell文档,并找到了这个声明

您可以将构造函数(类型和数据的)声明为infix操作符,这可以使您的代码更加可读性。

我能够在infix表单中使用数据构造函数,如下所示:

代码语言:javascript
复制
Prelude> data List a = Empty | a :-> (List a) deriving Show
Prelude> 
Prelude> let var1 = 10 :-> Empty
Prelude> let var2 = 20 :-> var1
Prelude> let var3 = 30 :-> var2
Prelude> 
Prelude> var1
10 :-> Empty
Prelude> 
Prelude> var2
20 :-> (10 :-> Empty)
Prelude> 
Prelude> var3
30 :-> (20 :-> (10 :-> Empty))

我的问题是如何在infix表单中使用类型构造函数,有人能给我举个例子来理解这一点吗?

EN

回答 1

Stack Overflow用户

发布于 2016-04-23 04:53:59

为了扩展@chi的答案,在最近的GHC版本中,TypeOperators的语法发生了一些变化:如果不是infix 类型变量名称(即没有前导:的符号)的类型构造函数名仍然被归类为类型构造函数名称,这意味着下面的代码工作并定义了infix类型的构造函数+

代码语言:javascript
复制
{-# language TypeOperators #-}

data a + b = L a | R b
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36804470

复制
相关文章

相似问题

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