Haskell表演的榆木相当于什么?

问题描述

我在Elm中实现了自定义类型:

type Bin = BEmpty | One Bin | Zero Bin

我希望在String上下文中使用它时可以显示它,类似于:

main = 
  Html.p (text bin)

例如,如果定义了以下内容

bin : Bin
bin = One (One (Zero BEmpty))

如果我尝试按以下方式定义Show的实例:

instance Show Bin
  show bin = show (binToDec bin)

我收到以下错误

-- NAMING ERROR --------------------------------------------------- src/Main.elm

I cannot find a `Bin` variant:

19| instance Show Bin 
                  ^^^
These names seem close though:

    EQ
    Err
    GT
    L

榆树中有Haskell的instance Show Bin where声明吗?

解决方法

否,Elm没有此功能。您需要实现自己的toString函数:

binToString : Bin -> String
binToString bin =
    binToDec bin
    |> String.fromInt