Sintrastes/xen-fret

Simplify AppData definitions.

Closed this issue · 0 comments

Currently, for data structures dependent on another data structure (e.x. temperaments), we do something like:

data AppData = AppData {
    temperaments :: [Temperament],
    chords :: Map Text [Chord]
}

This means that things like keeping chords up to date with things like temperament renaming/deletion are more difficult than they need to be. This dependency could be made explicit in the code by doing something like:

data Temperament = Temperament {
    ...
    chords :: [Chord]
}