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.
Onesharp
Onesharp (or 1#) is a minimalistic programming language created as a teaching tool by Larry Moss.[1] It operates on a register machine model, in which instructions can modify registers or control program flow. The language features five fundamental operations: appending 1 or # to a register, jumping forward or backward by a specified number of instructions, and a conditional branching mechanism that removes and examines the first character in a register. Onesharp programs consist entirely of sequences of 1's and #'s.
Syntax
| Instruction | Meaning |
|---|---|
| 1ⁿ# | Append 1 to register n. |
| 1ⁿ## | Append # to register n. |
| 1ⁿ### | Move forward n instructions. |
| 1ⁿ#### | Move backward n instructions. |
| 1ⁿ##### | Conditional branching on register n:
|
Purpose
Onesharp is introduced through an interactive Jupyter notebook tutorial, which includes an interpreter and step-by-step execution tools written in Python. Users are guided through small programs and exercises demonstrating basic operations. The notebook also provides command-line tools for parsing and running onesharp programs. Moss then uses onesharp to define computability and demonstrate several fundamental results of computability theory.
References
- ↑ Moss, Lawrence S. "Invitation to Computability." lmoss.github.io.