Releases: eischet/janitor
v0.9.36, minor fixes
Goodbye semicolon, hello *args and **kwargs
Updated grammar:
- Syntax is prepared for *args and **kwargs, but they are not fully implemented yet.
Notably, these are currently only available on functions, not on lambdas. - Semicolons are now optional at the end of a statement, similar to JavaScript
- Unused lexer symbols were removed: "|", "#".
- Function calls were simplified in the AST compiler.
- The syntax has been updated to see assignments as statements, not expressions, which
was intended from the start, but I somehow never got around to fixing. As a side effect,
the language is now stricter with unbalanced parentheses, which I have no real explanation
for, but which is a good thing. - The throw statement has been implemented.
v0.9.9
v0.9.8
v0.9.7
Added basic syntax highlighters for ACE, TextMate and VS Code. Added a logo.
Added several example scripts, some implementing challenges from sampleprograms.io.
Remove the "CompilerSettings", which allowed to automatically turn "." into "?.", which
was a bad idea from the start and caused subtle concurrency bugs in unit tests.
Lots of test improvements, some refactorings.
v0.9.6
What's Changed
- Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.4 to 3.2.5 by @dependabot in #19
- Bump dep.slf4j from 2.0.13 to 2.0.16 by @dependabot in #20
- Bump org.slf4j:slf4j-jdk14 from 2.0.12 to 2.0.16 by @dependabot in #21
- Added a number of unit tests.
- Converted JString into a composite instead of a wrapper.
- Durations can now be added and subtracted.
- The AST can now be written to JSON.
- Lots of names, signatures, comments cleaned up.
Full Changelog: v0.9.5...v0.9.6
0.9.5
0.9.4
Fixed some design mistakes with JsonOutputStream; a number of helper methods for writing optional values have
had their signature changes to key, value instead of the surprising value, key, and all have been renamed to "optional".
Enable mapping true|false|null for Java Boolean fields in dispatch tables.
Added some tests.
0.9.3
New JSR223 implementation. See Jsr223TestCase for a simple example.
Contexts are not implemented yet, but bindings should work reasonably well.
Note that this is currently just a by-product, "because we can", not our main artifact.
The "baseDispatch" in the builtin types interface can now be used to add properties/methods to all builtin
objects; all dispatch tables now support simple inheritance.
0.9.2
An older "class" implementation is removed and replace by a new "dispatch table" approach, which is easier to extend.
Most built-in classes have been updated to use dispatch tables instead of classes or even hand-written dispatch logic.
A number of implementation details have been moved out of the "api" into the "lang" implementation package.