Skip to content

v0.6.2-alpha

Pre-release
Pre-release

Choose a tag to compare

@Sim20004 Sim20004 released this 23 Sep 19:59
· 43 commits to main since this release

TeapotLang v0.6.2-alpha

TeapotLang v0.6.2-alpha introduces the first substantial implementation of semantic type checking, building on the symbol and scope analysis introduced in v0.6.1-alpha.

Highlights

Semantic type checking

TeapotLang can now perform significantly more validation of programs before later compilation stages:

  • Added type checking for variable declarations.
  • Added validation of datatype bounds.
  • Added detection of invalid and void datatypes.
  • Added operator type checking.
  • Added binary-expression type inference.
  • Added validation of function return types.
  • Unified return-type checking between functions and operators.
  • Added dedicated semantic errors for type mismatches and invalid return types.
  • Added handling for invalid type combinations in binary expressions.

These changes establish the foundations for the language's type system and allow semantic errors to be detected before code generation.

Improved semantic analysis

Semantic analysis has also been reorganised and expanded:

  • Split semantic analysis into separate modules.
  • Improved symbol registration and scope handling.
  • Added support for redefining already-initialised variables.
  • Added enum support to semantic analysis.
  • Added struct-field symbol construction.
  • Added function-argument handling.
  • Fixed break and continue handling in nested loops.
  • AST nodes that are intentionally handled by later compiler stages are now ignored by semantic analysis rather than incorrectly producing errors.

Testing and quality

This release significantly expands TeapotLang's test coverage and development infrastructure:

  • Added a large contributor test suite containing approximately 9,000 additional tests.
  • Added extensive semantic-analysis tests.
  • Added integration tests for type inference and invalid type combinations.
  • Restored the project to 100% test coverage.
  • CI now fails when test coverage falls below 100%.
  • Improved Codecov integration.
  • Added additional parser coverage.

Documentation and project improvements

  • Expanded and clarified the language specification.
  • Updated documentation to match the current implementation.
  • Added a project roadmap.
  • Expanded contributor and security documentation.
  • Added the TeapotLang trademark policy.
  • Continued improvements to the project website and release infrastructure.

Bug fixes

This release also includes numerous smaller fixes to the parser, semantic analyser, tests, build system, website, and development tooling.

What's next?

Semantic analysis is still under active development. The next stages will continue building the compiler pipeline towards code generation and runtime support.

v0.6.2-alpha is an early development release and should not be considered production-ready.