自定义列表定义

时间:2017-02-13 19:06:25

标签: list haskell

给出(来自Haskell Amuse Bouche Lectures)

module Part2a where

    data List α = EndOfList
                | Link α (List α)
        deriving Show   -- makes printing out results possible

用法示例:

empty = EndOfList
oneWord = Link "apple" EndOfList
twoWords = Link "banana" (Link "cantaloupe" EndOfList)

问题:  “链接”功能在哪里定义?

我到处搜索,找不到它。

1 个答案:

答案 0 :(得分:8)

LinkList a类型的第二个构造函数。它在这里定义:

data List α = EndOfList
            | Link α (List α) -- this line defines the Link constructor

在您的第二个代码段中使用它来创建List String类型的值。