347 Commits

Author SHA1 Message Date
160749ae5b REFACTOR: Remove builtin map and filter.
Work in progress.
archive/only_reduce
2019-01-30 20:38:17 -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. archive/tuple_templates 2019-01-28 22:01:49 -06:00
7b4995607c DOCS: More clarification about parenthesized format args. 2019-01-28 21:41:34 -06:00
315fbabc3d DOCS: update the grammar and expression docs.
Adds the new form of format expressions using tuples.

Regarding Issue #23
2019-01-28 21:31:02 -06:00
3c1b3ce86a FEATURE: Expression format string support.
Experimental support for Issue #23
2019-01-28 21:30:37 -06:00
44055c28e9 DOCS: Update docs with a bunch of fixes. 2019-01-24 20:07:19 -06:00
f1c7d76fdd REFACTOR: The great renaming macro -> func. 2019-01-24 20:04:40 -06:00
ff57c229dc MAINT: Bump version to v0.4.2 v0.4.2 2019-01-24 16:59:29 -06:00
0537cb6166 FIX: compile errors weren't treated as a numbered assertion. 2019-01-24 16:58:27 -06:00
016e4a22db FEATURE: Add the not operator. 2019-01-24 16:53:02 -06:00
2409f0c64e FEATURE: Better attribution of errors to their file. archive/split_filebuilder 2019-01-23 21:23:25 -06:00
3f69896a08 REFACTOR: Clarify the notion of working directory vs file. 2019-01-23 20:56:59 -06:00
b51231b3cb Callapse with below. 2019-01-23 20:07:01 -06:00
b56fb25c28 REFACTOR: Carry the source file around with the input iter. 2019-01-23 20:02:35 -06:00
b6c2a08c8f FEATURE: Better parsing errors.
More specific reports about what is wrong when we know the correct
next tokens to expect.
2019-01-22 20:59:25 -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
7959391b90 MAINT: Remove cpuprofiler.
I wasn't using it.
2019-01-19 13:30:06 -06:00
883f7792e6 MAINT: Bump version v0.4.1 v0.4.1 2019-01-19 13:18:06 -06:00
1d2008c2da DOCS: Updated todo list a little. 2019-01-19 13:14:51 -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
9b84444feb DOCS: Updated grammar and expression reference
`is` operator and the `fail` expression.
2019-01-19 11:47:39 -06:00
6d5d4c79de FEATURE: Declarative failures.
FIXES: #30
2019-01-19 11:39:37 -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
77075d6c79 DOCS: Added boolean expressions and TODO items. 2019-01-17 19:28:41 -06:00
d40e89fea9 FEATURE: Boolean Operators. 2019-01-17 19:20:01 -06:00
ea2297a5eb MAINT: Cargo fmt 2019-01-16 19:28:59 -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
9767ea20b4 FEATURE: Better error messages for select expression parsing. 2019-01-16 17:47:07 -06:00
692a52f46d MAINT: Add a target to make install. 2019-01-15 19:33:08 -06:00
b9b30a4bd1 FEATURE: Add a module for stripping NULL fields from a tuple. 2019-01-15 19:31:55 -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
98323eabbd FIX: Multiple packaging errors.
* The include setting doesn't do what I thought it did.
* Also when packaging the rules on what build.rs can do
  are a little more strict than was immediately apparent.
v0.4.0
2019-01-14 20:41:12 -06:00
5777797580 MAINT: Bump version v0.4.0 2019-01-14 18:40:36 -06:00
44d6247b46 DOCS: Modify the docs to reflect macros as closures. archive/closures 2019-01-14 18:34:37 -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
207a08d112 FEATURE: Better rendering of Val's to text. 2019-01-13 22:25:26 -06:00
924dcb40ff FEATURE: Allow people to override the descriptions
For equal and not_equal specifically.
2019-01-13 22:06:38 -06:00
38fc521e3e FIX: The in memory asset cache should no longer canonicalize.
The pseudo relative paths for std libraries won't work with them.
2019-01-13 22:05:20 -06:00
17a9882f40 DOCS: Document our standard library. 2019-01-13 21:30:33 -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
archive/builtins
2019-01-13 20:35:23 -06:00
50a3d33208 FEATURE: Generate a hashmap of path to String for std libraries.
prework for #27
2019-01-13 20:34:50 -06:00