elm/exercises/sublist/Sublist.example

36 lines
674 B
Text
Raw Normal View History

module Sublist (..) where
2015-10-12 16:46:15 +00:00
import List exposing (..)
import String
2015-10-12 16:46:15 +00:00
sublist : List a -> List a -> String
sublist alist blist =
if alist == blist then
"Equal"
else if inList alist blist then
"Superlist"
else if inList blist alist then
"Sublist"
else
"Unequal"
2015-10-12 16:46:15 +00:00
inList : List a -> List a -> Bool
inList alist blist =
let
getLastInList sublist =
case (List.tail sublist) of
Just list ->
list
2015-10-12 16:46:15 +00:00
Nothing ->
[]
2015-10-12 16:46:15 +00:00
in
if (List.length alist) < (List.length blist) then
False
else if (List.take (List.length blist) alist) == blist then
True
else
inList (getLastInList alist) blist