10 Commits

Author SHA1 Message Date
Dave Yarwood
e0d11b1ec2 include source context EVERYWHERE
This provides filename/line/column context for any error I could possibly find.
To achieve this, I made it so that all ScoreUpdates have source context, so when
updating the score results in an error, we can print out the line and column
number corresponding to the error.

It's a bit more complicated than that, because score updates are nestable (e.g.
event sequences can contain cram expressions can contain chords, etc.), which
essentially gives us a stacktrace whenever a score update results in an error. I
punted on giving the user the full stacktrace, in favor of doing something
simpler and just showing the bottom-most error, because that's probably going to
be the line and column number that's the most helpful.
2020-11-14 20:34:04 -05:00
Dave Yarwood
28f58ee8a4 jsonify ALL THE THINGS
in preparation for `alda parse` and the corresponding REPL commands
2020-09-07 16:30:36 -04:00
Dave Yarwood
ed570636b0 use float64 everywhere to fix inaccuracies caused by converting float32 <=> float64 2020-04-18 21:02:35 -04:00
Dave Yarwood
5fba46ac76 add logging around getting and setting variables 2019-11-17 20:47:01 -05:00
Dave Yarwood
0746ec5e8b allow cram expressions to include variable references 2019-11-16 22:24:47 -05:00
Dave Yarwood
812fbadd0b implement variables, port v1 variables tests 2019-11-10 22:14:52 -05:00
Dave Yarwood
c152e8b407 implement CRAM; make ScoreUpdate.UpdateScore public; write a bunch of docstrings 2019-10-22 23:10:31 -04:00
Dave Yarwood
4f4c5db032 make "not implemented" messages more informative 2019-06-07 22:36:03 -04:00
Dave Yarwood
3d592ec438 add updateScore method to ScoreUpdate interface and "not implemented" stub implementations 2019-05-23 13:08:56 -04:00
Dave Yarwood
a6c2bde2aa first cut of parser; basic model interfaces/structs 2019-04-29 22:03:47 -04:00