zeolite-lang v0.6.0.0 Release Notes
Release Date: 2020-05-14 // almost 4 years ago-
Compiler CLI
[behavior] Improves error messages for type mismatches and return-count mismatches.
[behavior] Improves the efficiency of loading metadata for dependencies.
[breaking] Fixes module-staleness check when running tests (
-t
).[breaking] Prevents binaries from being created from main categories that are defined in
$TestsOnly$
sources. (This was the original intention, but it was missed the first time around.)
Language
[new] Allows
@category
members inconcrete
categories to refer to each other during initialization.[new] Adds the
$ExprLookup[
MACRO_NAME
]$
pragma, which allows the user to define expression substitutions in.zeolite-module
.[new] Adds the
$NoTrace$
pragma, which skips generating stack-trace information for specific functions. This is useful for deeply-recursive functions whose full trace would not be useful.[new] Adds the
$TraceCreation$
pragma, which appends a trace for the creation of a value when there is a crash in one of its functions. This is useful when the crash stems from value initialization.[fix] Fixes parsing of the
'"'
Char
-literal.
Libraries
[new] Adds the
ErrorOr<#x>
category tolib/util
. This allows functions to return either the expected type or an error message.[new] Adds the
Void
category tolib/util
. This can be used to ignore type parameters when a value still needs to be instantiated.[new] Adds the
readAll
function toTextReader
(inlib/util
) to support reading an entire file at once.[breaking] Adds crashes when attempting to read
RawFileReader
or writeRawFileWriter
if there is a preexisting file error.