85 Commits

Author SHA1 Message Date
188907d807 feat: Infer tuple field shapes from DOT operator 2025-07-21 18:32:45 -04:00
54043e4dc9 feat: module type inference 2025-07-21 18:32:45 -04:00
3a6a646e55 feat: tests and code to infer select expression shapes 2025-07-21 18:32:45 -04:00
76f1f0dee6 refactor: Get rid of the unecessary PositionedItem 2025-07-21 18:32:45 -04:00
c7c26222fc tests: Expand our symbol inference test some more 2025-07-21 18:32:45 -04:00
a14caa77c8 feat: Get rid of Empty in favor of Narrowed
Infer symbol from expression it's used in.
2025-07-21 18:32:45 -04:00
b1d6571194 maint: Various cleanups and TODO stuff 2025-07-21 18:32:45 -04:00
c88b5eaf84 refactor: Make DeriveShape trait 2025-07-21 18:32:45 -04:00
a301ff7dfe refactor: Use Rc<str> instead of string 2025-07-21 18:32:45 -04:00
b07147367c feat: Func shape derivation 2025-07-21 18:32:45 -04:00
bdfa424545 feat: Tuple shape narrowing 2025-07-21 18:32:45 -04:00
5835adbf7a feat: list shape narrowing 2025-07-21 18:32:45 -04:00
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