Fun(ctional) Domain Driven Design (featuring Ukulele)
summary
Shows an F# live-coding session that builds a small DSL modeling musical concepts (typed semitones and chromas), encodes intervals and chords, and maps chord notes to ukulele strings and frets. Implements functions to compute fret positions, filter combinations that contain all chord tones, score difficulty by sum-of-squares of fret numbers, and pick the minimal solution to produce playable tablature for songs.
AI-written summary · about
chapters (12)
- 0:00Introduction
- 1:48Notes and semitones
- 4:15Chroma type
- 8:14Operators and alterations
- 14:18Interval definitions
- 19:50Chord construction
- 24:33Ukulélé modeling
- 32:07Finding frets on strings
- 36:44Chord possibility filtering
- 39:17Position difficulty calculation
- 41:05Display and musical demo
- 45:00Conclusion
related talks
49mDomain Modeling Made Functional
01h 14mFunctional Programming in F#: Fad or Fabulous?
51mDomain Modeling Made Functional
51mFunctional Programming and Domain Driven Design - a match in Heaven!
43mWrite your own domain specific language with F#
46mDomain modelling made simple: Functions and Values
58mDomain Driven Design (DDD) with Algebraic Data Types (ADT)
01h 00mFunctional-first programming with F#
