Releases: stackoverflow/novah
Releases · stackoverflow/novah
v0.4.1
Features
- ability to add foreign imports to the repl
Changes
-
repl properly prints functions and the types of expressions
-
repl doesn't differentiate between expressions and definitions anymore
-
repl accepts redefinitions of previously defined variables
-
index operator now only works for lists
-
! operator now works for strings instead of lists
-
added
<primitiveArray>agetfunctions -
changed
<-operator to have the lowest precedence -
added
AutoCloseabletype class andwithOpenfunction -
language formatter is usable now
-
better indentation rules for binary operators, now they don't need indentation
// before fun x = value |> function1 |> function2 // after fun x = value |> function1 |> function2
Bug Fixes
- Fixed bug in list/set parsing where indentation was not ignored
v0.4.0
Features
- Added a basic repl to the language (
novah repl).
v0.3.1
Changes
- Native part of stdlib is cached locally for faster copying.
v0.3.0
Features
- Added new syntax for literal
BigIntegers andBigDecimals:100000N,100000.30M - Added support for
BigIntegers andBigDecimals in pattern matching
Changes
- Added
factorialfunction toMathmodule - Added
toStringListfunction toStringmodule - Added
Containedinstance toMap - Added
Showinstance to primitive arrays - Added
<primitiveArray>FromListfunctions toArraymodule - Added
readLinefunction to theIOmodule - Added range support for
BigIntegerandBigDecimal - Made
^operator generic and added implementation forFloat64,BigIntegerandBigDecimal
Bug Fixes
- Fixed bug in
novah runcommand where the standard input was not being redirected
v0.2.0
Features
- Added new syntax for foreign methods and fields:
obj#?method(...)andobj#-?field
which will return Option types instead of raw types - Added
@syntax to deref atoms - Underscores can be used in numbers now and will be ignored:
1_000_000
Optimizations
- The Option type is now native and compiles to plain (nullable) java objects, and boxed types in case of primitives
Changes
- Foreign functions and fields accept Option values now if they are not primitives
- Added
:=and::=to reset and swap atoms - Map keys now require an Equals instance
- Added
novah.bigintandnovah.bigdecimalmodules to stdlib - Converted reserved Java names before code generation
- Properly box primitives before casting to non-primitive types
- Removed null from the language (use Option type)
- Added
printlnErrandprintErrto the core library - Tests from
novah.testwill properly report which test failed before printing the error - Added
withTimefunction to core library - Bumped kotlin to 1.6.21
- Bumped some library versions
Bug fixes
- Fixed bug in code generation in return of longs and doubles
v0.1.2
- Fixed unification of records with empty labels
- Fixed record type annotation spreading
- Fixed bug in import parsing
- Fixed bug in auto derive Equals