Sha256: 95a0c4297353701600d317ee0a7b2c8cabca3feb8299743a37dbdc608c753940

Contents?: true

Size: 762 Bytes

Versions: 66

Compression:

Stored size: 762 Bytes

Contents

module Sublist exposing (ListComparison(..), sublist, version)


version : Int
version =
    2


type ListComparison
    = Equal
    | Superlist
    | Sublist
    | Unequal


sublist : List a -> List a -> ListComparison
sublist alist blist =
    if alist == blist then
        Equal
    else if inList alist blist then
        Superlist
    else if inList blist alist then
        Sublist
    else
        Unequal


inList : List a -> List a -> Bool
inList alist blist =
    let
        getLastInList sublist =
            Maybe.withDefault [] (List.tail sublist)
    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

Version data entries

66 entries across 66 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/elm/exercises/sublist/Sublist.example.elm
trackler-2.2.1.179 tracks/elm/exercises/sublist/Sublist.example.elm
trackler-2.2.1.178 tracks/elm/exercises/sublist/Sublist.example.elm
trackler-2.2.1.177 tracks/elm/exercises/sublist/Sublist.example.elm
trackler-2.2.1.176 tracks/elm/exercises/sublist/Sublist.example.elm
trackler-2.2.1.175 tracks/elm/exercises/sublist/Sublist.example.elm
trackler-2.2.1.174 tracks/elm/exercises/sublist/Sublist.example.elm
trackler-2.2.1.173 tracks/elm/exercises/sublist/Sublist.example.elm
trackler-2.2.1.172 tracks/elm/exercises/sublist/Sublist.example.elm
trackler-2.2.1.171 tracks/elm/exercises/sublist/Sublist.example.elm
trackler-2.2.1.170 tracks/elm/exercises/sublist/Sublist.example.elm
trackler-2.2.1.169 tracks/elm/exercises/sublist/Sublist.example.elm
trackler-2.2.1.167 tracks/elm/exercises/sublist/Sublist.example.elm
trackler-2.2.1.166 tracks/elm/exercises/sublist/Sublist.example.elm
trackler-2.2.1.165 tracks/elm/exercises/sublist/Sublist.example.elm
trackler-2.2.1.164 tracks/elm/exercises/sublist/Sublist.example.elm
trackler-2.2.1.163 tracks/elm/exercises/sublist/Sublist.example.elm
trackler-2.2.1.162 tracks/elm/exercises/sublist/Sublist.example.elm
trackler-2.2.1.161 tracks/elm/exercises/sublist/Sublist.example.elm
trackler-2.2.1.160 tracks/elm/exercises/sublist/Sublist.example.elm