小编And*_*rew的帖子

如何在Haskell中创建ADT?

在Scala中,我可以描述这样的ADT:

sealed trait Foo
case class A(a: Int) extends Foo
case class B(b: String) extends Foo
case class C(a: A, b: B) extends Foo
Run Code Online (Sandbox Code Playgroud)

如何在Haskell中做同样的事情?

data Foo = A Int | B String | C A B
Run Code Online (Sandbox Code Playgroud)

这是行不通的,因为A和B不是类型。我应该使用GHC扩展名吗?

haskell scala algebraic-data-types

17
推荐指数
1
解决办法
501
查看次数

标签 统计

algebraic-data-types ×1

haskell ×1

scala ×1