From 938b362dd6f89f15b0ef50e3060b484f417b186e Mon Sep 17 00:00:00 2001 From: Norbert Nemec Date: Sun, 3 May 2020 19:07:56 +0200 Subject: [PATCH] simplify Cycle.elm --- src/Cycle.elm | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/src/Cycle.elm b/src/Cycle.elm index 3bd44ca4f..2d2d9eacc 100644 --- a/src/Cycle.elm +++ b/src/Cycle.elm @@ -7,34 +7,24 @@ module Cycle exposing type Cycle a = - Cycle (List a) a (List a) + Cycle a (List a) init : a -> List a -> Cycle a init x xs = - Cycle [] x xs + Cycle x xs next : Cycle a -> a -next (Cycle _ x _) = +next (Cycle x _) = x step : Cycle a -> Cycle a -step (Cycle visited a unvisited) = - case unvisited of +step (Cycle xold xs) = + case xs of [] -> - restart visited a [] - - x :: xs -> - Cycle (a :: visited) x xs - - -restart : List a -> a -> List a -> Cycle a -restart visited a unvisited = - case visited of - [] -> - Cycle [] a unvisited - - x :: xs -> - restart xs x (a :: unvisited) + Cycle xold [] + + xnew::xother -> + Cycle xnew (xother ++ [xold]) \ No newline at end of file