Commit 70173bf
committed
* Separated a GlobalOptions module
* Removed astronomers specific rules
* Removed types from the astronomer rules.
* Learned: It's not always a great thing to denormalize data, it leads to inconsistency opportunities. An instance of premature optimization likely. Now I'm questioning why .ll does this.
* Added better humanizing of errors
* Added a MUCH better solver error printer
* Brought back the distinction between declaration names and imprecise names
* Made a better distinction between drop and free
* Fixed build failure counting bug in Tester
* Took out localRunes and knowableRunes from Astronomer, moved some of that logic back into astronomer.
* Learned: It's not always a great thing to pull as much logic as possible out of Templar. In this case, reducing the amount of code in Templar actually increased its complexity, ironically.
* Changed some astronomer tests into integration tests, feeding actual vale source code now.
* Learned: Unit tests have a high cost in maintaining the inputs. Perhaps unit tests only make sense on very established chunks of code.
* Moved a bunch of hardcoded functions (weaks, drop, free, array len, panic) to actual vale code.
* Made tuple an extern struct, using variadic members.
* We now internally support variadic members!
* Made a functor struct, to give to the array instructions, since they need a 'this' object basically
* Removed special PackTT type.
* Took out `all` function, pulled into a separate Collector class
* Added the "macro" concept, for any syntactical sugar features (or semantic sugar? like anonymous substructs, theyre kind of semantic sugar I guess?)
* Moved drop functions into macros.
* Moved anonymous substruct functionality into macros.
* Better distinction between a template name and a stamped name, see CitizenNameT vs CitizenTemplateNameT.
* Fixed types starting with _, like __Never
* Added free() functions for interfaces, which then call virtualfree(). Now, there is a normal free() function for every immutable type.
* Fixed printing exceptions twice in tests
* Added a "Location In Function" notion, so places in the code are marked by tree-shaped paths
* Made impl rules sane again, no more NMORFI!
Breaking changes:
- Void's name changed from Tup0_0 to Tup0
- To define abstract functions outside an interface, now need `sealed` on the interface
- To make custom destructors, need #!DeriveStructDrop now, and it's called `drop` not `destructor`.
- All parameters need a type. `fn do(callable)` -> `fn do<F>(callable F)`1 parent 5bcca34 commit 70173bf
File tree
290 files changed
+14695
-21968
lines changed- Midas/src/c-compiler
- metal
- region/rcimm
- Tester/src
- Valestrom
- .idea
- codeStyles
- Astronomer
- src/net/verdagon/vale/astronomer
- ruletyper
- test/net/verdagon/vale/astronomer
- Builtins/src/net/verdagon/vale
- resources
- CompileServer/src/net/verdagon/vale/compileserver
- Driver
- src/net/verdagon/vale/driver
- Hammer
- src/net/verdagon/vale/hammer
- test/net/verdagon/vale/hammer
- Highlighter/src/net/verdagon/vale/highlighter
- Hinputs
- src/net/verdagon/vale/hinputs
- IntegrationTests
- test/net/verdagon/vale
- benchmark
- Metal
- src/net/verdagon/vale/metal
- Options
- src/net/verdagon/vale/options
- Parser
- src/net/verdagon/vale/parser
- patterns
- rules
- test/net/verdagon/vale/parser
- functions
- patterns
- rules
- Scout
- src/net/verdagon/vale/scout
- patterns
- rules
- templatepredictor
- test/net/verdagon/vale/scout
- rules
- Solver
- src/net/verdagon/vale/solver
- test/net/verdagon/vale/solver
- Templar
- src/net/verdagon/vale/templar
- ast
- citizen
- env
- expression
- function
- infer
- macros
- drop
- names
- templata
- types
- test/net/verdagon/vale/templar
- Templata
- src/net/verdagon/vale/templar
- env
- templata
- types
- Tests/test/main/resources
- array/drop_into
- programs
- arrays
- downcast
- externs
- interfaceimmparamdeepexport
- interfaceimmparamdeepextern
- interfaceimmparamexport
- interfaceimmparamextern
- interfacemutparamexport
- structimmparamdeepextern/native
- functions
- genericvirtuals
- if
- lambdas
- virtuals
- Utils/src/net/verdagon/vale
- Vivem/src/net/verdagon/vale/vivem
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
290 files changed
+14695
-21968
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
181 | 181 | | |
182 | 182 | | |
183 | 183 | | |
| 184 | + | |
184 | 185 | | |
185 | 186 | | |
186 | 187 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
587 | 587 | | |
588 | 588 | | |
589 | 589 | | |
590 | | - | |
| 590 | + | |
591 | 591 | | |
592 | 592 | | |
593 | 593 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
702 | 702 | | |
703 | 703 | | |
704 | 704 | | |
705 | | - | |
706 | | - | |
707 | | - | |
708 | | - | |
709 | | - | |
710 | | - | |
711 | | - | |
712 | | - | |
713 | | - | |
714 | | - | |
715 | | - | |
716 | | - | |
717 | | - | |
718 | | - | |
719 | | - | |
720 | | - | |
721 | | - | |
722 | | - | |
723 | | - | |
724 | | - | |
725 | | - | |
726 | | - | |
727 | | - | |
728 | | - | |
729 | | - | |
730 | | - | |
731 | | - | |
732 | | - | |
| 705 | + | |
| 706 | + | |
733 | 707 | | |
734 | 708 | | |
735 | 709 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
349 | 349 | | |
350 | 350 | | |
351 | 351 | | |
| 352 | + | |
352 | 353 | | |
353 | 354 | | |
354 | 355 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
| 19 | + | |
18 | 20 | | |
19 | 21 | | |
0 commit comments