aboutsummaryrefslogtreecommitdiff
path: root/src/typecheck.c
AgeCommit message (Collapse)Author
2025-08-23Don't align trailing commentsBruce Hill
2025-08-23Autoformat everything with clang-formatBruce Hill
2025-08-23Lots of cleanupsBruce Hill
2025-08-23Remove some unused importsBruce Hill
2025-08-19Some pedantic fixes vetted against compiling on mac.Bruce Hill
2025-08-17Don't allow compiling optional values into non-optional ones.Bruce Hill
2025-08-17Bugfix: added support for Tomo identifiers that are C keywordsBruce Hill
2025-08-17Major improvements to type inference to support `JSON({"key"=yes,Bruce Hill
"key2"=[1,2,{"ok"=JSON.Null}]})` and similar fancy type inference stuff.
2025-08-16Improved parsing and prefix/suffix matching using a `remainder`Bruce Hill
parameter
2025-08-10Add full protection against accessing fields and methods that start withBruce Hill
underscores outside of the scope where the type is defined.
2025-08-09Deprecate cords from the gc library in favor of dogfooding Text from theBruce Hill
Tomo standard library.
2025-05-25Optimize codegen for enums: no longer bother with a struct wrapper, butBruce Hill
just use a C enum type instead. This will make it easier to use externally defined enums in the future.
2025-05-21Added Set infix operations, as well as Table.with_fallback() and fixedBruce Hill
some bugs with update assignment.
2025-05-20Add more advanced configuration options to modules.ini and supportBruce Hill
automatically downloading and installing from it.
2025-05-17Add `modules.ini` file for import aliases, as well as default aliasesBruce Hill
for the built-in modules.
2025-05-11Add new system for tracking versions.Bruce Hill
2025-05-05Fix some permission stuff to make it more seamless to install toBruce Hill
directories the user doesn't own (e.g. /usr/local, owned by root)
2025-05-03Bugfix for promotions in comparisonsBruce Hill
2025-04-30Update wording to remove 'null'Bruce Hill
2025-04-30Update compiler to use randomly generated unique-per-file symbolBruce Hill
suffixes instead of needing to rename symbols with objcopy
2025-04-28Remove remaining printf referencesBruce Hill
2025-04-21Switch from XML to s-expressions and add --parse flag for printing themBruce Hill
2025-04-21Add `assert`Bruce Hill
2025-04-21Rename List.first() to List.where()Bruce Hill
2025-04-16Fixes to get the compiler to build with -O3Bruce Hill
2025-04-15Make some compatibility fixes to make sure the compiler can fully buildBruce Hill
using TinyCC
2025-04-15Deprecate `auto`Bruce Hill
2025-04-15Add configuration script to choose install paths and default C compilerBruce Hill
and bake those into the compiled Tomo code
2025-04-07Add table.get_or_set()Bruce Hill
2025-04-07Remove table.bump()Bruce Hill
2025-04-07Fix for (&table).keys being seen as mutableBruce Hill
2025-04-07Add Byte.to() method and improved micro optimization of iterating overBruce Hill
fixed-width integer ranges
2025-04-06Rename Array -> List in all code and docsBruce Hill
2025-04-06Allow uninitialized variables when there's a sensible empty valueBruce Hill
(defaults to empty/zero value)
2025-04-06Make it a bit more ergonomic to make function typesBruce Hill
2025-04-06Bugfix for default values for tablesBruce Hill
2025-04-06Expand reducers so they support stuff like `(+.abs(): nums)` andBruce Hill
`(==.length: texts)`
2025-04-06Change method calls to use `foo.baz()` instead of `foo:baz()`Bruce Hill
2025-04-06Deprecate `!!` print statementBruce Hill
2025-04-06Improve support for inferring the specific type of the `self` value in aBruce Hill
method call.
2025-04-05More fixesBruce Hill
2025-04-05More fixesBruce Hill
2025-04-05Misc fixesBruce Hill
2025-04-05Fix comparison with integer literalsBruce Hill
2025-04-05Fix some of the constructor logicBruce Hill
2025-04-05Fix up more thingsBruce Hill
2025-04-05Fix remaining metamethodsBruce Hill
2025-04-05Fix metamethods for scaled_by and divided_byBruce Hill
2025-04-04Misc fixesBruce Hill
2025-04-04First working compile of refactor to add explicit typing to declarationsBruce Hill
and support untyped empty collections and `none`s