46e55484dd
refactor: another test helper macro
2025-07-21 18:32:45 -04:00
3e8771476f
feat: More Shape derivations
...
Some BuildError bits as well.
2025-07-21 18:32:45 -04:00
0e93ffb27b
feat: Typechecking: improving derive_shape
2025-07-21 18:32:45 -04:00
9ab2ce2be5
maint: The macro usage for shapes was confusing
2025-07-21 18:32:45 -04:00
b5c1418e30
FEATURE: add Binary expression type derivation
2025-07-21 18:32:45 -04:00
44986be0f5
Walker that can type check a simple binary expression
2025-07-21 18:32:45 -04:00
6ddc830210
DEV: Some walker trait refactoring
...
Enables chained visitors using the ChainedWalk implementation.
2025-07-21 18:32:45 -04:00
a3a7ce57ee
DEV: The beginnings of some shape Derivation
2025-07-21 18:32:45 -04:00
5a20012fcb
Better more reliable path normalization
2021-03-10 20:45:06 -05:00
3d34355fe7
DEV: AST enum for a shape.
2020-05-25 14:23:25 -04:00
159af40e7c
DEV: Unify the path rewriting
2020-05-25 12:15:55 -04:00
89a06135c9
MAINT: cleanup an errant dbg!
2020-01-04 08:12:22 -06:00
13f0749ac8
FIX: v0.7.0 completely broke stdlib loading.
2019-12-09 20:11:42 -06:00
632019ac18
DEV: Implement primitive casting.
2019-11-11 20:06:17 -06:00
7e3e598423
Merge branch 'master' into bytecode
2019-11-09 19:42:34 -06:00
b36a9513eb
MAINT: eprintln and dbg cleanup
2019-11-09 18:54:46 -06:00
6f714e6583
DEV: Canonicalize is never the right thing on windows.
2019-11-09 15:39:32 -06:00
34636a1743
MAINT: cargo fmt
2019-11-03 14:20:25 -06:00
db9b7aef43
DEV: More Windows file path handling fixes.
2019-11-03 14:19:14 -06:00
ac4dc2addd
DEV: All unit tests pass.
2019-10-17 17:57:06 -05:00
cd23430f5f
DEV: Complex Format expressions are supported now.
2019-10-17 17:57:04 -05:00
f349293400
FEATURE: Support a convert expression.
2019-06-20 19:28:20 -05:00
957d0c6102
DEV: Handle comments between statements.
2019-05-21 20:54:15 -05:00
2821d0953b
FEATURE: First make our AST Walker a little more ergonomic.
...
Use a trait instead of callbacks to make mutable it possible to support
Walkers with mutable internal state when necessary.
2019-05-14 20:54:06 -05:00
ec756636b0
FEATURE: Add a TRACE pragma for assitance debugging ucg files.
2019-04-26 19:19:43 -05:00
df8834dddc
FIX: Grouped Expressions store their position properly now.
2019-03-26 20:45:33 -04: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
8639912567
FEATURE: BuildError no longer requires a position.
2019-02-19 17:38:13 -06:00
c7a87894ba
FEATURE: Add the %%
modulo operator.
2019-02-18 21:09:42 -06:00
6de26820c8
FEATURE: better error reporting for out statements
2019-02-06 21:06:05 -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
016e4a22db
FEATURE: Add the not operator.
2019-01-24 16:53:02 -06:00
b56fb25c28
REFACTOR: Carry the source file around with the input iter.
2019-01-23 20:02:35 -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
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
e838554fff
FIX: Modules were attempting to conver std imports into absolute paths.
2019-01-15 19:22:10 -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
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
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
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
e46496c666
FEATURE: Add a reduce operator for lists and tuples.
...
fixes #19
fixes #21
2019-01-06 20:57:37 -06:00