From 21d59027a85d609ed20cebb6868f0c7c60a11858 Mon Sep 17 00:00:00 2001 From: Maxwell Jeffress Date: Sun, 10 May 2026 16:35:17 +1000 Subject: [PATCH] Update docs --- docs/404.html | 20 +- docs/automated_build_script.html | 278 +++++++++++++++++ docs/basics.html | 252 +++++++++++++++ docs/build_dependencies.html | 263 ++++++++++++++++ docs/building_manually.html | 266 ++++++++++++++++ docs/code_layout.html | 251 +++++++++++++++ docs/command_usage.html | 280 +++++++++++++++++ docs/comment_conventions.html | 251 +++++++++++++++ docs/comments.html | 20 +- docs/expressions.html | 20 +- docs/fornax.html | 253 ++++++++++++++++ docs/function_definition.html | 20 +- docs/functions.html | 251 +++++++++++++++ docs/hello_world.html | 264 ++++++++++++++++ docs/index.html | 27 +- docs/installation.html | 256 ++++++++++++++++ docs/introduction.html | 27 +- docs/naming_conventions.html | 251 +++++++++++++++ docs/operators.html | 32 +- docs/prebuilt_binaries.html | 256 ++++++++++++++++ docs/print.html | 354 +++++++++++++++++++++- docs/reserved_words.html | 24 +- docs/scoping.html | 20 +- docs/searcher-c2a407aa.js | 2 +- docs/searchindex-c4fb8585.js | 1 + docs/searchindex-c698e2a6.js | 1 - docs/struct_definition.html | 26 +- docs/structures.html | 251 +++++++++++++++ docs/{toc-cb4e10de.js => toc-1ef53d19.js} | 2 +- docs/toc.html | 2 +- docs/tutorial_comments.html | 273 +++++++++++++++++ docs/tutorial_variables.html | 278 +++++++++++++++++ docs/types.html | 20 +- docs/values_and_types.html | 291 ++++++++++++++++++ docs/variables.html | 20 +- docs/vela.html | 280 +++++++++++++++++ docs/vela_0.1.0.html | 279 +++++++++++++++++ 37 files changed, 5613 insertions(+), 49 deletions(-) create mode 100644 docs/automated_build_script.html create mode 100644 docs/basics.html create mode 100644 docs/build_dependencies.html create mode 100644 docs/building_manually.html create mode 100644 docs/code_layout.html create mode 100644 docs/command_usage.html create mode 100644 docs/comment_conventions.html create mode 100644 docs/fornax.html create mode 100644 docs/functions.html create mode 100644 docs/hello_world.html create mode 100644 docs/installation.html create mode 100644 docs/naming_conventions.html create mode 100644 docs/prebuilt_binaries.html create mode 100644 docs/searchindex-c4fb8585.js delete mode 100644 docs/searchindex-c698e2a6.js create mode 100644 docs/structures.html rename docs/{toc-cb4e10de.js => toc-1ef53d19.js} (80%) create mode 100644 docs/tutorial_comments.html create mode 100644 docs/tutorial_variables.html create mode 100644 docs/values_and_types.html create mode 100644 docs/vela.html create mode 100644 docs/vela_0.1.0.html diff --git a/docs/404.html b/docs/404.html index ae7b099..1081b09 100644 --- a/docs/404.html +++ b/docs/404.html @@ -36,10 +36,10 @@ const path_to_root = ""; const default_light_theme = "light"; const default_dark_theme = "navy"; - window.path_to_searchindex_js = "searchindex-c698e2a6.js"; + window.path_to_searchindex_js = "searchindex-c4fb8585.js"; - +
@@ -201,6 +201,22 @@ + + + + + + +
+
+

Keyboard shortcuts

+
+

Press or to navigate between chapters

+

Press S or / to search in the book

+

Press ? to show this help

+

Press Esc to hide this help

+
+
+
+
+ + + + + + + + + + + + + +
+ +
+
+ + + + + + + +
+
+

Automated Build Script

+

This method requires the following installed:

+
    +
  • uthash (in /usr/include or similar)
  • +
  • A gcc-compatible C compiler linked to cc +
      +
    • GCC and Clang are both tested and will yield similar results.
    • +
    +
  • +
  • Git (to get source code)
  • +
  • Make (to organise building the code)
  • +
+

Refer to Build Dependencies for instructions on how to install dependencies.

+

Running the installer

+

Run this command in your terminal:

+
bash -c "$(curl -fsSL https://sols.dev/install.sh)"
+
+

This will:

+
    +
  • Download a shell script from https://sols.dev/install.sh
  • +
  • Run the contents of the shell script in the bash command interpreter
  • +
+

The script does the following:

+
    +
  • Checks if Ground and Solstice are installed on your system.
  • +
  • If either Ground or Solstice aren’t avaliable, it will download, build, and install the source code.
  • +
  • If Ground or Solstice are installed, it will update them to the latest version.
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/docs/basics.html b/docs/basics.html new file mode 100644 index 0000000..2a4e5dd --- /dev/null +++ b/docs/basics.html @@ -0,0 +1,252 @@ + + + + + + Basics - Solstice Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Keyboard shortcuts

+
+

Press or to navigate between chapters

+

Press S or / to search in the book

+

Press ? to show this help

+

Press Esc to hide this help

+
+
+
+
+ + + + + + + + + + + + + +
+ +
+
+ + + + + + + +
+
+

Basics

+

This part of the tutorial shows you the basics of using Solstice. Click next to see the “Hello, World!” program!

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/docs/build_dependencies.html b/docs/build_dependencies.html new file mode 100644 index 0000000..a86f8a7 --- /dev/null +++ b/docs/build_dependencies.html @@ -0,0 +1,263 @@ + + + + + + Build dependencies - Solstice Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Keyboard shortcuts

+
+

Press or to navigate between chapters

+

Press S or / to search in the book

+

Press ? to show this help

+

Press Esc to hide this help

+
+
+
+
+ + + + + + + + + + + + + +
+ +
+
+ + + + + + + +
+
+

Build dependencies

+

macOS

+
xcode-select --install
+
+

Then, download UTHash here, and copy the contents of the include folder to /usr/local/include:

+
sudo cp (/path/to/uthash-master)/include/* /usr/local/include
+
+

Ubuntu/Debian

+
sudo apt install gcc git make uthash-dev
+
+

Arch Linux

+
sudo pacman -S --needed gcc git make uthash
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/docs/building_manually.html b/docs/building_manually.html new file mode 100644 index 0000000..5ceac82 --- /dev/null +++ b/docs/building_manually.html @@ -0,0 +1,266 @@ + + + + + + Building Manually - Solstice Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Keyboard shortcuts

+
+

Press or to navigate between chapters

+

Press S or / to search in the book

+

Press ? to show this help

+

Press Esc to hide this help

+
+
+
+
+ + + + + + + + + + + + + +
+ +
+
+ + + + + + + +
+
+

Building Manually

+

Refer to Build Dependencies for instructions on how to install dependencies.

+

Build and install Ground:

+
git clone https://chookspace.com/ground/ground
+cd ground
+make
+sudo make install
+cd ..
+
+

After this, build and install Solstice:

+
git clone https://chookspace.com/solstice/solstice
+cd solstice
+make
+sudo make install
+cd ..
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/docs/code_layout.html b/docs/code_layout.html new file mode 100644 index 0000000..d4bd7c5 --- /dev/null +++ b/docs/code_layout.html @@ -0,0 +1,251 @@ + + + + + + Code Layout - Solstice Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Keyboard shortcuts

+
+

Press or to navigate between chapters

+

Press S or / to search in the book

+

Press ? to show this help

+

Press Esc to hide this help

+
+
+
+
+ + + + + + + + + + + + + +
+ +
+
+ + + + + + + +
+
+

Code Layout

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/docs/command_usage.html b/docs/command_usage.html new file mode 100644 index 0000000..333189e --- /dev/null +++ b/docs/command_usage.html @@ -0,0 +1,280 @@ + + + + + + Command Usage - Solstice Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Keyboard shortcuts

+
+

Press or to navigate between chapters

+

Press S or / to search in the book

+

Press ? to show this help

+

Press Esc to hide this help

+
+
+
+
+ + + + + + + + + + + + + +
+ +
+
+ + + + + + + +
+
+

Command Usage

+
Solstice programming language
+Usage: solstice <file> [-h] [--help] [-p] [--print] [-b <file>] [--bytecode <file>] [-c <file>] [--compile <file>]
+Args:
+  <file>:                         Solstice source file
+  -h or --help:                   Prints this help message and exits
+  -p or --print:                  Prints textual version of Ground bytecode to console
+  -b <file> or --bytecode <file>: Generates Ground bytecode (.grbc) and saves it to the provided filename
+  -c <file> or --compile <file>:  Compiles Ground to Linux x86_64 assembly, outputs a binary to the provided filename (experimental)
+  If no extra arguments are provided, the generated Ground bytecode will be executed.
+
+

Arguments:

+

<file>

+

The Solstice source file to run.

+

There should never be more than one file, as Solstice allows files to import each other, rather than compiling multiple files into one manually.

+

-h or --help

+

Shows the help message above.

+

-p or --print

+

Prints the textual version of the generated Ground bytecode to the console.

+

This is useful for debugging the compiler, and ensuring the correct output is produced for the GroundVM.

+

-b <file> or --bytecode <file>

+

Outputs Ground bytecode (in grbc format) and saves it in the file <file>.

+

Ground bytecode is useful for distributing software in a format where the target machine does not need Solstice installed, only the Ground VM.

+

Run the compiled bytecode with:

+
ground -b <file>
+
+

-c <file> or --compile <file>

+

Compiles the Ground bytecode to assembly using the Tram backend, outputting a binary named <file>.

+

Requires Ground to be built with Tram support, and Tram to be installed on your system.

+

This backend is experimental and does not support all features.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/docs/comment_conventions.html b/docs/comment_conventions.html new file mode 100644 index 0000000..9c68cde --- /dev/null +++ b/docs/comment_conventions.html @@ -0,0 +1,251 @@ + + + + + + Comment Conventions - Solstice Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Keyboard shortcuts

+
+

Press or to navigate between chapters

+

Press S or / to search in the book

+

Press ? to show this help

+

Press Esc to hide this help

+
+
+
+
+ + + + + + + + + + + + + +
+ +
+
+ + + + + + + +
+
+

Comment Conventions

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/docs/comments.html b/docs/comments.html index 67485a5..3f81b1c 100644 --- a/docs/comments.html +++ b/docs/comments.html @@ -35,10 +35,10 @@ const path_to_root = ""; const default_light_theme = "light"; const default_dark_theme = "navy"; - window.path_to_searchindex_js = "searchindex-c698e2a6.js"; + window.path_to_searchindex_js = "searchindex-c4fb8585.js"; - +
@@ -238,6 +238,22 @@ def doSomething(int funnyNumber) int { + + - +
@@ -507,6 +507,22 @@ + + + + + + +
+
+

Keyboard shortcuts

+
+

Press or to navigate between chapters

+

Press S or / to search in the book

+

Press ? to show this help

+

Press Esc to hide this help

+
+
+
+
+ + + + + + + + + + + + + +
+ +
+
+ + + + + + + +
+
+

“Fornax” 1.x.x

+

Fornax will be the codename for the 1.x.x releases of Solstice. It is named after the Fornax constellation.

+

Release Target

+

Fornax will release when:

+
    +
  • The compiler core is stable enough to host moderately sized projects
  • +
  • The standard library is capable enough for many programming projects
  • +
+

Fornax is not currently released.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/docs/function_definition.html b/docs/function_definition.html index 9ee66f2..ac61618 100644 --- a/docs/function_definition.html +++ b/docs/function_definition.html @@ -35,10 +35,10 @@ const path_to_root = ""; const default_light_theme = "light"; const default_dark_theme = "navy"; - window.path_to_searchindex_js = "searchindex-c698e2a6.js"; + window.path_to_searchindex_js = "searchindex-c4fb8585.js"; - +
@@ -271,6 +271,22 @@ + + + + + + +
+
+

Keyboard shortcuts

+
+

Press or to navigate between chapters

+

Press S or / to search in the book

+

Press ? to show this help

+

Press Esc to hide this help

+
+
+
+
+ + + + + + + + + + + + + +
+ +
+
+ + + + + + + +
+
+

Functions

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/docs/hello_world.html b/docs/hello_world.html new file mode 100644 index 0000000..9e558bf --- /dev/null +++ b/docs/hello_world.html @@ -0,0 +1,264 @@ + + + + + + Hello, World! - Solstice Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Keyboard shortcuts

+
+

Press or to navigate between chapters

+

Press S or / to search in the book

+

Press ? to show this help

+

Press Esc to hide this help

+
+
+
+
+ + + + + + + + + + + + + +
+ +
+
+ + + + + + + +
+
+

Hello, World!

+

Create a new file on your computer (preferably in a new folder) named main.sols. In the file, write the following:

+
puts "Hello, World!"
+
+

Save the file, then run in your terminal:

+
solstice main.sols
+
+

Solstice will run the file for you, which should print Hello, World! to the console.

+

Here’s what it does:

+
    +
  • puts: Stands for “put something”. It’s Solstice’s built in “please print out this thing’s current state” operator.
  • +
  • "Hello, World!": A string. A string is a collection of characters. In Solstice, you denote a string by surrounding your text with double quotes (").
  • +
+

Next up: using variables!

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/docs/index.html b/docs/index.html index 346512f..113b873 100644 --- a/docs/index.html +++ b/docs/index.html @@ -35,10 +35,10 @@ const path_to_root = ""; const default_light_theme = "light"; const default_dark_theme = "navy"; - window.path_to_searchindex_js = "searchindex-c698e2a6.js"; + window.path_to_searchindex_js = "searchindex-c4fb8585.js"; - +
@@ -175,7 +175,8 @@

Introduction

-

Welcome to the Solstice docs! For now, the documentation is in the format of a specification, which instructs you on how Solstice should behave. In future, a tutorial (similar to the Rust book) will be written which shows you each part of the language, instead of declaring it like the spec.

+

Welcome to the Solstice documentation! Here we have a tutorial (starting here) and a specification for the Solstice programming language.

+

If you’re new to Solstice, I’d recommend starting the tutorial, at the installation page. If you’ve already installed Solstice, start at the Basics page.

Docs generated by mdBook.

@@ -183,7 +184,7 @@