Welcome to Rune
Rune is a programming language made to enforce stable code, while still being easy and somewhat fast. It is statically typed, immutable, interpreted and works on a different coding paradigm than most languages, we call it "collection based programming". I will explain more about this below.
Collection Based Programming
Collection based programming is a coding paradigm developed for Rune that is based on the idea of combining OOP and functional programming into a simple, stable way to write code. It is based on the idea of "collections" which are explained below.
In Rune, all code except for calling functions and defining collections, which are similar to a class just simplified, is written inside of collections. Collections are a way to group functions and variables together similar to a class, but are not instance based or have inheritance, just a simple box of functions and variables. Variables are also defined globally but are bound to their collection, so they can be accessed anywhere but still have a defined scope. This is done by using the collection name followed by the variable name, like this:
In this example the variable name is "varname" from the collection named "test_collection".
The purpose of collection based programming is to make code stable and still readable while still being easy to write as all variables can be accessed anywhere, but without the downsides of global scope.
In Rune all functions are lambda functions that are treated like variables, just like in functional programming. The difference is that in Rune, functions dont have arguments, instead variables are specified by what collection they are in as shown above.
The purpose of this is to make the code faster as less processing and storage are needed for functions.
Getting Started
To get started with Rune, you can download the latest version from the releases page and simply write your program in a .rn file as shown in this wiki, then just run the binary on it like so to execute the code:
For further information see the example code docs on this wiki.