Sha256: 1d9f3c1095b2410ef3c0a00e58882b2e00003d9a091adee2db2d2caeb4b45011

Contents?: true

Size: 634 Bytes

Versions: 66

Compression:

Stored size: 634 Bytes

Contents

module Triangle exposing (Triangle(..), triangleKind, version)

import Set


type Triangle
    = Equilateral
    | Isosceles
    | Scalene


version : Int
version =
    2


triangleKind : comparable -> comparable -> comparable -> Result String Triangle
triangleKind x y z =
    if x <= 0 || y <= 0 || z <= 0 then
        Err "Invalid lengths"
    else if x + y <= z || x + z <= y || y + z <= x then
        Err "Violates inequality"
    else
        case Set.size (Set.fromList [ x, y, z ]) of
            1 ->
                Ok Equilateral

            2 ->
                Ok Isosceles

            _ ->
                Ok Scalene

Version data entries

66 entries across 66 versions & 1 rubygems

Version Path
trackler-2.2.1.159 tracks/elm/exercises/triangle/Triangle.example.elm
trackler-2.2.1.158 tracks/elm/exercises/triangle/Triangle.example.elm
trackler-2.2.1.157 tracks/elm/exercises/triangle/Triangle.example.elm
trackler-2.2.1.156 tracks/elm/exercises/triangle/Triangle.example.elm
trackler-2.2.1.155 tracks/elm/exercises/triangle/Triangle.example.elm
trackler-2.2.1.154 tracks/elm/exercises/triangle/Triangle.example.elm
trackler-2.2.1.153 tracks/elm/exercises/triangle/Triangle.example.elm
trackler-2.2.1.152 tracks/elm/exercises/triangle/Triangle.example.elm
trackler-2.2.1.151 tracks/elm/exercises/triangle/Triangle.example.elm
trackler-2.2.1.150 tracks/elm/exercises/triangle/Triangle.example.elm
trackler-2.2.1.149 tracks/elm/exercises/triangle/Triangle.example.elm
trackler-2.2.1.148 tracks/elm/exercises/triangle/Triangle.example.elm
trackler-2.2.1.147 tracks/elm/exercises/triangle/Triangle.example.elm
trackler-2.2.1.146 tracks/elm/exercises/triangle/Triangle.example.elm
trackler-2.2.1.145 tracks/elm/exercises/triangle/Triangle.example.elm
trackler-2.2.1.144 tracks/elm/exercises/triangle/Triangle.example.elm
trackler-2.2.1.143 tracks/elm/exercises/triangle/Triangle.example.elm
trackler-2.2.1.142 tracks/elm/exercises/triangle/Triangle.example.elm
trackler-2.2.1.141 tracks/elm/exercises/triangle/Triangle.example.elm
trackler-2.2.1.140 tracks/elm/exercises/triangle/Triangle.example.elm