From e59ca4a3eaa53d66fb2dcd3ddbdd86d99b04b7c8 Mon Sep 17 00:00:00 2001
From: Jed Barber
Date: Mon, 28 Jun 2021 00:21:26 +1200
Subject: Converted everything to XHTML 1.1
---
project/templates/grasp.html | 29 +++++++++++++++--------------
1 file changed, 15 insertions(+), 14 deletions(-)
(limited to 'project/templates/grasp.html')
diff --git a/project/templates/grasp.html b/project/templates/grasp.html
index f5543ea..7eddc3c 100644
--- a/project/templates/grasp.html
+++ b/project/templates/grasp.html
@@ -15,44 +15,45 @@
1/1/2017
-Like Lisp, the esoteric programming language
-Grasp is a homoiconic language that exclusively uses a single datatype. Except instead of lists, it
-uses directed graphs.
+Like Lisp, the esoteric programming language
+Grasp is a homoiconic language that exclusively uses a single datatype. Except instead of lists,
+it uses directed graphs.
A Grasp program is initialised with instruction pointers to those nodes in the graph that have
a "name" edge to a node with the value "grasp:main". The nodes at each instruction pointer are
evaluated and the pointer then updated by following an available "next" edge. This continues until
all instruction pointers have no more "next" edges to follow.
-
+
-In the current
+In the current
specification , the actions that can be performed are:
Add or delete an edge
Change the value of a node
Add, subtract, multiply, divide, or modulo node values
- Call and return from functions, which take the form of subgraphs with named entry points
+ Call and return from functions, which take the form of subgraphs with named entry points
+
Read and write from arbitrary file handles
Push, pop and pick a section of nodes arranged to act as a stack
The execution of a node may be skipped by having "cond" edges pointing to either zero values or
-non-numeric values. Also, due to the way instruction pointers update and the way several instructions
-are defined, there is a measure of non-determinism that can be introduced depending on what
-edges are available.
+non-numeric values. Also, due to the way instruction pointers update and the way several
+instructions are defined, there is a measure of non-determinism that can be introduced depending on
+what edges are available.
The language seemed like an interesting enough idea, but unfortunately nobody had done anything
with it, and there was only a specification. This has now been fixed. The interpreter currently
-uses a subset of the DOT graph description language
-for the file format, to enable a text format as well as relatively easy conversion to a graph image.
+uses a subset of the DOT graph description language for the file format, to enable a text format as well as relatively easy
+conversion to a graph image.
The above example is recorded as follows:
--
cgit