You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We currently have a matrix of types which describe Pitch and Pitch.Class values and how they map into the Spelled universe.
Unspelled
Spelled
Pitch.Class
Pitch.Spelling
Pitch
SpelledPitch
For the purposes of PitchSpeller, it would be compelling to define Unspelled and Spelled protocols. This would generalize PitchSpeller from being concrete over (Pitch) -> SpelledPitch or (Pitch.Class) -> Pitch.Spelling to being generic over (Unspelled) -> Spelled.
Design proposal
Conform Pitch and Pitch.Class to the Unspelled protocol, and SpelledPitch and Pitch.Spelling to the Spelled protocol. We may need to add a unifying super protocol, from which each of the new protocols inherit.
I assume we will need to add some operation to these the super protocol that can map from the Unspelled to Spelled state given some context.
The text was updated successfully, but these errors were encountered:
cc @bwetherfield.
Issue
We currently have a matrix of types which describe
Pitch
andPitch.Class
values and how they map into theSpelled
universe.For the purposes of
PitchSpeller
, it would be compelling to defineUnspelled
andSpelled
protocols. This would generalizePitchSpeller
from being concrete over(Pitch) -> SpelledPitch
or(Pitch.Class) -> Pitch.Spelling
to being generic over(Unspelled) -> Spelled
.Design proposal
Conform
Pitch
andPitch.Class
to theUnspelled
protocol, andSpelledPitch
andPitch.Spelling
to theSpelled
protocol. We may need to add a unifying super protocol, from which each of the new protocols inherit.I assume we will need to add some operation to these the super protocol that can map from the
Unspelled
toSpelled
state given some context.The text was updated successfully, but these errors were encountered: