Skip to content

Add Hemlock 3 language proposal for engine abstraction features#585

Draft
nbeerbower wants to merge 1 commit into
mainfrom
codex/summarize-and-propose-changes-for-hemlock-3
Draft

Add Hemlock 3 language proposal for engine abstraction features#585
nbeerbower wants to merge 1 commit into
mainfrom
codex/summarize-and-propose-changes-for-hemlock-3

Conversation

@nbeerbower

Copy link
Copy Markdown
Collaborator

Motivation

  • Capture recurring engine-management pain points (install-entry shape drift, per-engine boilerplate, backend dispatch, untyped callbacks, and repetitive module specs) and propose language primitives to address them.
  • Provide a staged, risk-aware roadmap for Hemlock 3 that prioritizes type-system foundations to unlock later ergonomics and codegen.

Description

  • Add docs/proposals/hemlock3-lang-proposal-engine-abstractions.md which documents five candidate language features (typed records/structs, first-class function types, sum types + exhaustive match, protocols/traits, and compile-time module synthesis) with syntax sketches and semantics.
  • Include a value assessment, recommended Hemlock 3 vs 3.1 sequencing, acceptance criteria, and risk/mitigation guidance to make the proposal actionable for compiler and tooling work.
  • Commit the new proposal file to the repo (docs/proposals/hemlock3-lang-proposal-engine-abstractions.md).

Testing

  • This is a documentation-only change; no runtime or unit tests were required or run.
  • Verified and committed the file with git add docs/proposals/hemlock3-lang-proposal-engine-abstractions.md and git commit -m "Add Hemlock 3 proposal for engine abstraction language features" (succeeded).
  • Read back the file contents with nl -ba docs/proposals/hemlock3-lang-proposal-engine-abstractions.md | sed -n '1,260p' and created PR metadata via make_pr (both succeeded).

Codex Task

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant