125 Commits

Author SHA1 Message Date
879a8d2100 DEV: for the repl use case allow changed file reimports.
Closes #47
2019-05-28 19:55:35 -05:00
1589aaf7d7 Refactor: Use trait constraints instead of a trait object for our assets cache. 2019-05-28 18:24:02 -05:00
9382563dfc DEV: Adds a Repl for ucg.
Uses a StatementAccumulator to handle the accumulation of lines
until a line terminated with a statement is encountered.

Fixes #41
2019-05-26 16:20:19 -05:00
957d0c6102 DEV: Handle comments between statements. 2019-05-21 20:54:15 -05:00
6661e02a75 DEV: Generate a comment map as part of our tokenization.
The comment_map is optional but if passed in it will be populated
during tokenization.
2019-05-20 21:05:58 -05:00
525cdd32e6 FEATURE: Use the AST Pretty Printer for TRACE and assert output. 2019-05-17 19:49:13 -05:00
ec756636b0 FEATURE: Add a TRACE pragma for assitance debugging ucg files. 2019-04-26 19:19:43 -05:00
439ebf74f3 FEATURE: Give modules a reference to self. 2019-04-24 19:13:22 -05:00
3385c775d3 MAINT: Fix small comment inaccuracy. 2019-04-18 20:22:35 -05:00
1fbd1c0a50 FIX: Bug in dot_lookups
curr_val forms the basis of the scope search but it shouldn't be part of the
lookup expression for the field.
2019-04-18 17:36:16 -05:00
0e41a40ab3 FEATURE: Add a function to the mod binding that imports the containing package. 2019-04-16 20:09:27 -05:00
0e2e396ac3 FIX: Include source file for parsing/build errors in the std lib. 2019-04-15 22:18:39 -05:00
1f7d405a3b MAINT: Cleanup todos and unnecessary code. 2019-04-08 21:42:39 -05:00
2e38a3486e FIX: import cycle detection which was broken. 2019-03-29 10:24:07 -04:00
df8834dddc FIX: Grouped Expressions store their position properly now. 2019-03-26 20:45:33 -04:00
263e91c9f9 MAINT: Cleanup some todos and wording. 2019-03-23 21:16:30 -05:00
708f23c674 MAINT: cleanup old FIXME comment. 2019-03-21 19:53:49 -05:00
b6a7f9778c FEATURE: OS portable import and include paths.
Adds #38
2019-03-20 20:08:43 -05:00
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