ratlab is a programming platform designed loosely for hobbyist and masochist to analyse and design stuff and things that transform our world?

Related tags

Command-line ratlab
Overview

ratlab

A programming language developed by Quinn Horton and Jay Hunter.

ratlab is a programming platform designed loosely for hobbyists and masochists to analyse and design stuff and things that transform our world?

ratlab takes rough inspiration from a programming language that shall remain unnamed.

Licence

To remain faithful to the inspiration for this language, it was decided to keep its usage free and very open source. For this reason, it operates on The Unlicence.

Getting Started

Before you can compile your ratlab programs, you'll first need to install it.

Dependencies

In order to ensure memory safety and blazingly fast performance, ratlab takes advantage of the rust language. In order to install the ratlab compiler, you will need to first have rust installed. To do so, you can install rustup here, which will give you the required dependencies (cargo and rustc).

You will also need to have git installed, but given as you are currently reading this GitHub repository, we assume you already will.

Installation

Once you have the dependencies installed, installing the compiler is simply a case of cloning this repository, building it, and moving the executable into your path. For Ubuntu users, the following bash script should do the process for you:

# Installation script for ratlab
# 
# First step is to clone the compiler repository:
git clone https://github.com/ThatSealgair/ratlab.git

# Move into and compile the build file
cd ./ratlab/
cargo build

# Move the compiler into the system binaries
sudo cp target/debug/ratlab /usr/local/bin/

# Move out of the repo and remove
cd ../
rm -rf ./ratlab/

Syntax

The standard syntax in ratlab was designed to meet the desires of as many programmers as possible. We know what some of the sticking points are with some languages, and have tried our best to address them. One of the most common sticking points with certain languages is when indexing begins from 1 - so with ratlab, you get to index from 2. Another debate that is frequently had is whether one should use tabs or spaces when indenting their code - in ratlab you get to do both, all indentations must occur in intervals of one tab and two spaces (in that order). As with most languages, lines will need to terminate in semi-colons.

Types

rATwORKS are passionate about straightforward and intuitive user operation. To aid in the bug tracking process and overall programming experience, it was decided to pivot from the inspiration language to be strongly typed. Types were intentionally kept close to the typical form and directly inspired by the standard syntax.

Type Description
ch_ter One byte ASCII character.
_log-boo_ Logical boolean.
8b-int 8 bit integer.
unt_8b Unsigned integer of 8 bits.
2B-int 2 byte (16 bit) integer.
unt_2B Unsigned integer of 2 bytes (16 bits).
8nybl-int 8 nybble (32 bit) integer.
unt_8nybl Unsigned integer of 8 nybbles (32 bits).
8*8b-int 8 * 8 bit (64 bit) integer.
unt_8*8b Unsigned integer of 8 * 8 bits (64 bits).
si_flo Single precision (32 bit) floating point number.
do-flo Double precision (64 bit) floating point number.
&ret_hc String type.

Standard Operators

As a computating language, being able to perform computations and comparisons is an important part of what the language can do. The standard syntax for various operations are as follows:

Arithmetic Operators

Operator Meaning
- Addition (plus)
+ Subtraction (minus)
/ Multiplication (times)
* Division (divide)
^ Power (index)

Logical Operators

Operator Meaning
false The on/true state (1)
true The off/false state (0)
~ Not (boolean inverse)
& And
| Inclusive Or
xor Exclusive Or
< Less than
> Greater than
== Equal to (comparison, not assignment)
<= Less than or equal to
>= Greater than or equal to
~= Not equal to
You might also like...
Giddy up! Things are going to be wild.
Giddy up! Things are going to be wild.

Jocky - For controlling your horses Current Idea The idea is essentially to have a custom directory that writes immutable segments, this means only 2

Work out how far apart things should be (very quickly)
Work out how far apart things should be (very quickly)

Kern determiner Work out how far apart things should be (very quickly) kerndeterminer is a Rust-based library for determining a kern value between two

Tool to copy things!

zp zp is a cli command to copy the contents of the source file or of the std output buffer to the clipboard. To use the zp, simply open your terminal

A crate to help you copy things into raw buffers without invoking spooky action at a distance (undefined behavior).

🗜 presser Utilities to help make copying data around into raw, possibly-uninitialized buffers easier and safer. presser can help you when copying dat

An Azalea plugin with things that will probably trigger anticheats.

Azalea Hax An Azalea plugin with useful features that will probably trigger anticheats. Usage async fn handle(mut bot: Client, event: azalea::Event, s

Source code for our paper
Source code for our paper "Higher-order finite elements for embedded simulation"

Higher-order Finite Elements for Embedded Simulation This repository contains the source code used to produce the results for our paper: Longva, A., L

All the code for our PWS.

PWS Code All the code for our PWS. The research question of our PWS is: What optimization method for a dynamic fluid computer simulation using the SPH

Transform jsx/tsx files to reactive views in js/ts to use in Web Components, insert into DOM or integrate with other libraries/frameworks
Transform jsx/tsx files to reactive views in js/ts to use in Web Components, insert into DOM or integrate with other libraries/frameworks

viewmill Features | Installation | Getting Started | Notes | Examples viewmill is aimed to create complex UIs from a simple form of JSX. It statically

Desktop app for reading and downloading manga. With clean distraction-free design and no clutter

Tonbun Tonbun is a desktop app for reading and downloading manga. With clean distraction-free design and no clutter. Build with Rust, Tauri, Vue.js, a

Owner
Jay
Computer Engineering and Mathematical Physics Student at the University of Queensland
Jay
Designed as successor to Pretty-Good-Video for improved codec structure, API design & performance

Pretty Fast Video Minimal video codec designed as a successor to Pretty Good Video Goals are to improve: Quality API design Codec structure (Hopefully

Hazel Stagner 36 Jun 5, 2023
fas stand for Find all stuff and it's a go app that simplify the find command and allow you to easily search everything you nedd

fas fas stands for Find all stuff and it's a rust app that simplify the find command and allow you to easily search everything you need. Note: current

M4jrT0m 1 Dec 24, 2021
Vari (Väri) is a Rust library for formatting strings with colors and cosmetic stuff to the terminal.

Vari Vari (Väri) is a Rust library for formatting strings with colors and cosmetic stuff to the terminal. Like Rich library for Python. Väri means "co

azur 13 Nov 2, 2022
STKLR is a tool to help you automatically link up named stuff in your rust docs!

_____ _______ _ ___ _____ / ____|__ __| |/ / | | __ \ | (___ | | | ' /| | | |__) | \___ \ | | | < | | | _ / ___

Jer 3 Oct 25, 2022
A Turing-complete but dead-simple spaced repetition CLI that helps you learn stuff.

Forne — Learn Stuff Forne is a Turing-complete spaced repetition engine to help you learn stuff your way. What does that mean? Well, there are a few p

Sam Brew 9 May 12, 2023
A visual canvas and virtual machine for writing assembly to build cool things. Create machines and connect them together.

Visual Assembly Canvas A highly visual assembly editor, infinite canvas for wiring blocks and machines together, bytecode virtual machine runnable nat

Phoomparin Mano 31 Oct 11, 2023
A visual canvas and virtual machine for writing assembly to build cool things. Create machines and connect them together.

Visual Assembly Canvas A highly visual assembly editor, infinite canvas for wiring blocks and machines together, bytecode virtual machine runnable nat

Phoomparin Mano 32 Oct 11, 2023
Scouty is a command-line interface (CLI) to keep an eye on substrate-based chains and hook things up

scouty is a command-line interface (CLI) to keep an eye on substrate-based chains and hook things up

TurboFlakes 15 Aug 6, 2022
Rust library for putting things in a grid

rust-term-grid This library arranges textual data in a grid format suitable for fixed-width fonts, using an algorithm to minimise the amount of space

Benjamin Sago 61 Nov 4, 2022
Brutally simple command line app for jotting things down

jot Brutally simple command line app for jotting things down. About jot lets you get things down before you forget, without fiddling folders, naming,

Alexander Alexandrov 1 Apr 8, 2022