26 Commits

Author SHA1 Message Date
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