Skip to content

An esoteric programming language that uses a single symbol.

License

Notifications You must be signed in to change notification settings

calebtnorth/dhstix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dhstix

An esolang for programmers who hate themselves.

Intro

Functionality

dhstix functions similarly to BrainF***, in which it uses an virtually infinite array of memory cells that are accessed by moving a pointer left and right and modified by incrementing or decrementing by one. Loops resemble ifs because they function by establishing the beginning of loop and jumping to it if the value at the pointer is not 0 by the end of the loop. dhstix differs in the fact that, unlike the 30k cells allotted in BrainF***, dhstix starts with a single cell but will expand infinitely to the right. Another differentiating feature is that loops in dhstix cannot be nested.

Execute File

To get started, simply download the compiler, only available for Windows as of now. To execute a file, open up a terminal, navigate to the location where the exe is installed, and type compiler.exe <full path to file>.

Get Scripting

Each command in dhstix must be five characters long, including spaces. All other characters besides | and a space will be ignored.

Docs

Pointer Manipulation

Note, the * resprents a space. Any * including in actual dhstix code will be ignored.
|**||
Move the pointer right. If the pointer extends above the last cell of the array then the pointer will point to a new cell with a value of 0.
||**|
Move the pointer left. If the pointer goes below the 0th cell of the array the pointer will be clamped at 0.

Data Manipulation

|*|||
Increment the value at the pointer by 1.
|||*|
Decrement the value at the pointer by 1. This value can go below zero

I/O

**|||
Print the value at the pointer as a base-10 integer.
*||||
Print the ASCII equivalent of the value at the pointer.
|||**
Set the value at the pointer to a base-10 integer provided by the user.

Loops

||*||
The first ||*|| marks the jumping point for the loop. The second ||*|| is the point where the compiler decides to jump to the jumping point or continue on with the script. The jump will be made if the value at pointer is not 0.

Errors

No such file
The file path provided could not be found.
Please provide a file
No file has been provided for the compiler to run.
Incomplete script!
This indicates one of the commands is not a full five characters long.
Not an integer
The value entered upon a ||| was not an integer.
Program killed by interrupt
A keyboard interrupt was performed.

About

dhstix, or double hockey stix, is an esoteric language designed by Caleb "fivesixfive" North with the intent purpose of being excessively difficult to work in. It is inspired heavily by BrainF*** and is licensed under the GPL v3.0

About

An esoteric programming language that uses a single symbol.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages