計算機科学のブログ

型によるプログラミング 直積型と直和型 レコード構文

入門Haskellプログラミング (Will Kurt(著)、株式会社クイープ(監修、翻訳)、翔泳社)のUNIT3(型によるプログラミング)、LESSON16(直積型と直和型)、16.1(直積型)、クイックチェック 16-1の解答を求めてみる。

コード

data AuthorName = AuthorName
  { fname :: String,
    lname :: String
  }
  deriving (Show)

author :: AuthorName
author = AuthorName {fname = "first", lname = "last"}

main :: IO ()
main = do
  print author
  print $ fname author
  print $ lname author

入出力結果(Terminal, Zsh)

% runghc sample01.hs
AuthorName {fname = "first", lname = "last"}
"first"
"last"
%