407 Commits

Author SHA1 Message Date
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
92d2857f83 FEATURE: Add a default import_path search location.
We'll always search "~/.ucg".
2019-01-13 15:00:26 -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
3cfed0d0e1 FEATURE: Better error reporting using must!.
Some errors around punctuation were less than helpful. This should
improve that situation somewhat.
2019-01-13 14:31:04 -06:00
c4505ac2ab FEATURE: Add a counter for our assertion output per file. 2019-01-13 14:20:08 -06:00
cacb345000 DOCS: Reflect the changes in import expressions.
Update the docs to remove the import statement and add the import
expression.

adds: #28
archive/import_expressions
2019-01-13 14:11:20 -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
f022e71c0c TESTS: Added some new test coverage. 2019-01-10 17:17:57 -06:00
21c4237e22 MAINT: Bump version in Cargo.toml archive/release0.3.0 2019-01-10 17:15:56 -06:00
1b45066f39 BUGFIX: Found a bug in deep equality for lists :-( v0.3.0 2019-01-08 19:26:56 -06:00
544cd1572e MAINT: remove extraneous files 2019-01-08 19:25:52 -06:00
f5ed6deec2 TESTS: more test coverage in the integration tests. 2019-01-08 17:22:46 -06:00
03d69ede42 FEATURE: Allow the inpsect command to process full expressions.
Related to #22
2019-01-07 19:50:15 -06:00
8dc5b43a93 FIX: our DOT binary operator change broke symbol validation logic for macros. 2019-01-07 19:43:50 -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
a062332b0a DOCS: Add reduce expressions to the grammar and reference. 2019-01-06 21:04:01 -06:00
e46496c666 FEATURE: Add a reduce operator for lists and tuples.
fixes #19
fixes #21
2019-01-06 20:57:37 -06:00
292a4a810e MAINT: Bump version to v0.2.10 v0.2.10 2019-01-06 16:36:00 -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
d40f30dcf9 DOCS: Add the list and map expressions to our grammar. 2019-01-06 14:53:03 -06:00
1b744ab883 DOCS: keep all tokens together. 2019-01-06 14:45:36 -06:00
f219b320f2 DOCS: Fix some inaccuracies in the grammar. 2019-01-06 14:30:25 -06:00
dbadfa1c4c FEATURE: Suppport quoting self and env when we need them as tuple fields. 2019-01-06 14:28:29 -06:00
47163ef010 DOC: Fix docstring for registry new constructors. 2019-01-05 15:51:59 -06:00
2c3f9c7b8f Add base64 as an importer type aside from string. 2019-01-05 14:33:12 -06:00
e2f639a440 REFACTOR: unnecessary where clause. 2019-01-05 13:34:29 -06:00
7793404975 MAINT: use dyn syntax for trait objects now. 2019-01-05 13:27:51 -06:00
b59954799d TESTS: expand modules test coverage. 2019-01-05 13:03:57 -06:00
922955ad0a DOCS: Normalize naming of UCG for consistency. 2019-01-05 09:56:07 -06:00
6c0da11ff7 DOCS: More unit tests and reorganized docs for selectors. 2019-01-05 09:05:02 -06:00
9d6737149f DOCS: Update our reference.
* add the `in` operator.
* add the include expression.
2019-01-04 10:34:57 -06:00
c4b765bd69 Bump ucg version to v0.2.9 v0.2.9 2019-01-04 10:17:35 -06:00
8aa47282cd DOCS: Fix some reference links. 2019-01-04 10:16:57 -06:00
a830047784 FEATURE: Add include as a string functionality.
Includes happy path tests for including a string.

fixes #15
2019-01-04 10:03:50 -06:00