On this page:


Punctaffy is an experimental library for working with a higher-dimensional notion of lexical syntactic structure. We call these generalized lexical regions hypersnippets, we delimit them using hyperbrackets, and we call our generalized s-expressions hyperbracketed code.

For a gradual introduction to 2-dimensional hypersnippets, see Introduction to Punctaffy. Basically, Punctaffy embraces the analogy sometimes drawn between parentheses ( ) and the notation of quasiquotation `( ,( ) ) and generalizes these as the 1-dimensional and 2-dimensional instances of a concept that can be instantiated at any dimension and used for various purposes aside from quotation.

While not quite the same thing, the geometric shapes of hypersnippets appear to be closely related to the opetopes of opetopic higher category theory. (See Potential Application: Opetopes and Higher Categories.)

For practical use, Punctaffy’s main drawback is the amount of time it takes to compile hyperbracketed programs—even the simplest ones. This is something that can be improved over time. For now, Punctaffy serves mainly as a proof of concept.

    1 Introduction to Punctaffy

    2 Motivation for Punctaffy

      2.1 Hyperbracketed Notations Predating Punctaffy

      2.2 Potential Application Areas

        2.2.1 Potential Application: Hygiene

        2.2.2 Potential Application: Incremental Compilation

        2.2.3 Potential Application: Abstraction-Respecting Call Stacks

        2.2.4 Potential Application: Interactions Between unsyntax and Ellipses

        2.2.5 Potential Application: Opetopes and Higher Categories

        2.2.6 Potential Application: Type Theories with Transpension

        2.2.7 Potential Application: User-Defined Escapes from Nestable Quotation

    3 Representation of Hypersnippet Data

      3.1 Dimension Systems

        3.1.1 Dimension Systems in General

        3.1.2 Category-Theoretic Dimension System Manipulations

        3.1.3 Commonly Used Dimension Systems

      3.2 Snippet Systems

        3.2.1 Snippet Systems in General

        3.2.2 Category-Theoretic Snippet System Manipulations

        3.2.3 Snippet Format Systems in General

        3.2.4 Category-Theoretic Snippet Format System Manipulations

      3.3 Hypertees: The Shape of a Hypersnippet of Text

        3.3.1 Hypertee Coils

        3.3.2 Hypertee Brackets

        3.3.3 Hypertee Constructors and Operations

      3.4 Hypernests: Nested Hypersnippets

        3.4.1 Hypernest Coils

        3.4.2 Hypernest Brackets

        3.4.3 Hypernest Constructors and Operations

      3.5 Hyperstacks: The State of a Text-to-Hypernest Parser

    4 Defining Hyperbracket Notations for Racket

    5 Baseline Punctaffy Hyperbracket Notations

    6 Hyperbracketed Operations

      6.1 Hyperbracketed Quotation Operators

      6.2 Hyperbracketed Binding Operators