Commit Graph

71 Commits

Author SHA1 Message Date
4985843f8f More tests for note resolution 2022-05-29 03:01:17 +02:00
a665d95692 Extended chord literal syntax with flats 2022-05-29 02:57:36 +02:00
dc1322e4ea Major documentation of source code improvement 2022-05-29 02:28:51 +02:00
3caa5b80cb Ode To Joy, par function, context management 2022-05-25 17:03:46 +02:00
7cc61e30e4 REPL 2022-05-25 15:53:09 +02:00
ad79c17551 removed tests that ware testing old chord literals 2022-05-25 04:41:40 +02:00
741eb7f576 Result of evaluation is only printed when it's not nil 2022-05-25 04:36:16 +02:00
70e1431f05 Begining of support of array programming 2022-05-25 04:30:24 +02:00
4421acebd6 Halftones moving operator 2022-05-25 03:14:08 +02:00
611007a888 chord function 2022-05-25 02:13:35 +02:00
80bc4c039c Chords! 2022-05-25 00:08:48 +02:00
6611512b1f Working arrays, flat function 2022-05-24 19:09:37 +02:00
64417bf187 changed shape of Value constructors; added Array type 2022-05-24 17:39:07 +02:00
d549d23f0a Overloadable index operation 2022-05-24 16:38:18 +02:00
fd6009bb02 Euterpea like octave and duration setting 2022-05-24 15:45:31 +02:00
fe2cd9f1ef Euterpea like duration notation. Cheatsheet 2022-05-24 15:34:38 +02:00
1c6db5e7b7 Removed say from default builtins, moved to src/main.cc
The reason is that `say` requires text output to work, which is platform
specific. Interpreter should only register platform independent
functions like operations on arrays or math library
2022-05-24 03:48:10 +02:00
2c19db7354 Playing MIDI! 2022-05-24 03:35:15 +02:00
ba463139d6 Note duration calculation in current BPM context 2022-05-24 02:58:15 +02:00
2e2c34ce21 Note parsing & printing 2022-05-24 01:58:17 +02:00
142680ab77 Working note resolution 2022-05-24 01:40:16 +02:00
7d2ba379f7 Infrastructure for note parsing 2022-05-24 00:48:15 +02:00
8853451cb5 Added Midi dependency 2022-05-23 17:27:06 +02:00
f28cb10669 Block indexing and len builtin 2022-05-22 16:43:36 +02:00
bde30f5d99 Separated Musique functions and C++ intrinsics; blocks as delayed computations 2022-05-22 05:29:46 +02:00
de1ed62f6b Overloaded operators 2022-05-22 04:58:45 +02:00
5b3cfca2a8 More testing & keywords 2022-05-22 04:31:31 +02:00
c1493a75c2 Rewritten previous enviroment tests to new implementation 2022-05-22 03:44:15 +02:00
6bc2a1cd38 Context aware clojures
Moved from dynamic scoping to static scoping.
2022-05-22 03:44:15 +02:00
8ac9fc5929 Explicit test for bug that caused all this trouble 2022-05-22 03:44:14 +02:00
b9d87e1456 New environment implementation
It's a failure of locating precise source of the bug that would cause `var x =
[i|i] 0` to segfault. New implementation DOES NOT have this bug.
2022-05-22 03:44:10 +02:00
d542bbe696 Small refactoring 2022-05-21 23:12:50 +02:00
881b90506b Lambdas! 2022-05-17 16:10:56 +02:00
8025e9bd0f Separated blocks from lambdas 2022-05-17 14:09:40 +02:00
52ef323284 Colorless when NO_COLOR env variable exists
In accordance to https://no-color.org/ standard
2022-05-17 02:56:28 +02:00
d1d3421376 Removed test that are expecting wrong results 2022-05-17 02:55:09 +02:00
e7cb2de198 Evaluation support variable resolution 2022-05-17 02:49:21 +02:00
5d51d1672f Scoped variables, single namespace variables and functions 2022-05-17 02:35:51 +02:00
0f9c46dffb Parsing variable declarations 2022-05-16 16:58:31 +02:00
0b9e7e8f4a Better operator resolution mechanism 2022-05-16 15:51:38 +02:00
ccd2166231 Interpreter started! 2022-05-16 02:18:53 +02:00
14ea494686 Number parsing 2022-05-16 00:06:27 +02:00
Mateusz Piątkowski
2385e0e28c Ported Number class from pi/demo-2022-03-09 2022-05-15 23:03:09 +02:00
926a68cb84 Block parameters accepts separators; block testing 2022-05-15 22:22:26 +02:00
5bfec0e77a Block expressions 2022-05-10 16:49:36 +02:00
c5260df41c Expression sequencing 2022-05-10 16:03:30 +02:00
b4cd87eea1 Removed support for kebab-case
In live coding enviroment support for `n-1` beeing the same as `n - 1` is more
important then kebab case names
2022-05-10 15:27:06 +02:00
555a35ecc0 Function calls 2022-05-10 15:25:17 +02:00
a25719c987 Paren some expressions mate 2022-05-10 14:20:23 +02:00
f17f3dc49f Binary operator's parsing 2022-05-09 19:42:02 +02:00