This is a ground-up reimplementation of a portion of another package I wrote a while ago - spw-js.
Spw is a language I started developing in college to explore human cognition as it relates to ideological representation.
The initial use case was towards a content-tagging system, but as I implemented it, I realized the basis was way too complex to describe concisely.
So I'm starting over from scratch!
Spw is a language that is meant to be relatively human.
Right now there are a few main token categories:
- Nodal Constructs
- Pragmatic Constructs
- Semantic Constructs
Nodal Constructs represent self-contained units of Identity.
A Nominal Construct represents an identity. Nominal Construct Nodes are atomic, and axiomatic.
Numeric Constructs represent identities that have numeric relationships. Numeric Construct Nodes have at least 1 of 2 components:
- integral
- fractional
Container Constructs represent sets of Nodes and Relationships. Container Construct Nodes are also called Containers.
There are 4 forms of Containers:
- Conceptual
- Locational
- Structural
- Essential
Conceptual Containers describe the boundaries between concepts. Conceptual Containers introduce ideas.
Locational Containers describe Contextual Relationships of identities. Locational Containers introduce positions.
Contextual Relationships are categories that describe a dimension of association.
Structural Containers describe Objects. Structural Containers represent an Object's Intrinsic Identities.
Objective Properties are Identities that exist across Frames.
Essential Containers describe Subjects. Essential Containers represent an Object's Extrinsic Identities.
Pragmatic Constructs alter the Subjective Meaning of Identities.
Operational Constructs represent Expressions.
Semantic Constructs describe rules for interpreting the relationships between Nodes in a Container.
Common Statements describe collections of similar Nodes.
Ordinal Statements describe Subjectively-interpreted Pragmatic Semantics.
Phrasal Statements describe collections of Nodes that share a Semantic Context.
A Runtime Construct represents an Entity that exist in the context of Program Execution.
A Context is a set of Identities that contain the requisite Axioms for describing a Frame's Potential.
An Expression is a Statement that implicitly has Meaning.
A Frame is a set of Located Identities that defines Subjective Salience within a Perspective Context.
An Identity is something that can be consistently referenced.
An Object is a Runtime Construct with Objective Properties. Objects exist according to The Objective Perspective.
A theoretical Perspective that serves as a Point of Reference for other Perspectives
A Perspective is a Construct that can Perceive Identities and/or Interpret Value.
Perception is the ability to hold a reference to an Identity in some sort of Locational Register.
Interpretation is the ability to derive Axioms from a Statement
Salience is a mechanism through which Value can be described.
Meaning is an Identity that arises from Realizing Value
A Subject is a Runtime Construct that has Identities and Values within a Frame.
After building the TypeScript sources, run the test suite with Node:
yarn build && node --test test