v0.11.0
Frame v0.11.0 Release Notes
We're thrilled to introduce Frame v0.11.0, featuring a range of exciting enhancements to the Frame language, offering increased power and standardization to the notation. This release also includes a significant improvement to the transpiler, now allowing input from stdin in addition to accepting file paths, thus enhancing integration with CI/CD processes involving Frame.
Changelog
(Note: The new language features are currently supported in Python 3, with support for other languages in future releases.)
New Language Features and Updates
Functions
-
Introduction of Functions:
Developers can now easily construct simple Frame programs with the introduction of functions. The current syntax supports a singlemain()function, with the upcoming v0.12 release extending support for an unlimited number of functions.
System Controller Instantiation
-
Frame Systems and Control:
With the inclusion of Frame functions, developers can now create fully functional Frame programs, gaining the ability to instantiate and control Frame systems. This allows for comprehensive control over system initialization, state parameters, start state parameters, and domain variables.
Operations
-
Frame Operations:
Frame operations, publicly accessible methods that bypass the state machine, now offer privileged access to system domain data. Additionally, operations can be designated as static, enabling systems to provide libraries of associated functionality for complex or repetitive system management routines.
Enums
-
Enum Support:
Frame now supports system-enumerated types, enhancing the expressiveness of the language.
Loops
-
Looping in Frame:
Frame now supports two types of loops: For-like loops and Infinite loops, providing developers with versatile options for program flow control.
Stdin support
The CLI has been updated to support stdin:
framec -language python_3 < HelloWorld.frm > HelloWorld.rs
or
cat HellowWorld.frm | framec -language python_3 > HellowWorld.go