Ground
A speedy platform for building cool software
Designed with an assembly-like syntax, Ground provides a clean, low-level foundation perfect for building your own highly-opinionated languages.
Download Source CodeAbout Ground
Ground is a programming language that draws inspiration from Assembly in its design, but includes higher-level features that make it easy to use and a robust foundation for building other languages. It is an interpreter that processes and interprets Ground instructions, making it quite fast and its syntax simple.
It's designed to have a similar purpose to the Java Virtual Machine, allowing anyone to write their own programming language that compiles to Ground code. It is an open-source project distributed under the GNU General Public License.
This program asks the user a question and responds based on their input, demonstrating basic I/O and conditional logic.
stdout "Do you like cheese? "
stdin &userin
equal $userin "yes" &condition
if $condition %7
stdlnout "That is sad"
jump %1
stdlnout "Awesome! I do too!"
Main Features of Ground
Simple Syntax
Ground is intentionally simple, with a small number of features to keep it easy to learn and speedy to run.
Super Speed
Ground code is faster than Python and JavaScript, and nearly as fast as C++ and Rust, despite being interpreted.
Tiny Interpreter
The interpreter is very small, containing only 1617 lines of code (and 405 lines of comments), and compiles in seconds.
Extensible
It's incredibly easy to write libraries for Ground in C, C++ or another language if it can compile to a shared library.
Install a package like this:
$ sudo dig install request
Downloading package request
Extracting package request
Success!
Dig package manager
Dig is Ground's package manager. It manages your external libraries simply and quickly.
All libraries are installed to /usr/lib/ground
for quick access, however if required a portable install can be created.
Get Started with Ground
The Ground interpreter and Dig package manager are both open-source. Prebuilt packages are on the way sometime soon.
Note: The provided C++ source code needs to be compiled to run the interpreter.