Liberty Basic 4 is now in Alpha testing. It looks like it's going to be a big step forward for the language. Here's a brief list of the new features:
True global variables. (declared using the new global keyword)
Passing arguments to a sub or function by reference. (I complained about the lack of this feature in LB3 about 4 posts ago.)
Handle variables and the new maphandle command. (liberation from static handles to windows, controls and files)
Dynamic evaluation of Liberty Basic code inside of a running program. ( eval returns a numeric value and eval$ returns a string value)
Subroutines can now be used for event handlers. (a better choice over branch labels for large programs)
There are many other enhancements, but these are the big ones. The IDE also has a new feature that lets you create tutorials or lessons using a three-pane window. On the left pane is the outline of the lesson. On the upper right pane is the lesson text. On the lower right pane is LB code...
My lifelong quest for playful programming and simple, reliable computing in all of its forms