Skip to content

Generic types and functions diagrams ​

Generic types and functions

Start with how the application begins, then follow data between its folders. Open an operation to see its decisions, calls, failures and cleanup. Its explanation supplies the exact contract and linked dependencies.

This view includes 2 application source files. Package and interface boundaries show checked contracts; their runtime implementations are not expanded. The views describe the checked program, not desired requirements or a recorded execution.

Where execution begins ​

Providers ​

Formatter is provided by TextFormatter. The same instance is shared.

Startup ​

It sets formatter to the instance provided for Formatter. It prints formatter.title. It prints formatter.format for int with value 42. It sets box to a Box for string with value "inside a generic box". source

It prints box.get. source

Data flow ​

100%
Mermaid source
flowchart TD
    n0["Startup"]
    n1["types"]
    n0 -->|"Box(value) / Box.get + 2 more → Box‹string› / string"| n1

Follow the data ​

Each row opens the complete operations and call sites behind one pair of logical units. A grouped arrow records calls between those units; connected arrows need not belong to the same execution path.

FromToOperationsRead
Startuptypes4Inputs, results and call sites

Data crossing these boundaries (4 contracts) ​

Startup → types ​

4 operations, 4 sites

Box

Inputs: value: string. Result: Box<string>.

Caller or entryEvidence
StartupCall site · Caller explanation

Box.get

No caller-supplied inputs. Result: string.

Caller or entryEvidence
StartupCall site · Caller explanation

Formatter.format · interface dispatch

Inputs: value: int. Result: string.

Caller or entryEvidence
StartupCall site · Caller explanation

Formatter.title · interface dispatch

No caller-supplied inputs. Result: string.

Caller or entryEvidence
StartupCall site · Caller explanation

Open a module ​

ModuleRead
main.augFlow and sequences · Explanation
types.augFlow and sequences · Explanation

These are static call boundaries, not a request trace. Interface implementations and foreign internals stop at their checked contracts. Dotted arrows defer a callback or browser action. Imports alone do not imply a call.

Last updated:

The world runs on language