Fourfuck

From Esolang
Jump to navigation Jump to search
This article is not detailed enough and needs to be expanded. Please help us by adding some more information.

Fourfuck is an incomplete language created by Lesidhetree that was originally intended to be very loosely based on Brainfuck. Its name comes from the fact that its core commands (originally all commands) that, including the arguments, are four characters. Interestingly, the word most often said aloud by the author shares a spelling with the last four letters of the language's name.

It was created with the goal of programming an Arduino Uno from data on an SD card, though, after the subsequent modifications that were needed to complete that goal, it no longer has anything in common with the Brainfuck language.

To avoid unneeded obscenities in the code and documentation, the language is sometimes referred to by the code name "4FK".

For reasons the author has not yet decided on, each implementation has been named after a Cephalopod. For example, before the separation of language and interpreter development, the Arduino sketch that interpreted the code was "Octopus". (Final version of that incarnation of the interpreter was code-named "Octopus 0006")

Starting with language version "4FK v0.1-alpha-0006-201506012337", the language began to be divided into core commands and extension commands.

Operators

A description of the core command-argument blocks used in the cat example are described below:

Syntax Description
[11= While the contents of variable "C[1]" equal the contents of variable "C[1]"
]11= End "While (C[1] == C[1])" from above
A120 Store the hex value 0x20 into C[1]
SIB0 Store the next char inputted from the terminal into C[0]
SOB0 Output the char stored in C[0] to the terminal

Variables

Variables are stored in one of two arrays of unsigned char values (byte values):

C[] array (32 elements)

T[] array (256 elements)

Example programs

Cat program

A120[11=SIB0S0B0]11=

Implementation

If I make an implementation in C or C++, i will link to it.

See also