The ezr²
Programming Language
ezr², or ezrSquared when you can’t use the ²
symbol - is an easy to learn and practical interpreted programming language for beginners and experts alike made in C#! For more information check out the Introduction and Documentation page.
Table of contents
Advantages
- High-level
- Interpreted
- As close to “natural” language as possible while being practical
- Easily embeddable
- Easily extensible through C#
- Free and open source
Features (Existing and Planned)
- Interactive shell
- Dynamic typing
- Object-oriented programming
- Error handling
- Rich set of operators
- Support for modules
- Support for C# through CSAELS
- Multiple paradigms
- Automatic memory management
Installation
BEFORE YOU START CODING: ezr² is still in pre-release status. That means ezr² might get backwards-incompatible updates every now and then.
Now, to install ezr² on your PC, follow these steps:
Windows (32 and 64 bit)
- Download the latest release of ezr² (
ezrSquared.Installer.Windows.32-bit.exe
for 32-bit systems orezrSquared.Installer.Windows.64-bit.exe
for 64-bit systems) from GitHub. - Run the installer and go through the installation.
- Verify that ezr² is installed by running
ezrSquared
in a terminal - the ezr² biShell (built-in shell) should open (press Ctrl+C to exit). - Start coding!
Linux (64 bit)
- Download the latest release of ezr² (
ezrSquared.Linux.tar.xz
) from GitHub. - Extract the
tar.xz
file to a folder of your choice. - Add the folder to your PATH environment variable.
- Verify that ezr² is installed by running
ezrSquared
in a terminal - the ezr² biShell (built-in shell) should open (press Ctrl+C to exit). - Start coding!
Android
Check out ezr² Portable Interpreter on Google Play, an interpreter made with the help of ezr² Net4.8 in Unity!
Other
For other OSes you can clone the repository, and compile your own build. If you’re a contributor, feel free to add the build to the latest release.
If you are interested in how ezr² was embedded to the portable interpreter, check out the C# in ezr² page.
Usage
An ezr² script has the extension .ezr2
. To run an ezr² script, use the ezrSquared
command followed by the path to the script file:
> ezrSquared hello.ezr2
Use the "ezrSquared" command without any arguments to start the biShell:
> ezrSquared
You can type any valid ezr² expression in the shell and see its result.
Documentation
The official documentation for ezr² is available in the Introduction and Documentation page, but is still work in progress. Meanwhile, check out some example programs in GitHub.
The offline version of the ezrSquared website was made possible with Jekyll Offline. The documentation is packaged with the Windows installer. For other OSes, download and extract ezrSquared.Offline.Documentation.zip
, which is available for download with each release on GitHub.
Latest Updates
For those confused by the versioning: 1st place -> Major; 2nd place -> Feature; 3rd place -> Quality of Life; 4th place -> Library; 5th place -> Patch. I plan to switch to Semantic Versioning 2.0.0 for the first stable release.
- prerelease-1.5.1.3.0 - [03-05-23]
- Added new functions
get_window_size
,set_window_size
,get_window_position
andset_window_position
- toConsole
class in the IO library - Function
set_buffer_size
inConsole
class in the IO library now uses theSetBufferSize
C# function
- Added new functions
- prerelease-1.5.1.2.0 - [01-04-23]
- Added new functions
get_buffer_size
andset_buffer_size
toConsole
class in the IO library - Unsupported functions in
Console
class in the IO library will now show new error if called
- Added new functions
- prerelease-1.5.1.1.0 - [27-03-23]
Console.set_cursor_position
in the IO library now accepts two seperate integers
- prerelease-1.5.1.0.1 - [25-03-23]
- Fixed bug in special function
equals
- Fixed bug in special function
- prerelease-1.5.1.0.0 - [23-03-23]
- “all” keyword and ‘,’ symbol now interchangeable in normal and QuickSyntax
include
expressions
- “all” keyword and ‘,’ symbol now interchangeable in normal and QuickSyntax
- prerelease-1.5.0.0.0 - [21-03-23]
- More major changes to module/library system and
include
expression - Context name of value-derived types now the name of the derived type
- More major changes to module/library system and
Contributing
ezr² is an open source project and welcomes contributions from anyone who wants to improve it.
If you want to contribute to ezr², please contact Uralstech at info@uralstech.in
.