aboutsummaryrefslogtreecommitdiff
path: root/src/typecheck.c
AgeCommit message (Collapse)Author
2025-09-01Make text indexing optionalBruce Hill
2025-08-31Switch to using optional return values for list indexing.Bruce Hill
2025-08-31Merge branch 'main' into formatterBruce Hill
2025-08-31Add argument aliases so programs can use `func main(verbose|v=no)` to doBruce Hill
single-letter argument flags.
2025-08-29Fix for typechecking reductionsBruce Hill
2025-08-25Splitting out parser more.Bruce Hill
2025-08-25Split out some parser functionality.Bruce Hill
2025-08-25More docs and moving parsing into a subfolder.Bruce Hill
2025-08-24Remove vim modelinesBruce Hill
2025-08-24Constructors and functions with underscore arguments should be allowed to be ↵Bruce Hill
called, but only if the underscore arguments are not provided but are implicit from the default values. Same for constructing structs with private fields.
2025-08-24Code cleanupBruce Hill
2025-08-24Better error messageBruce Hill
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