L» Luna Pipes

Etymology

A language's etymology is its changelog. Each version below introduced a piece of grammar that survives in v1.

  1. v1.0.0

    First edition

    Five operators frozen. The lexicon ships at 277 entries. The grammar is closed for v1; only the lexicon grows from here.

    luna pipe "persona generate >> ghost \"post\" >> publish notion"
  2. v0.9.0

    Sink and conditional

    Added the sink (!) and conditional (?) operators. Both were originally separate verbs; demoted to grammar after pattern-matching them in user pipelines for two months.

    /persona generate >> ? premium >> longform : short
  3. v0.7.0

    Fanout

    The parallel operator (||) joined the language. Previously emulated with shell ampersands; promoted once it became clear the join semantics were a runtime concern, not a user concern.

    /ghost "post" || /imagine "hero" >> publish
  4. v0.5.0

    Repeat

    Added the postfix repeat operator (*N). Replaced a Python-style loop construct that nobody used. Concatenative purists nodded.

    /persona generate >> ghost "post" *4
  5. v0.1.0

    Pipe and stage

    Two productions: <pipe> ::= <stage> (>> <stage>)*, <stage> ::= <verb> <arg>*. The whole language was 200 lines of parser and a single test fixture. Everything since then is gardening.

    /persona generate >> /ghost "post"

Influences.