Skip to content

Kuroko v1.2.5

Compare
Choose a tag to compare
@klange klange released this 03 May 08:27
· 490 commits to master since this release

Kuroko 1.2.5

This is Kuroko, a dynamic, bytecode-compiled, interpreted language with significant whitespace and familiar syntax.

For a complete tutorial and sample code, please visit kuroko-lang.github.io.

If you believe you have discovered a bug in this release, please file an issue report here on Github or join #toaruos on Libera.chat to discuss the problem.

What's new in 1.2.5

  • Various build fixes for Windows targets.
  • Parser fixes around blank lines and comments before else, except, etc.
  • KUROKOPATH environment variable can be set to specify module paths on startup, similar to PYTHONPATH
  • Fixed some lock ordering issues in lists.
  • Added random.seed(), os.get_terminal_size().
  • Fixed an issue with str.replace() when strings had \x00 bytes.
  • Significant improvements to the performance of str.__add__.
  • The main repl binary now assigns the last repl result to __builtins__._ (if it's non-None)
  • slice objects have been added
  • __getslice__, __setslice__, and __delslice__ have been removed; slice objects are passed to __getitem__, etc., as in Python 3.
  • Fixed some instances where nested exceptions were being incorrectly replaced, such as when indexing a non-hashable type in a dictionary.
  • Precedence ordering for tuple and slice sequences in [] expressions has been corrected to match Python 3 (eg., 1:2,3:4 is (slice(1,2),slice(3,4)), not slice(1,(2,3),4))

Changes from 1.2.3 to 1.2.4

  • Fixed an issue when print() is passed keyword arguments but no positional arguments.
  • Various changes and additions to the os module.
  • __setitem__ on list and dict should return the set value.
  • Added abs() as a built-in.
  • Added support for keyword argument initialization of dicts.
  • dicts are now iterable, aliasing dict.keys().
  • Added dict.values, and the dictvalues iterator class.
  • Fixed issues with comparing floats and ints.
  • Fixed an issue wherein using del on table entries did not correctly update table sizes.

Changes from 1.2.2 to 1.2.3

  • The tuple hash algorithm has been improved with some inspiration from CPython.
  • Added list.__eq__.