- Concurrency features
- Database support and SQL queries
- Cross-language import of Java classes
- Mocking features
- Run file by disabling/enabling contracts
- Convert string to number
- Enhanced HTTP Request/Response support for methods (POST, PUT, DELETE, etc.)
typeOf
function to determine the type of a variable.
- Add custom error messages for failing contracts (like for assertions).
- Fixed function calls in the REPL.
- Critical (runtimeError) vs warning/check (stderr) assertions
- Enabled URL protocols for native image support
- Resolved null pointer bug in AST visualization
- Introduced
time
,random
, andhttp
modules in Larder library
- Added the
--visualize
flag to visualize the AST of the parsed program file. - Implemented the
larder
standard library internals. - Modulo (
%
) operator support for integers and floats. - Implemented the
larder/collections
,larder/string
andlarder/io
stdlib modules.
- Workflow adjustments to ensure resource inclusion in builds
- Handle source file not found error in Tahini itself.
- Include larder resources in the native image build.
- Namespaced import functionality
- Addressed error handling and improved documentation for namespaced imports
- Introduced namespace and import functionality
- Introduced "scoop" functionality to directly flat import all environment variables
- Circular import detection
- Improved error reporting for scanner and parser across multiple files
- Implemented hashmap functionality, allowing for map expression and value access
- Extended built-ins with
len
function and slicing for strings
- Introduced array functionalities including length retrieval, concatenation, slicing, and element access with
[]
operator
- Improved error reporting for built-in functions
- Release workflow enhancements to support beta versions and note updates
- Parsing and interpreting list variables
- Documentation for user inputs and other built-in functions
- Mock standard library support for input handling
- Updated testing framework to handle user inputs
- Initialised core interpreter components: scanner, parser and interpreter
- Implemented core language features: variables, expressions, statements (loops, conditionals, functions, logic), error reporting
- Introduced assertions, function contracts, test block support, and test mode
- Initial build setup and release workflow