We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

User:Craw

From Esolang
Jump to navigation Jump to search

Hello!

Hi, I'm Craw (also known as The Craw, or occasionally Crawsome Crustacean). I'm a student from England interested in physics, mathematics, low-level computing, computer architecture, and generally making computers do things in unnecessarily interesting ways.

I'm the creator of Crawssembly (casm), an educational assembly-like programming language and virtual machine. I originally designed it as something resembling "Scratch for assembly": an approachable way of experimenting with registers, memory, machine code and computer architecture without having to begin with the complexity of a real-world instruction set.

It has since got slightly out of hand.

Crawssembly

My main project here is Crawssembly.

Crawssembly targets a fictional 32-bit virtual computer with 256 registers and a 21-bit instruction format. The core instruction set is deliberately fairly small, while more complicated functionality is generally implemented in Crawssembly itself.

Some things that have accumulated around it include:

  • the Crawssembly Standard Library (CSL), including arithmetic, graphics, stack and heap implementations;
  • terminal and graphical output;
  • keyboard and mouse input;
  • synthesised audio;
  • persistent virtual disk storage;
  • dynamically executable machine instructions;
  • networking;
  • the Crawssembly Package Manager (CPM);
  • various increasingly unreasonable programs written for the architecture.

Crawssembly was not originally intended to be an esoteric programming language. Its objective is essentially the opposite of many esolangs: rather than making programming deliberately difficult, it attempts to make low-level programming unusually approachable. It ended up sufficiently strange in its own right that I decided it belonged here anyway.

A Brainfuck interpreter written entirely in Crawssembly provides a constructive demonstration that the language is Turing-complete.

Programming

I particularly enjoy low-level programming and projects where I can build abstractions from unusually primitive components.

Languages I have used include:

  • Crawssembly - unsurprisingly;
  • Python;
  • Rust;
  • Swift;
  • BASIC;
  • Scratch, if we're counting that.
  • And a myriad of other smaller languages I've created

I tend to prefer relatively minimal development environments. I also have a habit of starting projects because I wonder whether something is possible and then discovering several hundred hours later that I have accidentally created an ecosystem.

Other interests

Outside programming, my main academic interest is physics, particularly areas connected to fundamental and particle physics. I also enjoy mathematics, retro and experimental computing, computer architecture, electronics, and the history of science and technology.

I have an unfortunate attraction to projects involving:

  • imaginary computers;
  • unnecessarily low-level implementations;
  • strange number systems and encodings;
  • old or unusual computing technology;
  • making sophisticated things out of very simple primitives;
  • proving that something technically works when there was no particular reason it needed to work.

This may explain Crawssembly.

Projects

Project Description
Crawssembly Assembly-like language, instruction set and virtual machine.
CSL Standard library written primarily in Crawssembly itself.
CPM Package manager and registry for Crawssembly software.

I'm primarily here to document Crawssembly and programs written for it, but I'm also interested in unusual computational models and language design more generally.

If you find an error in my documentation, discover some horrifying edge case in Crawssembly, or somehow decide to write something in it, feel free to leave a message on my talk page.

Links


CEO of CRAW SYSTEMS, which sounds considerably more impressive than the circumstances warrant.