fabiommendes / elm-climbing-grades / Grades.Generic

Abstracts the Bouldering vs. Climbing grades.

The grading API is provided as attributes from specially constructed records.

APIs


type alias Generic sys grade =
{ show : grade -> String
, showAs : sys -> grade -> String
, parse : String -> Maybe grade
, parseAs : sys -> String -> Maybe grade
, simplify : grade -> grade
, withMod : Grades.Levels.Mod.Mod -> grade -> grade
, next : grade -> grade
, prev : grade -> grade
, to : sys -> grade -> grade
, zero : grade
, compare : grade -> grade -> Basics.Order
, toLinearScale : grade -> Basics.Float
, fromLinearScale : sys -> Basics.Float -> grade 
}

Recording storing functions that implement the API for handling climbing and bouldering grades

boulder : Generic Grades.Bouldering.System Grades.Bouldering.Grade

Generic bouldering grades

climb : Generic Grades.Climbing.System Grades.Climbing.Grade

Generic climbing grades

Specific systems

br : Generic () Grades.Systems.Br.Grade

Brazilian grading system

font : Generic () Grades.Systems.Font.Grade

Fontainebleau grading system

fr : Generic () Grades.Systems.Fr.Grade

French grading system

us : Generic () Grades.Systems.Us.Grade

Yosemite decimal grading system

yds : Generic () Grades.Systems.Us.Grade

Yosemite decimal grading system. An alias to us

vgrade : Generic () Grades.Systems.Hueco.Grade

Hueco V-grades system