はじめに

何となくクイズはじめました!(頑張って続けます・・・)

間違ってたら twittergithub の issue で教えてください!

Haskell Quiz No.1 type, newtype, data

難易度: λλλ

元ネタは Haskell wiki だったと思いますが、忘れてしまいました・・・。

module Foo where

data Foo1 = Foo1 Int
data Foo2 = Foo2 !Int
newtype Foo3 = Foo3 Int

x1 = case Foo1 undefined of
     Foo1 _ -> 1

x2 = case Foo2 undefined of
     Foo2 _ -> 1

x3 = case Foo3 undefined of
     Foo3 _ -> 1

y1 = case undefined of
     Foo1 _ -> 1

y2 = case undefined of
     Foo2 _ -> 1

y3 = case undefined of
     Foo3 _ -> 1

int :: Int
int = undefined

yInt = case int of
       _ -> 1

以下の値はそれぞれ何になるでしょう?

x1   = ???
x2   = ???
x3   = ???
y1   = ???
y2   = ???
y3   = ???
yInt = ???

全部正解できたら普通にすごいです。

答えは次回

以上です。