grogix

The Language of Blooming Logic

by Greg Bryant
last update: 9.18.09

Grogix is the name of the notation, and the interpreter, of a morphogenetic meta-language methodology, or formal grammar gradient sequence system, that I call "Blooming Logic". It's basically a notation for organizing your engineering much as living organisms do. In some ways, it's like an advanced L-System.

As an example of a Grogix description, here's ListItem.gx, which produces the working Google App Engine webapp described in detail at Core Memory.

This work emerged from a blog entry about cloud computing at Working Clouds. It's heavily influenced by a project I worked on with Christopher Alexander in 1996-1997, under the sponsorship of Bill Joy's lab at Sun Microsystems. Without Alexander's work on sequences and patterns, as described in A Pattern Language, and the subsequent work of the Design Patterns movement, I wouldn't have attempted this. But the Grogix notation is also clearly influenced by the important work of Noam Chomsky, from his 1950s-era results on Formal and Generative Grammars (via titans of computing including Donald Knuth and the founders of UNIX, Chomsky's work led to rigorous language definition and critically important compiler-compiler tools such as Lex and YACC) to his recent leadership on the "Principles and Parameters" unraveling of the language faculty. Grogix is also deeply influenced by our modern understanding of morphogenesis and developmental genetics, perhaps best respresented today by the Evo Devo movement. I hope that Grogix is a minimal and sufficient synthesis, which adequately pays tribute to these superb influences, and which working engineers and programmers will find useful.
The Tasks Ahead

I'll be building a special IDE webapp for developing Grogix files at www.bloominglogic.org. I'll be generating the webapp from a Blooming Logic sequence written in Grogix. Among other things, this will include the sequence that generates the Grogix interpreter itself.

Subpages (2): Blooming Logic ListItem