Skip to content

FluNET.Classic 0.1 reflection language foundation - #5

Draft
ppotepa wants to merge 18 commits into
classic/mainfrom
classic/roadmap-0.1-alpha1
Draft

FluNET.Classic 0.1 reflection language foundation#5
ppotepa wants to merge 18 commits into
classic/mainfrom
classic/roadmap-0.1-alpha1

Conversation

@ppotepa

@ppotepa ppotepa commented Aug 16, 2026

Copy link
Copy Markdown
Owner

What changed

This PR establishes the first FluNET.Classic 0.1 architecture layer while keeping the Classic surface syntax compatible.

  • compiles CLR/reflection metadata into language descriptors and immutable LanguageSnapshot
  • introduces semantic roles, verb families and result-only IVerb<TResult>
  • derives sentence structure from interfaces, constructor parameters, nullability, defaults, params and attributes
  • supports overload sets for one language verb (for example scalar vs collection source shapes)
  • adds contextual CLR value resolution with explicit resolvers plus enum / TryParse / Parse / TypeConverter / T(string) fallbacks
  • introduces immutable AST and semantic binding to BoundSentence / BoundPipeline
  • adds constructor activation using bound roles, variables, pipeline values and DI
  • adds transitional bound execution including async verb support
  • adds module metadata, dependencies, capabilities, execution traits, language validation and JSON/introspection APIs
  • adds focused tests for metadata, resolver, binder, activator and introspection
  • adds a Classic CI workflow

Why

FluNET.Classic should remain sentence-oriented while allowing the .NET type system itself to describe much of the language. CLR types describe value shape; role interfaces describe semantics; constructors describe binding/cardinality; attributes override conventions; reflection compiles those facts into the language model consumed by parser, binder, tooling and runtime.

Compatibility

The existing GET / SAVE / FROM / TO / USING / WITH / THEN, [variable] and {reference} concepts remain intact. Legacy IVerb<TWhat,TFrom> now projects into the newer result-only verb metadata model instead of being removed.

Validation status

GitHub Actions accepted and queued the new workflow, but GitHub did not allocate a runner (runner_id: 0), so the job failed before checkout and exposed no build steps/logs. The environment available to this task also cannot resolve github.com for a local clone. For that reason this remains a draft checkpoint and should not be merged until a real dotnet build / dotnet test run is available.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant