Sha256: ab8d40b855cc42511656de10076f588bea16f24a0443eafe35e2a36a3e643f3e

Contents?: true

Size: 694 Bytes

Versions: 38

Compression:

Stored size: 694 Bytes

Contents

module GradeSchool exposing (..)

import Dict exposing (..)


type alias Grade =
    Int


type alias Student =
    String


type alias School =
    Dict Int (List Student)


empty : School
empty =
    Dict.empty


addStudent : Grade -> Student -> School -> School
addStudent grade student school =
    Dict.insert grade (List.sort (student :: (studentsInGrade grade school))) school


studentsInGrade : Grade -> School -> List Student
studentsInGrade grade school =
    case (Dict.get grade school) of
        Just list ->
            list

        Nothing ->
            []


allStudents : School -> List ( Grade, List Student )
allStudents school =
    Dict.toList school |> List.sortBy fst

Version data entries

38 entries across 38 versions & 1 rubygems

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