Abstractica

Thin Layers Architecture for compositional software

Data just IS

No hidden behavior. Data is passive, operations are explicit.

Abstract by default

Specs define contracts. Implementations are separate.

One layer down

Each layer only sees the layer below. No leaky abstractions.

What is Abstractica?

Abstractica is a paradigm for building software through composition. Instead of tangled dependencies and implicit state, you build with specs (contracts), designs (implementations), and primitives (the sealed basement).

It's designed for human-AI collaboration — every artifact is verifiable, context-window friendly, and compositionally bounded.

🧱 Compositional

Build complex systems from simple, reusable specs. No inheritance, no side-effect surprises.

🔒 Sealed Basement

Primitives are fixed. Everything else is built on top. No infinite regress.

🤖 AI-Native

Designed for AI collaboration. Small files, clear contracts, immediate feedback.

📊 Dataflow

Data flows through specs. Explicit inputs and outputs. No hidden state.

example.abstractica
// A spec defines the contract
spec Map<T, U> [F: (x: T) -> (y: U)] (
    items: List<T>
) -> (
    results: List<U>
)

// A design implements the spec
design MapImpl : Map<T, U> {
    // Fold over items, applying F to each
    fold [Combine] (items, Nil) -> (results)
}