f86d9b8ec6
FIX: Better error messages when importing.
...
If the path or directory doesn't exist show the invalid path in the
error message.
Fixes #37
2019-03-19 20:11:26 -05:00
40107cefb6
FEATURE: Parsing and evaluation with optional defaults in select.
2019-03-01 17:10:03 -06:00
e095cb3235
REFACTOR: AST changes to support optional defaults.
2019-03-01 16:52:08 -06:00
c8443b9181
MAINT: The great TODO cleanup.
2019-02-27 19:52:06 -06:00
d9b2c0cb00
FEATURE: out expression for modules.
...
issue #35
2019-02-21 20:09:47 -06:00
0e5751c2b0
REFACTOR: Use our new handy dandy to_boxed method on BuildError.
2019-02-20 21:21:48 -06:00
923ba89e2f
REFACTOR: Correctly use parse errors as a cause.
2019-02-20 20:39:28 -06:00
1699801895
FEATURE: Wrap include failures in a Build Error.
...
This is way more ergonomic for the users.
2019-02-20 20:29:32 -06:00
014710a4ba
FEATURE: Allow BuildErrors to wrap other errors.
2019-02-20 20:28:05 -06:00
8639912567
FEATURE: BuildError no longer requires a position.
2019-02-19 17:38:13 -06:00
ceaed5c543
REFACTOR: No longer require PositionedItem for Val::Tuples.
2019-02-19 16:38:06 -06:00
3cfbe6564c
FEATURE: Empty files result in Val::Empty as their result.
...
We also print a warning message for the consumer.
2019-02-19 15:32:04 -06:00
c7a87894ba
FEATURE: Add the %%
modulo operator.
2019-02-18 21:09:42 -06:00
214045f1a6
FIX: Better error messages for func calls.
...
Also better more consistency for some type fails in other expressions.
2019-02-08 20:57:13 -06:00
a1bc81ee89
FIX: Better error reporting for copy calls
2019-02-08 19:01:16 -06:00
6de26820c8
FEATURE: better error reporting for out statements
2019-02-06 21:06:05 -06:00
d354d9e67d
REFACTOR: build_assert -> eval_assert for consistency
2019-02-06 20:44:15 -06:00
24a4dc85c2
REFACTOR: the format logic belongs in the build module.
2019-02-06 20:35:33 -06:00
efef2bc3d2
FIX: Better error reporting for binary expressions.
...
Closes #34
2019-02-03 14:09:07 -06:00
a74d44c171
FIX: Even more and better error reporting.
...
Addresses: #34
2019-02-03 14:08:39 -06:00
2068063a5b
FIX: Better error reporting.
...
Also adds some testing functions to check build failures.
Begins to address Issue #34
2019-02-01 19:17:31 -06:00
71d4f6f620
FIX: env lookups should respect the strict flag.
2019-01-31 19:02:50 -06:00
4d6fd87c3d
FEATURE: Allow expressions for functions in reduce/map/filter.
2019-01-30 20:35:28 -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
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
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
5bfe38140a
FEATURE: Schema checks for particular shapes.
...
Progress toward #6 and #32 .
2019-01-21 19:47:04 -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
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
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
5b05405618
FIX: presence checks for tuples with NULL values works now.
2019-01-15 18:51:35 -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
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
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
50a3d33208
FEATURE: Generate a hashmap of path to String for std libraries.
...
prework for #27
2019-01-13 20:34:50 -06:00
c4505ac2ab
FEATURE: Add a counter for our assertion output per file.
2019-01-13 14:20:08 -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
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
83a641e740
FEATURE: Add regular expression comparison operators.
2019-01-07 19:38:25 -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