This series about Tag Vector will go over a technique that I have iterated on since 2016 in ctx-core & in other (mostly client) projects.
There are only two hard things in Computer Science: cache invalidation and naming things. — Phil Karlton
Tag Vector aims to be a tool to solve the two hard things in Computed Science by providing a name convention & eventually a formalized system with tools to:
- work with existing source code
- show how tags are connected by using a 1 dimensional vector
- understand the context of an abstraction just by looking at the tag vector
- the data structure shape of the abstraction can be encoded in the tag vector
- immutable names to allow a simple text search to find all usages of tags & tag vectors
- compose multi-dimension tag vectors
- show the directional arrow of a tag vector in source code & text using font ligatures[1]
- store the tag vector in a vector database & automate querying tag graphs
- tag graphs can will enable linking to & a vector search for other usages of the tag, machine leaning algorithms, & domain-specific analysis.
- write prose with an editor that understands the tag vector with tools that parse & act on the tag vector, rendering components & performing api calls[2]
The Tag Vector system can provide profound benefits to computer science, programming, api design, domain design, low-code tooling, machine learning, even plain text. The Tag Vector convention feels familiar to existing code conventions & can be used with existing source code.
Tag Vector Series: Table of Contents
- Tag Vector: Part 0: Introduction
- Tag Vector: Part 1: Tag Vector Convention
- Tag Vector: Part 2: History of the Tag Vector Convention
- Tag Vector: Part 3: Future of Tag Vector System
[1]: The underscore arrow font ligatures will be developed in new fonts forked from popular existing fonts
[2]: A prototype of the document editor with Tag Vector is in the works