Queue
というわけで
帰宅して、夕食を食べたので、さきほどのをそのまんま流用し、Queueを書いてみた
data Queue a = Empty | Value a (Queue a) deriving Show fqueue :: Queue String -> String -> Queue String fqueue queue str = case str of "dequeue" -> dequeue queue otherwise -> enqueue queue str enqueue :: Queue a -> a -> Queue a enqueue queue str = case queue of Empty -> Value str Empty otherwise -> Value str queue dequeue :: Queue a-> Queue a dequeue queue = case queue of Empty -> Empty Value a Empty -> Empty Value a next -> Value a $ dequeue next
main関数は省略。