• Roman Alifanov's avatar
    Add optional static typing with TypeScript-style syntax · 5121e024
    Roman Alifanov authored
    - Add TypeAnnotation AST node for type annotations
    - Add ClassField dataclass for typed class fields
    - Extend Parameter, FunctionDecl, Assignment with type_annotation field
    - Add type parsing: parse_type(), parse_type_annotation(), parse_function_type()
    - Support types: string, int, float, bool, any, void, T[], dict[K,V], classes, (A) => B
    - Add type checking at compile time with configurable error handling
    - Add --no-type-check and --warn-types CLI flags
    - Fix callback variable calls (prioritize callback_vars, use $() capture)
    - Document closure limitation (lambdas can't capture outer variables)
    - Add 28 new tests for typing and callbacks (279 total)
    5121e024
Name
Last commit
Last update
..
methods Loading commit data...
__init__.py Loading commit data...
ast_nodes.py Loading commit data...
awk_codegen.py Loading commit data...
class_codegen.py Loading commit data...
codegen.py Loading commit data...
constants.py Loading commit data...
cse_codegen.py Loading commit data...
dce.py Loading commit data...
decorator_codegen.py Loading commit data...
dispatch_codegen.py Loading commit data...
errors.py Loading commit data...
expr_codegen.py Loading commit data...
lexer.py Loading commit data...
main.py Loading commit data...
parser.py Loading commit data...
stdlib.py Loading commit data...
stmt_codegen.py Loading commit data...
tokens.py Loading commit data...