74 Commits

Author SHA1 Message Date
74f6cb89e5 DEV: Add integration test for the mod.pkg func 2021-08-22 21:10:08 -04:00
8b3552e491 DEV: Remove the shape specifier for a funcion. 2020-04-26 12:19:06 -04:00
577aa5e72a DEV: Experimental parsing support
Shape Projection syntax support for #55
2020-04-26 12:18:49 -04:00
99ee28aa30 Rename macros_test.ucg to func_test.ucg 2020-04-13 17:12:09 -04:00
632019ac18 DEV: Implement primitive casting. 2019-11-11 20:06:17 -06:00
a90df8a362 REFACTOR: Cleanup the syntax for the select expr
This makes it both easier to correctly write a select expression
as well as easier to parse and report syntax errors.
2019-11-02 11:01:47 -05:00
b3fd37a6b5 DEV: Integration tests all pass now. 2019-10-17 17:57:06 -05:00
092d510feb DEV: A bunch of comparison and in operator fixes. 2019-10-17 17:57:06 -05:00
Jeremy Wall
949d468f55 DEV: Fix escaping in both strings and format strings. 2019-08-12 18:10:48 -05:00
439ebf74f3 FEATURE: Give modules a reference to self. 2019-04-24 19:13:22 -05:00
1fbd1c0a50 FIX: Bug in dot_lookups
curr_val forms the basis of the scope search but it shouldn't be part of the
lookup expression for the field.
2019-04-18 17:36:16 -05:00
05771c7221 FIX: Selects nested in tuples with no defaults didn't parse.
fixes #40
2019-04-17 20:48:28 -05:00
1b2aa4dfd1 REFACTOR: testing module cleanup.
Nesting was unnecessary and added 0 or negative value. So I removed
the nesting.
2019-04-09 20:43:42 -05:00
40107cefb6 FEATURE: Parsing and evaluation with optional defaults in select. 2019-03-01 17:10:03 -06:00
d9b2c0cb00 FEATURE: out expression for modules.
issue #35
2019-02-21 20:09:47 -06:00
38e418a1d6 FIX: Integration tests for the json and yaml mapping.
Fixed bug in the yaml key deserialization logic.
2019-02-19 15:28:31 -06:00
c7a87894ba FEATURE: Add the %% modulo operator. 2019-02-18 21:09:42 -06:00
46ba32f038 FEATURE: Allow more expressions in the functional builtins. 2019-01-31 16:38:53 -06:00
3619153218 FEATURE: Syntax improvement for map filter and reduce.
closes #33
2019-01-31 16:33:12 -06:00
4d6fd87c3d FEATURE: Allow expressions for functions in reduce/map/filter. 2019-01-30 20:35:28 -06:00
8861990a94 TESTS: More Expression Format tests. 2019-01-28 22:01:49 -06:00
3c1b3ce86a FEATURE: Expression format string support.
Experimental support for Issue #23
2019-01-28 21:30:37 -06:00
f1c7d76fdd REFACTOR: The great renaming macro -> func. 2019-01-24 20:04:40 -06:00
016e4a22db FEATURE: Add the not operator. 2019-01-24 16:53:02 -06:00
5bfe38140a FEATURE: Schema checks for particular shapes.
Progress toward #6 and #32.
2019-01-21 19:47:04 -06:00
eaa3e84179 FIX: Treat is as a regular binary operator
do syntax checks post parse. Also to avoid collisions with
keywords require quoting the types.
2019-01-19 10:49:33 -06:00
1dba5f66ce FEATURE: map, filter, and reduce over lists. 2019-01-18 20:01:08 -06:00
25d84a771e FEATURE: Add the is operator
This operator tests that something is of a certain base type.
2019-01-18 18:47:11 -06:00
d40e89fea9 FEATURE: Boolean Operators. 2019-01-17 19:20:01 -06:00
890387b4cc FEATURE: Macros are just an expression now.
This is a breaking change for the map, filter, and reduce expressions
but happily a forward compatible change for macros themselves.
2019-01-16 19:27:58 -06:00
e838554fff FIX: Modules were attempting to conver std imports into absolute paths. 2019-01-15 19:22:10 -06:00
5b05405618 FIX: presence checks for tuples with NULL values works now. 2019-01-15 18:51:35 -06:00
599ed31414 FIX: NULL equality should be useable with any type. 2019-01-15 18:49:15 -06:00
685ee7407e FEATURE: make macros close over their environment.
The benefits are great enough to allow this and the benefits of
not allowing closures are not terribly useful.

We do not get the same benefits for modules though so we don't add
it to them.
2019-01-14 18:23:39 -06:00
5c2d8662bf FIX: Handle binding and named field collisions in lookups. 2019-01-13 22:51:20 -06:00
e2ab14f23d MAINT: Slight tweak to the import test.
Demonstrate that you don't have to use parens to get a val from the
import expression.
2019-01-13 14:37:25 -06:00
54faeede5e FEATURE: Imports as expressions.
This is a breaking change for the language. However it makes a number of things
easier. Like importing specific symbols from a file.

adds: #28
2019-01-13 14:10:43 -06:00
6f9ba2ac33 FEATURE: Add the range expression.
fixes: #24
2019-01-10 19:40:32 -06:00
d989e47706 FEATURE: Use a better DSL for unit tests.
* Assert now requires a tuple instead of a string containing
  statements.
* We include a helpful ucg based unit testing module.

Fixes: #26
2019-01-10 17:17:57 -06:00
f022e71c0c TESTS: Added some new test coverage. 2019-01-10 17:17:57 -06:00
1b45066f39 BUGFIX: Found a bug in deep equality for lists :-( 2019-01-08 19:26:56 -06:00
f5ed6deec2 TESTS: more test coverage in the integration tests. 2019-01-08 17:22:46 -06:00
83a641e740 FEATURE: Add regular expression comparison operators. 2019-01-07 19:38:25 -06:00
1ce4f1749e FIX: Include test had invalid code. 2019-01-06 21:13:30 -06:00
e46496c666 FEATURE: Add a reduce operator for lists and tuples.
fixes #19
fixes #21
2019-01-06 20:57:37 -06:00
a8c4ce1157 FEATURE: Allow map and filter on tuples. 2019-01-06 16:35:35 -06:00
ef01f166b2 REFACTOR: Add a little more abstraction for map and filter.
* Clearer and easier to follow code.
* Smaller functions.
* Easier to add future functionality.
2019-01-06 15:45:00 -06:00
dbadfa1c4c FEATURE: Suppport quoting self and env when we need them as tuple fields. 2019-01-06 14:28:29 -06:00
2c3f9c7b8f Add base64 as an importer type aside from string. 2019-01-05 14:33:12 -06:00
b59954799d TESTS: expand modules test coverage. 2019-01-05 13:03:57 -06:00