Skip to content
Cretes-langPublic

About

Foundation for the Cretes language specification. No language semantics are defined yet.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Cretes language specification

This repository is the designated home for the future normative Cretes specification and for the requirements that constrain it. No language semantics, grammar or syntax have been approved or implemented.

Phase Status Output in this repository
Phase 0 — Project foundation and governance Foundation established; administrative dependencies tracked Repository scaffold and change-control policy (below)
Phase 1 — Language vision, requirements and design principles Baseline published docs/ — vision, principles, requirements, v0.1 scope, Phase 2 questions
Phase 2 — Architecture Proposed; RFC review pending 30 architecture records, requirement traceability, v0.1 blueprint

| Phase 3 — Language surface | Draft candidate; acceptance pending | 40 sections, grammar and examples, traceability, validation |

Phase 1 defines what Cretes must accomplish. Phase 2 and later phases decide how. The Phase 1 documents are requirements. They are not normative language rules and do not define syntax.

Phase 2 architecture review

The architecture proposal covers sections 2.1–2.30. All choices remain PROPOSED, pending the RFC process and its final-comment period. Publication is not acceptance, implementation or release. Tracking issue. The issue is administratively closed; formal acceptance remains pending in RFC review.

Phase 3 language candidate

The language candidate addresses sections 3.1–3.40 with proposed syntax, 14 examples, formal grammar, 257 requirement mappings and an isolated experimental recognizer. Read the completion report, review record and v0.1 acceptance checklist. Tracking issue.

This candidate is PROPOSED / UNACCEPTED, not frozen or released. Its syntax and lexical checks do not establish semantic correctness. Architecture and syntax acceptance remain separate governance decisions. Phase 4 and production compiler/runtime implementation have not started.

Phase 1 documentation

Where to start

Read in this order:

  1. Vision — what Cretes is, why it exists, the long-term ecosystem.
  2. Target developers — the six personas Cretes is designed for.
  3. Design principles — the fifteen principles that guide every decision.
  4. Requirements framework — MUST/SHOULD/MAY terminology, requirement IDs, layers, targets, traceability.
  5. Use cases — concrete scenarios traced to requirements.
  6. The domain and cross-cutting requirements (tables below).
  7. v0.1 requirements — the first language milestone.
  8. Phase 2 open questions — architecture decisions deliberately left open.

Index

§ Topic Document IDs
1.1 Language mission docs/vision/VISION.md —
1.2 Target developers docs/vision/TARGET-USERS.md —
1.3 Core use cases docs/requirements/USE-CASES.md UC-*
1.4 Design principles docs/principles/DESIGN-PRINCIPLES.md —
1.5 Automation docs/requirements/domains/automation.md AUTO
1.6 Networking docs/requirements/domains/networking.md NET
1.7 AI/ML Applications docs/requirements/domains/ai-ml.md AI
1.8 Cybersecurity docs/requirements/domains/cybersecurity.md SEC
1.9 Safety docs/requirements/SAFETY.md SAFE
1.10 Performance docs/requirements/PERFORMANCE.md PERF
1.11 Concurrency docs/requirements/CONCURRENCY.md CONC
1.12 Interoperability docs/requirements/INTEROPERABILITY.md INTOP
1.13 Platforms docs/requirements/PLATFORMS.md PLAT
1.14 Scope and non-goals docs/requirements/NON-GOALS.md NG-*
1.15 v0.1 requirements docs/requirements/V0.1-REQUIREMENTS.md —
— Core language and developer experience docs/requirements/CORE.md CORE, DX
— Requirements framework and register docs/requirements/README.md —
— Phase 2 open questions docs/PHASE-2-OPEN-QUESTIONS.md P2Q-*
— Phase 1 security, consistency and scope review docs/reviews/PHASE-1-REVIEW.md —

Layout

docs/
├── vision/            VISION.md, TARGET-USERS.md
├── principles/        DESIGN-PRINCIPLES.md
├── requirements/      README.md (framework), USE-CASES.md, CORE.md, SAFETY.md,
│   │                  PERFORMANCE.md, CONCURRENCY.md, INTEROPERABILITY.md,
│   │                  PLATFORMS.md, NON-GOALS.md, V0.1-REQUIREMENTS.md
│   └── domains/       automation.md, networking.md, ai-ml.md, cybersecurity.md
├── reviews/           PHASE-1-REVIEW.md
└── PHASE-2-OPEN-QUESTIONS.md

Planned reference structure

Future normative chapters will cover the areas below. They will be kept separate from the Phase 1 requirements in docs/, and their location will be decided when the first chapter is approved.

Area Future document scope
Lexical structure and grammar Source encoding, tokens and formal grammar
Types and semantics Values, conversions, inference and semantic constraints
Expressions and control flow Evaluation, branching, loops and functions
Modules Imports, visibility and module identity
Errors and resources Failure behavior, memory and resource lifetime
Concurrency Execution and synchronization rules
Standard library Required behavior of standard interfaces
Conformance Requirements and positive/negative test mappings

These headings do not select any design. Chapters are added after approved proposals. Each chapter should cite the requirement IDs it satisfies.

Authority and change control

An accepted RFC records a design decision. A reviewed specification change defines normative behavior. Tutorials and examples are explanatory. A compiler discrepancy is not automatically a change to the language. Resolve it in an issue with the specification reference and test evidence.

Each future chapter should declare:

  • status and scope;
  • terminology;
  • normative rules and their rationale;
  • examples, marked as normative or illustrative;
  • links to accepted RFCs and conformance tests.

Drafts must remain visibly marked. Version the specification and associate it with toolchain releases before making stability claims.

Phase 1 requirements change through issues and reviewed pull requests. Adding, weakening or removing a MUST requirement requires an RFC. See Changing requirements.

Project policies

License: Apache-2.0.

About

Foundation for the Cretes language specification. No language semantics are defined yet.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors