36 Commits

Author SHA1 Message Date
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
8d6635bfdf FEATURE: split_on now splits on any string not just a single character. 2019-04-26 19:20:31 -05:00
352f932485 FEATURE: Add a chars attribute to the strings.ops module. 2019-04-26 19:20:31 -05:00
b1aa708c6c FEATURE: XML DSL for creating xml documents safely. 2019-04-18 17:48:00 -05:00
7846c631d0 FIX: use field_name instead of name to avoid colliding with the name field. 2019-04-17 23:02:18 -05:00
524f85102f FEATURE: More robust schema matching.
* Fixed some weirdness with partial matching in shaped.
* Added an all matcher for bundling multiple partial matches together.
2019-04-17 22:17:06 -05:00
643b597e35 FIX: Any should not do partial matches for the candidate shapes. 2019-04-17 21:02:09 -05:00
68e9c1c119 FIX: Bug in schema module when testing a tuple against a non tuple shape. 2019-04-17 19:34:53 -05:00
4afac26497 FEATURE: Ops module wrapper idioms for stdlib. 2019-04-15 22:18:46 -05:00
76e8510f15 FEATURE: Add len attribute and substr sub module for strings lib. 2019-04-12 21:13:24 -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
b4497d88e9 FEATURE: Add an or operation on the maybe module type. 2019-02-28 20:59:17 -06:00
ea3f2eae5f FEATURE: Add a slice module to our lists library. 2019-02-27 19:44:54 -06:00
7ae6955066 FEATURE: Add head and tail functions to our list library. 2019-02-27 19:41:09 -06:00
68790520d4 FEATURE: Make our monadic maybe a little more useful now. 2019-02-24 08:43:12 -06:00
ec8c75f866 REFACTOR: Stdlib now uses the out expression syntax or modules. 2019-02-24 08:16:07 -06:00
87e5db7dbf FEATURE: The beginnings of a standard library for strings. 2019-02-18 20:15:20 -06:00
9acd72571d FEATURE: Typed Lists in schema lib.
Schemas now allow list shapes to hold a list of the allowed
types in the list.

More work toward #6 and #32.
2019-02-18 18:49:25 -06:00
cccef4554d REFACTOR: refactor unnecessary modules into functions. 2019-02-04 19:48:51 -06:00
f1c7d76fdd REFACTOR: The great renaming macro -> func. 2019-01-24 20:04:40 -06:00
5bfe38140a FEATURE: Schema checks for particular shapes.
Progress toward #6 and #32.
2019-01-21 19:47:04 -06:00
6321828006 FEATURE: The begnnings of some schema definition utilities.
Also allow failure messages to be generated from any expression.
2019-01-20 08:32:05 -06:00
1d6c850fd4 FEATURE: Dynamic Type checking with is.
Any expression for the type as long as the expression evaluates to a string.
2019-01-19 13:06:43 -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
b18d513a9f FEATURE: Added some functional primitives to the stdlib. 2019-01-16 18:47:16 -06:00
b9b30a4bd1 FEATURE: Add a module for stripping NULL fields from a tuple. 2019-01-15 19:31:55 -06:00
5c2d8662bf FIX: Handle binding and named field collisions in lookups. 2019-01-13 22:51:20 -06:00
116a2b716a REFACTOR: Better name for the tuples field/value iterator. 2019-01-13 21:24:35 -06:00
547c271aa1 FEATURE: Special case the std/ import prefix.
It's a reserved import path for our std library.

closes #27
2019-01-13 20:35:23 -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
0f7498884a FEATURE: No longer require the dsl to output ok vs not ok. 2019-01-13 13:53:24 -06:00
6f9ba2ac33 FEATURE: Add the range expression.
fixes: #24
2019-01-10 19:40:32 -06:00
d2a5a1619a STDLIB: More stdlib additions.
* list reverse
* enumerate for tuples
2019-01-10 17:17:57 -06:00
db809fad97 STDLIB: Add some helper modules for tuples. 2019-01-10 17:17:57 -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