tools/unline_hack HPC doesn't work with {-# LINE ... #-}
tools/hscdeps.py hsc2hs doesn't have a way to emit hsc →
.h deps
track_to_generic note (track_id, scale_id, events) = do
let name = "LPitch.track_to_generic"
scale <- Cmd.get_scale name scale_id
base <- maybe
(Cmd.throw $ name ++ ": unknown base note: " ++ show note)
return (Pitch.scale_note_to_generic scale note)
Derive.with_msg
track_views <- modify_at "set_track_width"
(Block.view_tracks view) tracknum $ \tview →
tview { Block.track_view_width = width }
update_view view_id (view { Block.view_tracks = track_views })
update_view view_id view = modify $ \st → st
{ state_views = Map.adjust (const view) view_id (state_views st) }
modify_at :: (UiStateMonad m) => String → [a] → Int → (a → a) → m [a]
modify_at msg xs i f = case post of
[] → throw $ msg ++ ": can't replace index " ++ show i
++ " of list with length " ++ show (length xs)
(elt:rest) → return (pre ++ f elt : rest)
where (pre, post) = splitAt i xs
vs.
state.get_view(view_id).tracks[tracknum].width = widthFunctional references might help.
self.assertEqual(result, [(StringLike("regex"), 42)])
Equal(result, some_big_data) can say where the
data differs