What is Xusto?

Xusto is an esoteric programming language that strives to be engaging and useful while being simultaneously completely impractical. Xusto is similar to Befunge: a program exists as a plane of characters arranged in a grid. Each character represents an instruction, and program flow moves through the grid (sometimes non-linearly!). The simplest topological model of the program space is a twistable donut completely riddled with wormholes (unfortunately). Xusto is influenced by Funge-98, Befunge, INTERCAL, FALSE, and C. Currently, Xusto is limited to 8 bit unsigned integers; support for larger types is in the works.

Features & Characteristics

  • Reflective - Programs can modify their own source at runtime
  • Program space topology is also able to be modified at runtime
  • Interpreted - Writing a compiler would be unneccesarily complicated
  • Stack-oriented - RPN arithmetic is fun!
  • Portals allow arbitrary program flow
  • Support for multiple languages
  • Mnemonic instruction set (mostly) for easy programming

Why?

The canonical response is "Why not?" That applies here, in spades.

Examples

Hello World can be written very succintly due to the lazy print instruction.
<H'"Hello World!"a

Printing the first few terms of the Fibonnaci sequence is slightly more complex.
11{a]{a]>D00m+D00gG!v
        ^]a{Sg00TH_ <

Get Xusto

The official Xusto interpreter, simply known as xusto, is written in C and should compile on any sane platform. The interpreter source, examples, and documentation are available on GitHub. Any documentation on GitHub trumps whatever is written on this page; this page may lag behind on new functionality and language updates. Xusto is being actively developed, and new features are always being added. Arbitrary integer widths, many-dimensional program space, and more stack operations are just a few of the features to be added.

Links & Further Reading