Releases: vtereshkov/umka-lang
Releases · vtereshkov/umka-lang
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
Umka 1.3
- Closures compatible with conventional functions
- Variable redeclarations allowed in multiple assignments
std.stdin(),std.stdout(),std.stderr(),std.fflush()- Dynamic access to API via
umkaGetAPI()without linking against Umka - API change:
umkaGetType()replaced withtypeptr() - Bug fixes