Delvs

From Esolang
Jump to navigation Jump to search

Delvs(pronounced /delve-iss/) is a Brainfuck extension similar to Brainfuck++ designed in February 2013 by User:L8D. The primary purpose was to combine many other Brainfuck derivitaves like Brainfuck++ and Boolfuck, and the language(and Interpreter) are still in development.

Instructions

Delvs currently has 10 additional instructions.

Command Description Pseudo Code
: Cast current cell's value to string and print printf("%hhd", *p);
; Read number set from stdin and store in current cell scanf("%hhd", p);
# Read following cells as null-terminating string for filename, then if current cell is not 1, open file for reading, or if 1, open file writing f = fopen(p + 1, p == 1 ? "w" : "r");
` Read next char from file stream and store in current cell *p = fgetc(f);
! Write current cell's value to file stream fputc(*p, f);
" Move bit to the right once b <= 0 ? b = 7 : b--;
' Toggle/flip bit and move bit to the right once *p ^= (1 << b); b <= 0 ? b = 7 : b--;
\ Comments out rest of line while(*c++ != '\n');
@ Prints out surround cell values in a formatted way. Basically a breakpoint for debugging printf("%hhd : %hhd : %hhd : %hhd : %hhd", *(p - 2), *(p - 1), *p, *(p + 1), *(p + 2));
$ Sleeps the current cell's value in seconds sleep(*p);

To do

  • implement a working socket system
  • implement an stdout flushing system
  • implement runtime args
  • implement namespaces (separate arrays of 30000 chars)
  • (maybe) implement better way to divide
  • implement full integers

External resources