Releases: vtereshkov/umka-lang
Releases · vtereshkov/umka-lang
Umka 1.5.6
- Language:
- Parameter types may be declared after use in function types
stris a predeclared identifier rather than a keyword
- API:
umkaAddClosureadded
- Interpreter:
- Optimized bytecode compiler and virtual machine
- Backup garbage collector
- Leak santitizer controlled from Umka code
- Reduced binary size and compile times
- Improved disassembly output
- Bug fixes
Umka 1.5.5
- Optimized maps
- Multi-line string literals
- Static type checking in
printf/scanfformat strings std::Fileclosed automatically upon going out of scopecapfor stringstypeptrdeprecated- New C API functions for accessing Umka data types:
umkaGetParamType,umkaGetResultType,umkaGetBaseType,umkaGetFieldType,umkaGetMapKeyType,umkaGetMapItemType umkaRunmay be called multiple times or not called at all- Bug fixes
Umka 1.5.4
- Intuitive value-based comparison semantics for structured types
- Dynamic arrays allowed as map keys
- Safer and more flexible weak pointers
- Full UTF-8 support on Windows
- Shadowed declarations diagnostics
- New C API functions to store arbitrary user metadata
- Virtual machine optimizations
- Numerous bug fixes
Umka 1.5.3
- Trailing commas allowed in composite literals
selfptrbuilt-in function- Bug fixes
Umka 1.5.2
- Digit group separator
_in numeric literals - Better error detection
- Bug fixes
Umka 1.5.1
- Builtin
absfor integers - Better overflow diagnostics
- Bytecode optimizations
- Bug fixes
Umka 1.5
- New builtin functions for fibers:
make,valid,resume - Builtin
sort - New pseudo-random number generator
- Heavily optimized maps
- New C API for accessing Umka functions:
umkaGetParam,umkaGetUpvalue,umkaGetResult,umkaGetInstance,umkaMakeFuncContext - Optimized bytecode generator
- Better error diagnostics
- Improved syntax highlighting for Sublime Text
- Bug fixes
Umka 1.4.1
- Dynamic array literals are allowed in constant expressions
- Umka->C->Umka call chains are allowed
- Improved syntax highlighting for Sublime Text
- Bug fixes
Umka 1.4
- New
a::bsyntax for imported identifiers to distinguish them from field/method access - Separate namespace for module names
- Enumeration type
- Improved type inference for composite literals and enumeration constants
- Recursive types containing dynamic arrays or maps
- Friendly weak pointers
%lvand%llvformat specifiers for pretty-printing withprintf()main()is optional- New
std::assert()and improvedstd::exitif() - Improved disassembly output
- Bytecode optimizations
- Bug fixes
Umka 1.3.1
for..innow allows accessing collection items by pointer- Error handling:
error()is removedexit()now accepts an error code returned to the OS and an optional error messageumkaRun()andumkaCall()now return an error code (0 on success)umkaAlive()is added to check if the interpreter can still executeumkaRun()orumkaCall()std.Err,std.error(),std.exitif()are added for graceful error handling
- Unicode support:
printf()on Windows fixed- Locale parameter in
umkaInit()is deprecated
- Bytecode optimizations
- Cyclic import detection
- Bug fixes