blz v2.6 changelog

After 7 months and nearly 200 commits, blz version 2.6 is ready for release.

To install blz v2.6, see instructions on the docs site

Here's whats new in v2.6

  • File Operations and Network Operations
  • Testing Support
  • Visual Studio Code Extension
  • Custom Comparison Functions
  • Lambda Functions
  • Custom Error Handling
  • JSON / CSV Parsing Packages
  • Massively Improved Error Messages
  • Docs Site
  • Web Shell
  • Tons of smaller stuff

File Operations and Network Operations

blz version 2.6 adds 2 new libraries to help read and write to file or network resources.
The FileSystem package allows you to open resources.
The Core package now includes resource operations to read or write to open resources.

Reading from a file is simple.

As is reading from a website.

Testing Support

blz v2.6 adds a new Test package to help you write tests for your blz code.
All assertions start with the expect helper method. You can expect that something is, is_not, is_true and much more.

A new command line option has been added that lets you run all tests and only tests.
This will simply run all methods that start with test in the specified files

Visual Studio Code Extension

A Visual Studio Code extension has been developed that gives blz syntax highlighting

The extension is now available on the marketplace.
You should be prompted to install it when opening a .blz file, but you can also find it here.

Comparison Functions In Constructors

You can now specify == and < functions in your constructor.
From these two methods, all other comparison operators will be inferred (>, >=, !=, etc).

Lambda Functions

blz now supports lambda functions.
Simply use the syntax arg1, arg2, arg3 -> result to declare one
Here's an example using the map function

Error Handling

blz v2.6 adds the try-catch block that can be used to catch errors.

Errors can also be thrown with the new throw keyword

JSON / CSV Parsing Packages

blz v2.6 includes the JSON and CSV packages to assist with parsing .json and .csv files.

Massively Improved Error Messages

Runtime errors now give a full stack trace.
Errors will also include the line number where the problem occured.

An added lexer makes catching syntax errors much easier.
Many more syntax errors are correctly reported, and errors themselves should be more verbose.

Docs Site

A new docs site has been made that hosts all the information previously on github.
A ton more documentation has been written for this release.

Web Shell

An interactive webshell has been made, give it a try.

Thanks and info about getting involved

Special thanks to James Vaughan, and Vinh Nguyen who have been helping me with different parts of the language ecosystem.
If you would like to get involved, see the issues page.
There are plenty of easy tasks to get started, and we would love to see more contributors!

More Complete Changelog

A more complete changelog is available here