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
c3025c710e
MAINT: Unit tests for let statement comopile failures
2019-02-08 18:50:58 -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
d407623709
MAINT: More error test coverage for list parsing.
2019-02-04 18:59:57 -06:00
276c155264
FIX: More error reporting improvements.
2019-02-03 20:56:21 -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
6a476d19dc
REFACTOR: Improve the typesafety of lookup_sym.
...
It's easier to ensure you don't forget a case if you have to enumerate
them all. So don't use the catch all in this match.
2019-01-31 16:42:49 -06:00
46ba32f038
FEATURE: Allow more expressions in the functional builtins.
2019-01-31 16:38:53 -06:00
3619153218
FEATURE: Syntax improvement for map filter and reduce.
...
closes #33
2019-01-31 16:33:12 -06:00
8aacd49a77
FIX: lookups on env variables were broken.
2019-01-30 21:34:59 -06:00
28129ba1de
FEATURE: change inspect to eval
...
Also make it easier to use by having sane defaults for the arguments.
2019-01-30 21:02:00 -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
2409f0c64e
FEATURE: Better attribution of errors to their file.
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
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
9767ea20b4
FEATURE: Better error messages for select expression parsing.
2019-01-16 17:47:07 -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.
2019-01-14 20:41:12 -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
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
92d2857f83
FEATURE: Add a default import_path search location.
...
We'll always search "~/.ucg".
2019-01-13 15:00:26 -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