Sha256: d4f0122960b835bed99b9cbd9576e2d9b0cf525a2d340fd93c06935810986962

Contents?: true

Size: 546 Bytes

Versions: 38

Compression:

Stored size: 546 Bytes

Contents

module Allergies exposing (..)

import List
import Bitwise


isAllergicTo : String -> Int -> Bool
isAllergicTo name score =
    List.member name (toList score)


toList : Int -> List String
toList score =
    allergies
        |> List.indexedMap (\i n -> ( Bitwise.shiftLeft 1 i, n ))
        |> List.filter (\( s, n ) -> Bitwise.and s score > 0)
        |> List.map snd


allergies : List String
allergies =
    [ "eggs"
    , "peanuts"
    , "shellfish"
    , "strawberries"
    , "tomatoes"
    , "chocolate"
    , "pollen"
    , "cats"
    ]

Version data entries

38 entries across 38 versions & 1 rubygems

Version Path
trackler-2.0.5.1 tracks/elm/exercises/allergies/Allergies.example
trackler-2.0.5.0 tracks/elm/exercises/allergies/Allergies.example
trackler-2.0.4.0 tracks/elm/exercises/allergies/Allergies.example
trackler-2.0.3.9 tracks/elm/exercises/allergies/Allergies.example
trackler-2.0.3.8 tracks/elm/exercises/allergies/Allergies.example
trackler-2.0.3.7 tracks/elm/exercises/allergies/Allergies.example
trackler-2.0.3.6 tracks/elm/exercises/allergies/Allergies.example
trackler-2.0.3.5 tracks/elm/exercises/allergies/Allergies.example
trackler-2.0.3.4 tracks/elm/exercises/allergies/Allergies.example
trackler-2.0.3.3 tracks/elm/exercises/allergies/Allergies.example
trackler-2.0.3.2 tracks/elm/exercises/allergies/Allergies.example
trackler-2.0.3.1 tracks/elm/exercises/allergies/Allergies.example
trackler-2.0.3.0 tracks/elm/exercises/allergies/Allergies.example
trackler-2.0.2.0 tracks/elm/exercises/allergies/Allergies.example
trackler-2.0.1.2 tracks/elm/exercises/allergies/Allergies.example
trackler-2.0.1.1 tracks/elm/exercises/allergies/Allergies.example
trackler-2.0.1.0 tracks/elm/exercises/allergies/Allergies.example
trackler-2.0.0.10 tracks/elm/exercises/allergies/Allergies.example
trackler-2.0.0.9 tracks/elm/exercises/allergies/Allergies.example
trackler-2.0.0.8 tracks/elm/exercises/allergies/Allergies.example