João v1.2.0
This release focuses on solidifying the behaviour of João by ironing out edge-cases and making it in general a more polished, production-capable product.
Features 📺
- In the globalscope, native functions
random()
andrandomseed()
have been added. - In
/table
, there's a new method:pick()
- You can now properly make classes which inherit from native classes such as
/table
! - João can now take some command line options.
-v
spits out the current version,-h
gives a help dialog listing the command options, etc. - João now has an interactive mode! If called with no arguments or with the
-i
argument, João takes on interactive mode, which allows writing an ad-hoc block within/main()
. - João now features several default global values! The math library now has
PI
andEULER
, and there's also__VERSION
,__VERSION_MAJOR
and other things to provide info on the version of João that the code is running on! - Some behaviour has been moved to flags you may pass to the João executable: the
-e
flag to mark that you want the execution times benchmarked and displayed, and-m
to mark whether you want the return value of/main()
to be put to stdout.
Bugfixes 💅
- Fixed some odd, broken inheritance behavior when building certain complex and overriding object trees.
- Fixed some runtime errors not providing the full, more descriptive runtime error dialogue.
- Fixed a critical bug around initializing a variable within a loop.
- João now better supports complex left-hand sides in assignment statements.
- Fixed weird parsing failures when attempting to access a multi-dimensional table by repetitive use of the bracket operator.
- Fixed a bug that caused João to crash unexpectedly after some runtimes.
- Fixed a bug where long comments on lines with whitespace would complain about "functional code" being on the same line as the comment.
- Fixed buggy behaviour when multiple flags were passed to the executable.