Skip to main content

FlowScript 0.1: A Semantic Language for Apps

Erland Kjensli has released FlowScript 0.1 as an experimental draft on GitHub to describe app semantics before coding begins.

AI-written
Inewgen
19 Sep 2026Source: Dev.to3 min read (0 views)
Share
FlowScript 0.1: A Semantic Language for Apps

Stock photo for illustration only, not from the actual event

Font size
  • FlowScript 0.1 is a semantic language for describing apps pre-implementation.
  • It strictly separates hierarchy, navigation, states, and presentation.
  • Designed for syntactic simplicity while maintaining high semantic strictness.
  • Currently available as an experimental working draft on GitHub for community feedback.

Software architecture and application modeling often face complex challenges when trying to map out a system before writing code. To address this, Erland Kjensli has introduced FlowScript 0.1, an experimental project serving as a semantic language designed to capture the structural model and behavior of applications in a compact, human-readable notation.

The underlying concept stems from a common limitation: traditional flowcharts are useful for depicting sequences, decisions, and transitions, but modern applications involve far more complexity than a simple arrangement of boxes and arrows can effectively represent without becoming clumsy and awkward.

code editor programming notation syntax

Stock photo for illustration only, not from the actual event

FlowScript approaches this by treating diagrams as mere projections of a more fundamental application model. The language focuses on describing what an application is and how it behaves before deciding on implementation details, meaning documents remain meaningful regardless of whether the eventual software uses React, a specific UI framework, or a particular backend database.

Separating the logical semantic model from specific implementation technologies is a powerful architectural pattern. It prevents tight coupling between high-level system design and low-level tooling, allowing development teams to swap out technology stacks later without having to redesign the core application logic from scratch.

Never miss the latest news?

Subscribe to get news summaries by email - not often enough to be annoying.

โฆษณา

In this 0.1 release, the language deliberately separates several key concepts to eliminate ambiguity and hidden inference:

  • Hierarchical structures (such as pages and items)
  • Navigation graphs (distinguishing structural containment from user transit paths)
  • State graphs (tracking operational states like active or archived)
  • Responsive presentation mapping (treating layout variations as projections of one model)
  • Distinctions between user actions and system behavior

The core design principle balances lightweight syntax utilizing indentation for nesting with strict underlying semantics. This syntactic simplicity combined with semantic strictness ensures that future parsers can rigorously validate references, nesting, conditions, and target relationships.

Although currently released as an experimental working draft, the broader vision is that a rigorous semantic model could eventually support multiple projections—ranging from hierarchy diagrams and documentation to test cases and implementation scaffolding. Developers and contributors can explore the project and review its current specification via GitHub.

Source: Dev.to

Comments

Leave a Comment
0/2000

Found something wrong in this article? Report an issue with this article