internal/

directory
v0.14.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 20, 2026 License: MIT

Directories

Path Synopsis
Package bddtest hosts the Godog step definitions and per-scenario World for the gpp spec suite.
Package bddtest hosts the Godog step definitions and per-scenario World for the gpp spec suite.
Package cli implements the gpp command-line interface.
Package cli implements the gpp command-line interface.
Package core is gpp's dependent type theory (v0.7.0): first-order terms over nat and enum-tag data, normalization by evaluation, definitional equality, a linear-arithmetic decider, structural termination checking, and the QTT quantity semiring.
Package core is gpp's dependent type theory (v0.7.0): first-order terms over nat and enum-tag data, normalization by evaluation, definitional equality, a linear-arithmetic decider, structural termination checking, and the QTT quantity semiring.
Package diag defines gpp's user-facing diagnostics.
Package diag defines gpp's user-facing diagnostics.
Package directive parses and renders gpp directive comments:
Package directive parses and renders gpp directive comments:
Package emit assembles, formats, and writes generated Go files.
Package emit assembles, formats, and writes generated Go files.
Package gen orchestrates generation: it drives parsing, naming, lowering, and emission for every package matched by the CLI's patterns.
Package gen orchestrates generation: it drives parsing, naming, lowering, and emission for every package matched by the CLI's patterns.
Package lower computes and applies the text edits that turn G++ source into Go.
Package lower computes and applies the text edits that turn G++ source into Go.
The server's dispatch layer, authored in gpp: incoming work is an enum, routing is a match, and extending the server means adding a variant and an arm — the language serving itself.
The server's dispatch layer, authored in gpp: incoming work is an enum, routing is a match, and extending the server means adding a variant and an arm — the language serving itself.
Package naming implements the lowered-name scheme: a lowered function keeps its method's own name when that name is unique in the package, falling back to the receiver-prefixed concatenation when it collides — the same discipline enum variant structs use.
Package naming implements the lowered-name scheme: a lowered function keeps its method's own name when that name is unique in the package, falling back to the receiver-prefixed concatenation when it collides — the same discipline enum variant structs use.
Package registry indexes the generic methods visible to a compilation: those declared in the packages being generated, plus those advertised by dependency packages via //gpp:method markers in their distributed Go.
Package registry indexes the generic methods visible to a compilation: those declared in the packages being generated, plus those advertised by dependency packages via //gpp:method markers in their distributed Go.
Package resolve rewrites G++ method-syntax uses of generic methods into calls (or closures) over the lowered package-level functions.
Package resolve rewrites G++ method-syntax uses of generic methods into calls (or closures) over the lowered package-level functions.
Package sourcemap maps positions in emitted Go back to .gpp source.
Package sourcemap maps positions in emitted Go back to .gpp source.
Package syntax parses .gpp source: Go grammar plus G++'s extensions — type parameters on methods (v0.1.0), enum declarations and match statements (v0.2.0).
Package syntax parses .gpp source: Go grammar plus G++'s extensions — type parameters on methods (v0.1.0), enum declarations and match statements (v0.2.0).
parser
G++ extension nodes and entry points.
G++ extension nodes and entry points.
Package toolchain delegates to the standard go tool.
Package toolchain delegates to the standard go tool.
Package version is the single source of the toolchain version — a leaf package so both the CLI and the emitter (which stamps generated files) can share it without cycles.
Package version is the single source of the toolchain version — a leaf package so both the CLI and the emitter (which stamps generated files) can share it without cycles.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL