自定义列表定义

Ati*_*tir -1 haskell list

给出(来自Haskell Amuse Bouche Lectures)

module Part2a where

    data List ? = EndOfList
                | Link ? (List ?)
        deriving Show   -- makes printing out results possible
Run Code Online (Sandbox Code Playgroud)

用法示例:

empty = EndOfList
oneWord = Link "apple" EndOfList
twoWords = Link "banana" (Link "cantaloupe" EndOfList)
Run Code Online (Sandbox Code Playgroud)

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

我到处搜索,找不到它.

Cha*_*ert 8

Link是你的List a类型的第二个构造函数.它在这里定义:

data List ? = EndOfList
            | Link ? (List ?) -- this line defines the Link constructor
Run Code Online (Sandbox Code Playgroud)

它在您的第二个代码段中用于创建类型的值List String.