Skip to content

Releases: eischet/janitor

v0.9.36, minor fixes

27 Oct 07:57

Choose a tag to compare

Just a few cosmetic changes:

  • fix snapshot repo for automatic builds on GitHub Actions
  • remove a number of leftover debug statements that wrote to stderr/stdout

Goodbye semicolon, hello *args and **kwargs

21 Oct 08:37

Choose a tag to compare

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

11 Sep 15:17

Choose a tag to compare

Minor changes only.

New 'md5' and 'sha256' methods on binary values to calculate checksums.
Provide easier access to the dispatch tables for builtin types, though I'm not happy with having those implementation details in the API.

v0.9.8

05 Sep 13:17

Choose a tag to compare

0.9.7 broke filter scripts with implicit objects in an app; restoring old behaviour.

v0.9.7

05 Sep 12:28

Choose a tag to compare

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

13 Aug 11:41

Choose a tag to compare

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

07 Aug 14:50

Choose a tag to compare

Merged addModule/registerModule in the Environment interface, of which one was only an empty stub.
Small fixes for Scopes.

0.9.4

02 Aug 09:43

Choose a tag to compare

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

30 Jul 14:34

Choose a tag to compare

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

29 Jul 12:06

Choose a tag to compare

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.