🧬 G-Expressions

The Universal Computational Substrate for AI-Native Programming

"you don't give a dolphin acid and try to teach it to speak english!" - probably nobody

What are G-Expressions?

G-Expressions (Generative Expressions) are a minimal, self-bootstrapping computational framework that serves as a universal intermediate representation between AI-generated semantic intentions and executable code. They consist of just four fundamental building blocks:

{"g": "lit", "v": value} Literal values
{"g": "ref", "v": "name"} References to bound names
{"g": "app", "v": {...}} Function applications
{"g": "vec", "v": [...]} Vectors of G-Expressions

Why G-Expressions Matter

🤖 AI-Native Programming

Unlike traditional code generation where LLMs generate text that hopefully parses, G-Expressions allow AI to generate semantic intentions that are guaranteed to be structurally valid.

🔄 Universal Compilation

One G-Expression can unfurl to multiple target languages: JavaScript for frontends, Python for APIs, SQL for databases, Rust for systems programming.

📜 Computational Archaeology

Every G-Expression carries complete provenance - you know exactly how, when, and by whom each piece of computation was generated.

🔀 Self-Modifying Systems

G-Expressions enable hot-swapping of running functions and A/B testing at the semantic level, not just the implementation level.

Basic Examples

Simple Arithmetic

(2 * 3) + 4 - demonstrates nested function applications

{
  "g": "app",
  "v": {
    "fn": {
      "g": "ref",
      "v": "+"
    },
    "args": {
      "g": "vec",
      "v": [
        {
          "g": "app",
          "v": {
            "fn": {
              "g": "ref",
              "v": "*"
            },
            "args": {
              "g": "vec",
              "v": [
                {
                  "g": "lit",
                  "v": 2
                },
                {
                  "g": "lit",
                  "v": 3
                }
              ]
            }
          }
        },
        {
          "g": "lit",
          "v": 4
        }
      ]
    }
  }
}

Structure Breakdown:

    Lambda Function

    A function that multiplies two parameters

    {
      "g": "lam",
      "v": {
        "params": [
          "x",
          "y"
        ],
        "body": {
          "g": "app",
          "v": {
            "fn": {
              "g": "ref",
              "v": "*"
            },
            "args": {
              "g": "vec",
              "v": [
                {
                  "g": "ref",
                  "v": "x"
                },
                {
                  "g": "ref",
                  "v": "y"
                }
              ]
            }
          }
        }
      }
    }

    Structure Breakdown:

      Fibonacci Sequence

      Complete recursive Fibonacci implementation with pattern matching

      {
        "g": "fix",
        "v": {
          "g": "lam",
          "v": {
            "params": [
              "fib"
            ],
            "body": {
              "g": "lam",
              "v": {
                "params": [
                  "n"
                ],
                "body": {
                  "g": "match",
                  "v": {
                    "expr": {
                      "g": "app",
                      "v": {
                        "fn": {
                          "g": "ref",
                          "v": "<="
                        },
                        "args": {
                          "g": "vec",
                          "v": [
                            {
                              "g": "ref",
                              "v": "n"
                            },
                            {
                              "g": "lit",
                              "v": 1
                            }
                          ]
                        }
                      }
                    },
                    "branches": [
                      {
                        "pattern": {
                          "lit_pattern": true
                        },
                        "result": {
                          "g": "ref",
                          "v": "n"
                        }
                      },
                      {
                        "pattern": "else_pattern",
                        "result": {
                          "g": "app",
                          "v": {
                            "fn": {
                              "g": "ref",
                              "v": "+"
                            },
                            "args": {
                              "g": "vec",
                              "v": [
                                {
                                  "g": "app",
                                  "v": {
                                    "fn": {
                                      "g": "ref",
                                      "v": "fib"
                                    },
                                    "args": {
                                      "g": "app",
                                      "v": {
                                        "fn": {
                                          "g": "ref",
                                          "v": "-"
                                        },
                                        "args": {
                                          "g": "vec",
                                          "v": [
                                            {
                                              "g": "ref",
                                              "v": "n"
                                            },
                                            {
                                              "g": "lit",
                                              "v": 1
                                            }
                                          ]
                                        }
                                      }
                                    }
                                  }
                                },
                                {
                                  "g": "app",
                                  "v": {
                                    "fn": {
                                      "g": "ref",
                                      "v": "fib"
                                    },
                                    "args": {
                                      "g": "app",
                                      "v": {
                                        "fn": {
                                          "g": "ref",
                                          "v": "-"
                                        },
                                        "args": {
                                          "g": "vec",
                                          "v": [
                                            {
                                              "g": "ref",
                                              "v": "n"
                                            },
                                            {
                                              "g": "lit",
                                              "v": 2
                                            }
                                          ]
                                        }
                                      }
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        }
      }

      Structure Breakdown:

        The Bootstrap Process

        G-Expressions bootstrap in three elegant stages:

        1. Prime Mover: Minimal interpreter with basic axioms (cons, car, cdr, id, eq?, cond)
        2. Genesis Context: Foundational definitions loaded as G-Expressions
        3. Self-Hosting: The unfurler becomes a G-Expression evaluated by itself

        This creates a computational substrate that can represent and modify its own structure while running.

        Revolutionary Implications

        G-Expressions represent a paradigm shift toward:

        Ready to Explore?

        G-Expressions offer a structured approach to computational representation that bridges the gap between AI-generated logic and executable code across multiple programming environments.