Slide 14
Slide 14 text
Compose and Build
addY :: Builder {x :: Int} {x :: Int, y :: Int}
addY = Builder.insert (SProxy :: SProxy "y") 2
addZ :: Builder {x :: Int, y :: Int} {x :: Int, y :: Int, z :: Int}
addZ = Builder.insert (SProxy :: SProxy "z") 3
addYZ :: Builder {x :: Int} {x :: Int, y :: Int, z :: Int}
addYZ = addZ <<< addY
xyz :: {x :: Int, y :: Int, z :: Int}
xyz = Builder.build addYZ {x : 1}