From 9b3a4b97e5c85e0b214f0bfb7a6ac795d42c90d8 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 16 Dec 2025 03:27:54 +0000 Subject: [PATCH 1/5] feat: add comprehensive language comparison table and hub structure MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Create LANGUAGES.scm with detailed specifications for 8 languages: Solo, Duet, Ensemble, Phronesis, Eclexia, Oblíbený, Anvomidav, WokeLang - Update README.adoc as central hub with comparison table - Define satellite repository structure with betlang as active - Add design spectrum visualization (abstraction, verification, AI, audience) - Update STATE.scm to v0.2.0 with new session history Source: chat c_ffe1252d0dd5dd30 --- LANGUAGES.scm | 511 ++++++++++++++++++++++++++++++++++++++++++++++++++ README.adoc | 147 ++++++++++++++- STATE.scm | 65 +++++-- 3 files changed, 696 insertions(+), 27 deletions(-) create mode 100644 LANGUAGES.scm diff --git a/LANGUAGES.scm b/LANGUAGES.scm new file mode 100644 index 0000000..5b538d8 --- /dev/null +++ b/LANGUAGES.scm @@ -0,0 +1,511 @@ +;; SPDX-License-Identifier: AGPL-3.0-or-later +;; SPDX-FileCopyrightText: 2025 Jonathan D.A. Jewell + +;;; LANGUAGES.scm — Next-Gen Language Comparison and Strategy +;;; nextgen-languages +;;; Reference: https://github.com/hyperpolymath/nextgen-languages +;;; Source Chat: c_ffe1252d0dd5dd30 + +(define-module (nextgen-languages languages) + #:export (language-overview + language-specifications + language-comparison + design-philosophy)) + +;;;============================================================================ +;;; LANGUAGE OVERVIEW +;;; Strategic summary of the eight next-generation programming languages +;;;============================================================================ + +(define language-overview + '((total-languages . 8) + (design-goal . "Comprehensive coverage of emerging paradigms from AI-native + to formally verified, from sustainable computing to + human-centric development") + (categories + ((systems-programming . (Solo)) + (ai-assisted . (Duet Ensemble)) + (ai-safety . (Phronesis)) + (sustainable-computing . (Eclexia)) + (security-critical . (Oblíbený)) + (formally-verified . (Anvomidav)) + (human-centric . (WokeLang)))) + (existing-projects + ((betlang + ((url . "https://github.com/hyperpolymath/betlang") + (description . "Bet programming language - existing experimental language"))))))) + +;;;============================================================================ +;;; LANGUAGE COMPARISON TABLE +;;;============================================================================ + +(define language-comparison + '((columns . (Language Core-Philosophy Primary-Paradigms Key-Features Target-Domain)) + + (entries + ((language . Solo) + (core-philosophy . "Dependable foundation for systems programming") + (primary-paradigms . (Imperative Concurrent Contract-Based)) + (key-features . ("effect" "go" "where { pre: ..., post: ... }")) + (target-domain . "General Systems Programming")) + + ((language . Duet) + (core-philosophy . "AI-assisted development (Neuro-Symbolic) for verifiable software") + (primary-paradigms . (Imperative Contract-Based Neuro-Symbolic)) + (key-features . ("@synth" "@verify" "intent(\"...\")")) + (target-domain . "High-Assurance, AI-Assisted Systems")) + + ((language . Ensemble) + (core-philosophy . "AI as a first-class, native component of the language") + (primary-paradigms . (Imperative AI-as-Effect)) + (key-features . ("ai_model {}" "prompt {}" "AI effect type")) + (target-domain . "AI-Native Applications, AI Agents")) + + ((language . Phronesis) + (core-philosophy . "Formal, auditable specification of an agent's ethical framework") + (primary-paradigms . (Declarative Logic-Based Agent-Oriented)) + (key-features . ("Agent." "Values:" "EVALUATE(...)")) + (target-domain . "AI Safety, Alignment, and Auditing")) + + ((language . Eclexia) + (core-philosophy . "Sustainable Software Engineering through resource-first constraints") + (primary-paradigms . (Declarative Constraint-Driven)) + (key-features . ("(energy budget ...)" "(resource ...)")) + (target-domain . "Green Computing, IoT/Embedded, FinOps")) + + ((language . Oblíbený) + (core-philosophy . "Provably secure, obfuscated code for hostile environments") + (primary-paradigms . (Turing-Incomplete-Deploy Metaprogramming)) + (key-features . ("(forbid recursion)" "(bounded-for ...)")) + (target-domain . "Secure Enclaves (HSMs), Critical Embedded")) + + ((language . Anvomidav) + (core-philosophy . "Maximalist formal verification for hard real-time systems") + (primary-paradigms . (Functional Concurrent Formal-Linear-Session-Types)) + (key-features . ("task @sched(EDF)" "Linear" "Π (...) . T")) + (target-domain . "Avionics, Autonomous Vehicles, Robotics")) + + ((language . WokeLang) + (core-philosophy . "Human-centric programming focused on consent and well-being") + (primary-paradigms . (Imperative Natural-Language)) + (key-features . ("only if okay \"...\"" "attempt ... or reassure")) + (target-domain . "Education, Personal Scripting, Accessibility"))))) + +;;;============================================================================ +;;; DETAILED LANGUAGE SPECIFICATIONS +;;;============================================================================ + +(define language-specifications + '( + ;;========================================================================= + ;; SOLO - Systems Programming Foundation + ;;========================================================================= + (Solo + ((name . "Solo") + (tagline . "Dependable foundation for systems programming") + (version . "concept-v0.1") + + (philosophy + "Solo provides a solid, predictable foundation for systems programming. + It emphasizes explicit effects, structured concurrency, and design-by-contract + principles to create reliable, maintainable low-level code.") + + (paradigms + ((primary . Imperative) + (secondary . (Concurrent Contract-Based)))) + + (key-features + ((effects + ((description . "Explicit effect tracking for side effects") + (syntax . "effect { ... }") + (purpose . "Track and control side effects at type level"))) + + (concurrency + ((description . "Lightweight, structured concurrency") + (syntax . "go { ... }") + (purpose . "Spawn concurrent tasks with clear lifecycle"))) + + (contracts + ((description . "Design-by-contract with pre/post conditions") + (syntax . "where { pre: condition, post: condition }") + (purpose . "Runtime and static verification of function contracts"))))) + + (target-domains + ("Operating system kernels" + "Device drivers" + "Embedded systems" + "High-performance libraries" + "Systems utilities")) + + (influences + ("Rust (ownership, safety)" + "Go (concurrency)" + "Eiffel (contracts)" + "Ada (reliability)")))) + + ;;========================================================================= + ;; DUET - AI-Assisted Neuro-Symbolic Development + ;;========================================================================= + (Duet + ((name . "Duet") + (tagline . "AI-assisted development for verifiable software") + (version . "concept-v0.1") + + (philosophy + "Duet enables a collaborative relationship between human programmers and + AI systems. It provides formal mechanisms for AI-synthesized code with + verification guarantees, bridging neural capabilities with symbolic + verification.") + + (paradigms + ((primary . Imperative) + (secondary . (Contract-Based Neuro-Symbolic)))) + + (key-features + ((synthesis + ((description . "AI-powered code synthesis with verification") + (syntax . "@synth") + (purpose . "Request AI to synthesize implementation from specification"))) + + (verification + ((description . "Formal verification of AI-generated code") + (syntax . "@verify") + (purpose . "Prove correctness of synthesized code against contracts"))) + + (intent + ((description . "Natural language intent specification") + (syntax . "intent(\"...\")") + (purpose . "Express high-level intent for AI interpretation"))))) + + (target-domains + ("High-assurance software" + "Safety-critical systems" + "Formal methods integration" + "Rapid prototyping with guarantees" + "Human-AI pair programming")) + + (influences + ("Dafny (verification)" + "GitHub Copilot (synthesis)" + "Liquid Haskell (refinement types)" + "F* (proof-oriented programming)")))) + + ;;========================================================================= + ;; ENSEMBLE - AI-Native Programming + ;;========================================================================= + (Ensemble + ((name . "Ensemble") + (tagline . "AI as a first-class, native component") + (version . "concept-v0.1") + + (philosophy + "Ensemble treats AI models as fundamental building blocks of software, + not external services. AI capabilities are expressed through the type + system as effects, enabling compositional, type-safe AI applications.") + + (paradigms + ((primary . Imperative) + (secondary . (AI-as-Effect)))) + + (key-features + ((ai-model + ((description . "First-class AI model definition") + (syntax . "ai_model { ... }") + (purpose . "Define AI model configurations and capabilities"))) + + (prompts + ((description . "Structured prompt construction") + (syntax . "prompt { ... }") + (purpose . "Type-safe prompt template definition"))) + + (ai-effect + ((description . "AI operations as typed effects") + (syntax . "AI") + (purpose . "Track AI operations in the type system"))))) + + (target-domains + ("AI agent development" + "LLM-powered applications" + "Multi-agent systems" + "Intelligent assistants" + "AI orchestration platforms")) + + (influences + ("LangChain (AI orchestration)" + "TypeScript (type system)" + "Effect systems (Koka, Eff)" + "Actor model (agents)")))) + + ;;========================================================================= + ;; PHRONESIS - AI Ethics and Safety Specification + ;;========================================================================= + (Phronesis + ((name . "Phronesis") + (tagline . "Formal specification of ethical AI frameworks") + (version . "concept-v0.1") + + (philosophy + "Named after the Aristotelian concept of practical wisdom, Phronesis + provides a formal, auditable language for specifying AI agent ethics. + It enables transparent reasoning about values, constraints, and + decision-making processes.") + + (paradigms + ((primary . Declarative) + (secondary . (Logic-Based Agent-Oriented)))) + + (key-features + ((agent-definition + ((description . "Formal agent specification") + (syntax . "Agent.") + (purpose . "Define an AI agent's identity and capabilities"))) + + (values + ((description . "Explicit value hierarchy declaration") + (syntax . "Values:") + (purpose . "Specify prioritized ethical values and constraints"))) + + (evaluation + ((description . "Decision evaluation framework") + (syntax . "EVALUATE(...)") + (purpose . "Formally evaluate actions against ethical framework"))))) + + (target-domains + ("AI safety research" + "AI alignment verification" + "Regulatory compliance" + "Ethical AI auditing" + "Constitutional AI specification")) + + (influences + ("Prolog (logic programming)" + "Deontic logic (obligations)" + "Constitutional AI (Anthropic)" + "Value Alignment research")))) + + ;;========================================================================= + ;; ECLEXIA - Sustainable Computing Language + ;;========================================================================= + (Eclexia + ((name . "Eclexia") + (tagline . "Sustainable Software Engineering through resource-first constraints") + (version . "concept-v0.1") + + (philosophy + "Eclexia makes resource consumption a first-class concern in software + design. Energy budgets, memory limits, and computational constraints + are expressed declaratively, enabling optimization for sustainability + and cost-effectiveness.") + + (paradigms + ((primary . Declarative) + (secondary . (Constraint-Driven)))) + + (key-features + ((energy-budget + ((description . "Energy consumption constraints") + (syntax . "(energy budget ...)") + (purpose . "Declare maximum energy consumption allowances"))) + + (resource-declaration + ((description . "Resource requirement specification") + (syntax . "(resource ...)") + (purpose . "Specify computational resource constraints"))))) + + (target-domains + ("Green computing" + "IoT and embedded systems" + "Cloud cost optimization (FinOps)" + "Battery-constrained devices" + "Carbon-aware computing")) + + (influences + ("Constraint programming" + "Green Software Foundation principles" + "Resource-bounded computation" + "Energy-proportional computing")))) + + ;;========================================================================= + ;; OBLÍBENÝ - Security-Critical Embedded Language + ;;========================================================================= + (Oblíbený + ((name . "Oblíbený") + (tagline . "Provably secure code for hostile environments") + (version . "concept-v0.1") + + (philosophy + "Oblíbený (Czech for 'favorite' or 'beloved') produces provably secure, + intentionally Turing-incomplete code for deployment in hostile + environments. By restricting expressiveness, it guarantees termination + and eliminates entire classes of vulnerabilities.") + + (paradigms + ((primary . Turing-Incomplete-Deploy) + (secondary . (Metaprogramming)))) + + (key-features + ((forbid-recursion + ((description . "Explicit recursion prohibition") + (syntax . "(forbid recursion)") + (purpose . "Guarantee termination by eliminating unbounded recursion"))) + + (bounded-iteration + ((description . "Bounded loop constructs") + (syntax . "(bounded-for ...)") + (purpose . "Ensure all loops terminate within known bounds"))))) + + (target-domains + ("Hardware Security Modules (HSMs)" + "Secure enclaves (SGX, TrustZone)" + "Smart card programming" + "Critical embedded systems" + "High-assurance cryptographic code")) + + (influences + ("Total functional programming" + "Cryptol (cryptographic DSL)" + "Ivory (embedded safety)" + "Coq/Agda (termination checking)")))) + + ;;========================================================================= + ;; ANVOMIDAV - Formally Verified Real-Time Systems + ;;========================================================================= + (Anvomidav + ((name . "Anvomidav") + (tagline . "Maximalist formal verification for hard real-time systems") + (version . "concept-v0.1") + + (philosophy + "Anvomidav combines linear types, session types, and dependent types + to provide maximum formal guarantees for hard real-time systems. + Every resource is tracked, every protocol is verified, every + deadline is statically guaranteed.") + + (paradigms + ((primary . Functional) + (secondary . (Concurrent Formal-Linear-Session-Types)))) + + (key-features + ((scheduled-tasks + ((description . "Real-time task scheduling") + (syntax . "task @sched(EDF)") + (purpose . "Declare tasks with scheduling guarantees (e.g., Earliest Deadline First)"))) + + (linear-types + ((description . "Linear resource tracking") + (syntax . "Linear") + (purpose . "Ensure resources are used exactly once"))) + + (dependent-types + ((description . "Dependent type specifications") + (syntax . "Π (...) . T") + (purpose . "Express precise specifications in types"))))) + + (target-domains + ("Avionics systems (DO-178C)" + "Autonomous vehicle control" + "Medical device software" + "Robotics control systems" + "Nuclear and industrial control")) + + (influences + ("SPARK/Ada (formal verification)" + "Idris (dependent types)" + "Rust (linear types)" + "Session types research")))) + + ;;========================================================================= + ;; WOKELANG - Human-Centric Programming + ;;========================================================================= + (WokeLang + ((name . "WokeLang") + (tagline . "Human-centric programming focused on consent and well-being") + (version . "concept-v0.1") + + (philosophy + "WokeLang prioritizes the human experience in programming. It uses + natural language constructs, explicit consent mechanisms, and + supportive error handling to make programming accessible and + psychologically safe.") + + (paradigms + ((primary . Imperative) + (secondary . (Natural-Language)))) + + (key-features + ((consent + ((description . "Explicit consent for operations") + (syntax . "only if okay \"...\"") + (purpose . "Require explicit user consent for sensitive operations"))) + + (graceful-handling + ((description . "Supportive error recovery") + (syntax . "attempt ... or reassure") + (purpose . "Handle failures with user-friendly messaging"))))) + + (target-domains + ("Educational programming" + "Personal scripting" + "Accessibility-focused tools" + "Mental health tech" + "Gentle introduction to coding")) + + (influences + ("Natural language programming" + "Scratch (educational)" + "Human-centered design" + "Cognitive load theory")))))) + +;;;============================================================================ +;;; DESIGN PHILOSOPHY +;;; Overarching principles guiding all language designs +;;;============================================================================ + +(define design-philosophy + '((core-principles + ((explicit-over-implicit + "All languages favor explicit declaration of intent, effects, + constraints, and side effects over implicit behavior.") + + (domain-specific-strength + "Each language is optimized for its domain rather than being + a general-purpose compromise.") + + (formal-foundations + "Where applicable, languages are built on formal foundations + enabling verification, proof, and static analysis.") + + (human-readable + "Syntax is designed for human comprehension first, balancing + expressiveness with clarity."))) + + (paradigm-coverage + ((imperative . (Solo Duet Ensemble WokeLang)) + (declarative . (Phronesis Eclexia)) + (functional . (Anvomidav)) + (contract-based . (Solo Duet)) + (ai-integrated . (Duet Ensemble Phronesis)) + (formally-verified . (Duet Oblíbený Anvomidav)) + (resource-aware . (Eclexia Oblíbený)) + (human-centric . (WokeLang)))) + + (spectrum-coverage + "The eight languages span a complete spectrum: + + Abstraction Level: + Low -----> High + Solo WokeLang + + Verification Rigor: + Minimal --> Maximal + WokeLang Anvomidav + + AI Integration: + None -----> Native + Oblíbený Ensemble + + Target Audience: + Expert ---> Beginner + Anvomidav WokeLang"))) + +;;; End of LANGUAGES.scm diff --git a/README.adoc b/README.adoc index b2c3680..1a9ab10 100644 --- a/README.adoc +++ b/README.adoc @@ -1,26 +1,157 @@ = Next-Gen Languages -*Experimental programming language projects* +*A strategic ecosystem of experimental programming languages exploring emerging paradigms* -== Components +== Overview +This repository serves as the central hub for the Next-Gen Languages initiative—a coordinated effort to design and develop eight programming languages that collectively cover the full spectrum of modern software challenges, from AI-native development to formally verified real-time systems. + +== Language Comparison + +[cols="1,2,2,2,2"] |=== -| Repo | Description +| Language | Core Philosophy | Primary Paradigms | Key Features | Target Domain + +| *Solo* +| Dependable foundation for systems programming +| Imperative, Concurrent, Contract-Based +| `effect`, `go`, `where { pre: ..., post: ... }` +| General Systems Programming + +| *Duet* +| AI-assisted development (Neuro-Symbolic) for verifiable software +| Imperative, Contract-Based, Neuro-Symbolic +| `@synth`, `@verify`, `intent("...")` +| High-Assurance, AI-Assisted Systems + +| *Ensemble* +| AI as a first-class, native component of the language +| Imperative, AI-as-Effect +| `ai_model {}`, `prompt {}`, `AI` effect type +| AI-Native Applications, AI Agents -| link:betlang[betlang] -| Bet programming language +| *Phronesis* +| Formal, auditable specification of an agent's ethical framework +| Declarative, Logic-Based, Agent-Oriented +| `Agent.`, `Values:`, `EVALUATE(...)` +| AI Safety, Alignment, and Auditing -| link:julia-the-viper[julia-the-viper] -| Julia-based language experimentation +| *Eclexia* +| Sustainable Software Engineering through resource-first constraints +| Declarative, Constraint-Driven +| `(energy budget ...)`, `(resource ...)` +| Green Computing, IoT/Embedded, FinOps + +| *Oblíbený* +| Provably secure, obfuscated code for hostile environments +| Turing-Incomplete (Deploy), Metaprogramming +| `(forbid recursion)`, `(bounded-for ...)` +| Secure Enclaves (HSMs), Critical Embedded + +| *Anvomidav* +| Maximalist formal verification for hard real-time systems +| Functional, Concurrent, Formal (Linear/Session Types) +| `task @sched(EDF)`, `Linear`, `Π (...) . T` +| Avionics, Autonomous Vehicles, Robotics + +| *WokeLang* +| Human-centric programming focused on consent and well-being +| Imperative, Natural-Language +| `only if okay "..."`, `attempt ... or reassure` +| Education, Personal Scripting, Accessibility |=== +== Satellite Repositories + +Each language has its own dedicated repository for implementation: + +[cols="1,1,2,1"] +|=== +| Language | Repository | Description | Status + +| betlang +| link:https://github.com/hyperpolymath/betlang[betlang] +| Bet programming language (foundational experiment) +| Active + +| Solo +| _TBD_ +| Systems programming foundation +| Concept + +| Duet +| _TBD_ +| AI-assisted neuro-symbolic development +| Concept + +| Ensemble +| _TBD_ +| AI-native programming +| Concept + +| Phronesis +| _TBD_ +| AI ethics and safety specification +| Concept + +| Eclexia +| _TBD_ +| Sustainable computing language +| Concept + +| Oblíbený +| _TBD_ +| Security-critical embedded language +| Concept + +| Anvomidav +| _TBD_ +| Formally verified real-time systems +| Concept + +| WokeLang +| _TBD_ +| Human-centric programming +| Concept + +|=== + +== Design Spectrum + +The eight languages span a complete spectrum of concerns: + +---- +Abstraction Level: Low ←————————————————→ High + Solo WokeLang + +Verification Rigor: Minimal ←——————————→ Maximal + WokeLang Anvomidav + +AI Integration: None ←——————————————→ Native + Oblíbený Ensemble + +Target Audience: Expert ←————————————→ Beginner + Anvomidav WokeLang +---- + +== Documentation + +* `LANGUAGES.scm` — Detailed language specifications and comparison +* `META.scm` — Architecture decisions and development practices +* `STATE.scm` — Project checkpoint and session history +* `ECOSYSTEM.scm` — Project ecosystem relationships + == Quick Start ```bash git clone --recursive https://github.com/hyperpolymath/nextgen-languages.git ``` +== Contributing + +Each language welcomes contributions. See individual satellite repositories for language-specific contribution guidelines. + == License -MIT OR Palimpsest-0.8 +MIT OR AGPL-3.0-or-later diff --git a/STATE.scm b/STATE.scm index d6e6352..fd93247 100644 --- a/STATE.scm +++ b/STATE.scm @@ -12,10 +12,10 @@ ;;;============================================================================ (define metadata - '((version . "0.1.0") + '((version . "0.2.0") (schema-version . "1.0") (created . "2025-12-15") - (updated . "2025-12-15") + (updated . "2025-12-16") (project . "nextgen-languages") (repo . "github.com/hyperpolymath/nextgen-languages"))) @@ -25,13 +25,19 @@ (define project-context '((name . "nextgen-languages") - (tagline . "*Experimental programming language projects*") - (version . "0.1.0") + (tagline . "A strategic ecosystem of experimental programming languages") + (version . "0.2.0") (license . "AGPL-3.0-or-later") (rsr-compliance . "gold-target") + (role . "Hub repository for eight next-gen language satellites") + + (languages + ((total . 8) + (defined . (Solo Duet Ensemble Phronesis Eclexia Oblíbený Anvomidav WokeLang)) + (existing-satellites . (betlang)))) (tech-stack - ((primary . "See repository languages") + ((primary . "Scheme (specification), multi-language (implementation)") (ci-cd . "GitHub Actions + GitLab CI + Bitbucket Pipelines") (security . "CodeQL + OSSF Scorecard"))))) @@ -40,8 +46,8 @@ ;;;============================================================================ (define current-position - '((phase . "v0.1 - Initial Setup and RSR Compliance") - (overall-completion . 25) + '((phase . "v0.2 - Language Strategy Definition") + (overall-completion . 40) (components ((rsr-compliance @@ -50,25 +56,33 @@ (notes . "SHA-pinned actions, SPDX headers, multi-platform CI"))) (documentation - ((status . "foundation") - (completion . 30) - (notes . "README exists, META/ECOSYSTEM/STATE.scm added"))) + ((status . "substantial") + (completion . 70) + (notes . "README updated as hub, LANGUAGES.scm added with full specs"))) + + (language-specifications + ((status . "complete") + (completion . 100) + (notes . "All 8 languages defined in LANGUAGES.scm with philosophy, features, domains"))) (testing ((status . "minimal") (completion . 10) (notes . "CI/CD scaffolding exists, limited test coverage"))) - (core-functionality - ((status . "in-progress") - (completion . 25) - (notes . "Initial implementation underway"))))) + (satellite-repos + ((status . "partial") + (completion . 12) + (notes . "betlang exists; 8 language repos TBD"))))) (working-features ("RSR-compliant CI/CD pipeline" "Multi-platform mirroring (GitHub, GitLab, Bitbucket)" "SPDX license headers on all files" - "SHA-pinned GitHub Actions")))) + "SHA-pinned GitHub Actions" + "Comprehensive language comparison table" + "Detailed LANGUAGES.scm specifications" + "Hub structure for satellite repositories")))) ;;;============================================================================ ;;; ROUTE TO MVP @@ -151,6 +165,17 @@ (define session-history '((snapshots + ((date . "2025-12-16") + (session . "language-comparison-table") + (source-chat . "c_ffe1252d0dd5dd30") + (accomplishments + ("Created comprehensive LANGUAGES.scm with all 8 language specifications" + "Updated README.adoc as hub with comparison table" + "Defined satellite repository structure" + "Added design spectrum visualization" + "Documented language philosophies, paradigms, and target domains")) + (notes . "Consolidated language strategy from design chat into hub repository")) + ((date . "2025-12-15") (session . "initial-state-creation") (accomplishments @@ -184,11 +209,13 @@ (define state-summary '((project . "nextgen-languages") - (version . "0.1.0") - (overall-completion . 25) - (next-milestone . "v0.2 - Core Functionality") + (version . "0.2.0") + (overall-completion . 40) + (next-milestone . "v0.3 - Satellite Repository Setup") + (languages-defined . 8) + (satellites-active . 1) (critical-blockers . 0) (high-priority-issues . 0) - (updated . "2025-12-15"))) + (updated . "2025-12-16"))) ;;; End of STATE.scm From 84a162662916526562baf5a9b1a9a85097a6ce85 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 16 Dec 2025 04:06:00 +0000 Subject: [PATCH 2/5] docs: comprehensive ecosystem update with GitLab/GitHub sync audit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Restructure LANGUAGES.scm with 3 language families: - My-Language family (Me, Solo, Duet, Ensemble dialects) - Foundational languages (betlang, julia-the-viper) - Specialized languages (Phronesis, Eclexia, Oblíbený, Anvomidav, WokeLang) - Add repository-map section documenting GitLab→GitHub relationships - Document sync status and actions needed for each repo - Update README.adoc with MAAF context and accurate repo status - Note critical finding: several repos have diverged where Claude created parallel implementations on GitHub instead of syncing from GitLab source (eclexia, phronesis, wokelang affected) --- LANGUAGES.scm | 889 +++++++++++++++++++++++++------------------------- README.adoc | 246 ++++++++------ 2 files changed, 595 insertions(+), 540 deletions(-) diff --git a/LANGUAGES.scm b/LANGUAGES.scm index 5b538d8..4e4e72c 100644 --- a/LANGUAGES.scm +++ b/LANGUAGES.scm @@ -1,464 +1,458 @@ ;; SPDX-License-Identifier: AGPL-3.0-or-later ;; SPDX-FileCopyrightText: 2025 Jonathan D.A. Jewell -;;; LANGUAGES.scm — Next-Gen Language Comparison and Strategy +;;; LANGUAGES.scm — Next-Gen Language Ecosystem ;;; nextgen-languages ;;; Reference: https://github.com/hyperpolymath/nextgen-languages -;;; Source Chat: c_ffe1252d0dd5dd30 +;;; GitLab Source: https://gitlab.com/maa-framework/4a-languages (define-module (nextgen-languages languages) #:export (language-overview + language-families language-specifications - language-comparison + repository-map design-philosophy)) ;;;============================================================================ ;;; LANGUAGE OVERVIEW -;;; Strategic summary of the eight next-generation programming languages +;;; Complete ecosystem of next-generation programming languages ;;;============================================================================ (define language-overview - '((total-languages . 8) - (design-goal . "Comprehensive coverage of emerging paradigms from AI-native - to formally verified, from sustainable computing to - human-centric development") - (categories - ((systems-programming . (Solo)) - (ai-assisted . (Duet Ensemble)) - (ai-safety . (Phronesis)) - (sustainable-computing . (Eclexia)) - (security-critical . (Oblíbený)) - (formally-verified . (Anvomidav)) - (human-centric . (WokeLang)))) - (existing-projects - ((betlang - ((url . "https://github.com/hyperpolymath/betlang") - (description . "Bet programming language - existing experimental language"))))))) + '((ecosystem-name . "Next-Gen Languages") + (total-languages . 10) ;; Including all dialects + (language-families . 3) ;; My-Language family, Foundational, Specialized + + (design-goal + "Comprehensive coverage of emerging paradigms from AI-native to formally + verified, from sustainable computing to human-centric development, with + progressive complexity for educational pathways.") + + (families + ((my-language-family + ((description . "Progressive complexity dialect family") + (dialects . (Me Solo Duet Ensemble)) + (age-progression . "8-12 → 13-14 → 15 → 16+"))) + + (foundational-languages + ((description . "Established experimental languages") + (languages . (betlang julia-the-viper)))) + + (specialized-languages + ((description . "Domain-specific next-gen languages") + (languages . (Phronesis Eclexia Oblíbený Anvomidav WokeLang)))))))) ;;;============================================================================ -;;; LANGUAGE COMPARISON TABLE +;;; REPOSITORY MAP +;;; GitLab (source) → GitHub (mirror) relationships ;;;============================================================================ -(define language-comparison - '((columns . (Language Core-Philosophy Primary-Paradigms Key-Features Target-Domain)) - - (entries - ((language . Solo) - (core-philosophy . "Dependable foundation for systems programming") - (primary-paradigms . (Imperative Concurrent Contract-Based)) - (key-features . ("effect" "go" "where { pre: ..., post: ... }")) - (target-domain . "General Systems Programming")) - - ((language . Duet) - (core-philosophy . "AI-assisted development (Neuro-Symbolic) for verifiable software") - (primary-paradigms . (Imperative Contract-Based Neuro-Symbolic)) - (key-features . ("@synth" "@verify" "intent(\"...\")")) - (target-domain . "High-Assurance, AI-Assisted Systems")) - - ((language . Ensemble) - (core-philosophy . "AI as a first-class, native component of the language") - (primary-paradigms . (Imperative AI-as-Effect)) - (key-features . ("ai_model {}" "prompt {}" "AI effect type")) - (target-domain . "AI-Native Applications, AI Agents")) - - ((language . Phronesis) - (core-philosophy . "Formal, auditable specification of an agent's ethical framework") - (primary-paradigms . (Declarative Logic-Based Agent-Oriented)) - (key-features . ("Agent." "Values:" "EVALUATE(...)")) - (target-domain . "AI Safety, Alignment, and Auditing")) - - ((language . Eclexia) - (core-philosophy . "Sustainable Software Engineering through resource-first constraints") - (primary-paradigms . (Declarative Constraint-Driven)) - (key-features . ("(energy budget ...)" "(resource ...)")) - (target-domain . "Green Computing, IoT/Embedded, FinOps")) - - ((language . Oblíbený) - (core-philosophy . "Provably secure, obfuscated code for hostile environments") - (primary-paradigms . (Turing-Incomplete-Deploy Metaprogramming)) - (key-features . ("(forbid recursion)" "(bounded-for ...)")) - (target-domain . "Secure Enclaves (HSMs), Critical Embedded")) - - ((language . Anvomidav) - (core-philosophy . "Maximalist formal verification for hard real-time systems") - (primary-paradigms . (Functional Concurrent Formal-Linear-Session-Types)) - (key-features . ("task @sched(EDF)" "Linear" "Π (...) . T")) - (target-domain . "Avionics, Autonomous Vehicles, Robotics")) - - ((language . WokeLang) - (core-philosophy . "Human-centric programming focused on consent and well-being") - (primary-paradigms . (Imperative Natural-Language)) - (key-features . ("only if okay \"...\"" "attempt ... or reassure")) - (target-domain . "Education, Personal Scripting, Accessibility"))))) +(define repository-map + '((source-platform . "gitlab.com/maa-framework/4a-languages") + (mirror-platform . "github.com/hyperpolymath") + + (repositories + ;; MY-LANGUAGE FAMILY + ((name . "my-lang") + (gitlab . "gitlab.com/maa-framework/4a-languages/my-lang") + (github . "github.com/hyperpolymath/my-lang") + (github-alt . "github.com/hyperpolymath/me-dialect-playground") + (status . "active") + (sync-status . "check-needed") + (notes . "Main implementation; me-dialect-playground has more development")) + + ;; FOUNDATIONAL LANGUAGES + ((name . "betlang") + (gitlab . "gitlab.com/maa-framework/4a-languages/betlang") + (github . "github.com/hyperpolymath/betlang") + (status . "active") + (sync-status . "github-ahead") + (gitlab-commits . 5) + (github-commits . 43) + (notes . "Ternary probabilistic DSL; GitHub has main development")) + + ((name . "julia-the-viper") + (gitlab . "gitlab.com/maa-framework/4a-languages/julia-the-viper") + (github . "github.com/hyperpolymath/julia-the-viper") + (status . "active") + (sync-status . "github-ahead") + (notes . "Harvard Architecture security language; v1 ~80% complete")) + + ;; SPECIALIZED LANGUAGES + ((name . "phronesis") + (gitlab . "gitlab.com/maa-framework/4a-languages/phronesis") + (github . "github.com/hyperpolymath/phronesis") + (status . "active") + (sync-status . "check-needed") + (notes . "AI ethics/alignment; Elixir + TLA+ on BEAM VM")) + + ((name . "eclexia") + (gitlab . "gitlab.com/maa-framework/4a-languages/eclexia") + (github . "github.com/hyperpolymath/eclexia") + (status . "active") + (sync-status . "gitlab-ahead") + (gitlab-commits . 13) + (github-commits . 1) + (notes . "NEEDS SYNC: GitLab has white paper + Rust compiler; GitHub is template only")) + + ((name . "oblibeny") + (gitlab . "gitlab.com/maa-framework/4a-languages/oblibeny") + (github . "github.com/hyperpolymath/oblibeny") + (status . "active") + (sync-status . "roughly-synced") + (notes . "Oblivious computing ecosystem; Rust implementation")) + + ((name . "anvomidav") + (gitlab . "gitlab.com/maa-framework/4a-languages/betlang") ;; NAMING ISSUE + (github . "github.com/hyperpolymath/anvomidav") + (status . "template") + (sync-status . "naming-mismatch") + (notes . "ISSUE: Called 'betlang' on GitLab by mistake; needs rename")) + + ((name . "wokelang") + (gitlab . "gitlab.com/maa-framework/4a-languages/wokelang") + (github . "github.com/hyperpolymath/wokelang") + (status . "active") + (sync-status . "check-needed") + (notes . "Human-centric language; Rust implementation")) + + ;; RELATED APPLICATIONS + ((name . "7-tentacles") + (github . "github.com/hyperpolymath/7-tentacles") + (type . "application") + (notes . "Educational curriculum using My-Language dialects")) + + ((name . "my-newsroom") + (github . "github.com/hyperpolymath/my-newsroom") + (type . "application") + (notes . "Journalism/epistemic programming demo")) + + ((name . "my-ssg") + (github . "github.com/hyperpolymath/my-ssg") + (type . "application") + (notes . "Static site generator")) + + ((name . "nextgen-languages") + (github . "github.com/hyperpolymath/nextgen-languages") + (type . "hub") + (notes . "This repository - ecosystem hub and strategy docs"))) + + (sync-actions-needed + (("eclexia" . "Sync GitLab → GitHub (white paper, Rust compiler)") + ("anvomidav" . "Rename GitLab 'betlang' → 'anvomidav'") + ("my-lang" . "Consolidate with me-dialect-playground"))))) ;;;============================================================================ -;;; DETAILED LANGUAGE SPECIFICATIONS +;;; LANGUAGE FAMILIES - DETAILED ;;;============================================================================ -(define language-specifications +(define language-families '( ;;========================================================================= - ;; SOLO - Systems Programming Foundation - ;;========================================================================= - (Solo - ((name . "Solo") - (tagline . "Dependable foundation for systems programming") - (version . "concept-v0.1") - - (philosophy - "Solo provides a solid, predictable foundation for systems programming. - It emphasizes explicit effects, structured concurrency, and design-by-contract - principles to create reliable, maintainable low-level code.") - - (paradigms - ((primary . Imperative) - (secondary . (Concurrent Contract-Based)))) - - (key-features - ((effects - ((description . "Explicit effect tracking for side effects") - (syntax . "effect { ... }") - (purpose . "Track and control side effects at type level"))) - - (concurrency - ((description . "Lightweight, structured concurrency") - (syntax . "go { ... }") - (purpose . "Spawn concurrent tasks with clear lifecycle"))) - - (contracts - ((description . "Design-by-contract with pre/post conditions") - (syntax . "where { pre: condition, post: condition }") - (purpose . "Runtime and static verification of function contracts"))))) - - (target-domains - ("Operating system kernels" - "Device drivers" - "Embedded systems" - "High-performance libraries" - "Systems utilities")) - - (influences - ("Rust (ownership, safety)" - "Go (concurrency)" - "Eiffel (contracts)" - "Ada (reliability)")))) - - ;;========================================================================= - ;; DUET - AI-Assisted Neuro-Symbolic Development - ;;========================================================================= - (Duet - ((name . "Duet") - (tagline . "AI-assisted development for verifiable software") - (version . "concept-v0.1") - - (philosophy - "Duet enables a collaborative relationship between human programmers and - AI systems. It provides formal mechanisms for AI-synthesized code with - verification guarantees, bridging neural capabilities with symbolic - verification.") - - (paradigms - ((primary . Imperative) - (secondary . (Contract-Based Neuro-Symbolic)))) - - (key-features - ((synthesis - ((description . "AI-powered code synthesis with verification") - (syntax . "@synth") - (purpose . "Request AI to synthesize implementation from specification"))) - - (verification - ((description . "Formal verification of AI-generated code") - (syntax . "@verify") - (purpose . "Prove correctness of synthesized code against contracts"))) - - (intent - ((description . "Natural language intent specification") - (syntax . "intent(\"...\")") - (purpose . "Express high-level intent for AI interpretation"))))) - - (target-domains - ("High-assurance software" - "Safety-critical systems" - "Formal methods integration" - "Rapid prototyping with guarantees" - "Human-AI pair programming")) - - (influences - ("Dafny (verification)" - "GitHub Copilot (synthesis)" - "Liquid Haskell (refinement types)" - "F* (proof-oriented programming)")))) - - ;;========================================================================= - ;; ENSEMBLE - AI-Native Programming + ;; MY-LANGUAGE FAMILY - Progressive Complexity Dialects ;;========================================================================= - (Ensemble - ((name . "Ensemble") - (tagline . "AI as a first-class, native component") - (version . "concept-v0.1") - - (philosophy - "Ensemble treats AI models as fundamental building blocks of software, - not external services. AI capabilities are expressed through the type - system as effects, enabling compositional, type-safe AI applications.") - - (paradigms - ((primary . Imperative) - (secondary . (AI-as-Effect)))) - - (key-features - ((ai-model - ((description . "First-class AI model definition") - (syntax . "ai_model { ... }") - (purpose . "Define AI model configurations and capabilities"))) - - (prompts - ((description . "Structured prompt construction") - (syntax . "prompt { ... }") - (purpose . "Type-safe prompt template definition"))) - - (ai-effect - ((description . "AI operations as typed effects") - (syntax . "AI") - (purpose . "Track AI operations in the type system"))))) - - (target-domains - ("AI agent development" - "LLM-powered applications" - "Multi-agent systems" - "Intelligent assistants" - "AI orchestration platforms")) - - (influences - ("LangChain (AI orchestration)" - "TypeScript (type system)" - "Effect systems (Koka, Eff)" - "Actor model (agents)")))) + (my-language-family + ((name . "My Language") + (tagline . "Progressive complexity from education to orchestration") + (implementation-repos . ("my-lang" "me-dialect-playground")) + (application-repos . ("7-tentacles" "my-newsroom" "my-ssg")) + + (design-philosophy + "A unified language family with four dialects of increasing complexity, + designed for progressive learning from ages 8-18. Each dialect builds + on the previous, introducing new concepts while maintaining syntactic + familiarity.") + + (dialects + ((Me + ((age-range . "8-12") + (tagline . "Educational language with HTML-like syntax") + (complexity . "visual/blockly-like") + (completion . "100%") + (paradigms . (Educational Visual Epistemic)) + (key-concepts . ("Basic parsing" "Belief states" "Probabilistic reasoning")) + (teaches . "Lexical analysis, syntax trees"))) + + (Solo + ((age-range . "13-14") + (tagline . "Systems language with affine types") + (complexity . "text-based with safety") + (completion . "40%") + (paradigms . (Imperative Concurrent Contract-Based)) + (key-features . ("effect" "go" "where { pre: ..., post: ... }")) + (key-concepts . ("Affine types" "Arena allocation" "M:N threading")) + (teaches . "Type systems, memory safety"))) + + (Duet + ((age-range . "15") + (tagline . "AI-assisted neuro-symbolic development") + (complexity . "AI collaboration") + (completion . "30%") + (paradigms . (Imperative Contract-Based Neuro-Symbolic)) + (key-features . ("@synth" "@verify" "intent(\"...\")")) + (key-concepts . ("AI synthesis" "Formal verification" "Human-AI pairing")) + (teaches . "Verification, debugging, audit trails"))) + + (Ensemble + ((age-range . "16+") + (tagline . "Multi-agent orchestration and coordination") + (complexity . "full orchestration") + (completion . "20%") + (paradigms . (Imperative AI-as-Effect Multi-Agent)) + (key-features . ("ai_model {}" "prompt {}" "AI" "belief fusion")) + (key-concepts . ("Dempster-Shafer theory" "Distributed coordination")) + (teaches . "Compile-time evaluation, language governance"))))) + + (academic-targets + ("POPL: Practical affine type systems" + "PLDI: Neurosymbolic language integration" + "AAMAS: Multi-agent programming models" + "CHI: Progressive language design pedagogy" + "S&P: Contract-based AI safety")) + + (tech-stack + ((primary . "Rust (66.9%)") + (secondary . ("Scheme (12%)" "Just (7.7%)" "Shell (6.7%)" "Nix (5.4%)")))))) ;;========================================================================= - ;; PHRONESIS - AI Ethics and Safety Specification + ;; FOUNDATIONAL LANGUAGES ;;========================================================================= - (Phronesis - ((name . "Phronesis") - (tagline . "Formal specification of ethical AI frameworks") - (version . "concept-v0.1") - - (philosophy - "Named after the Aristotelian concept of practical wisdom, Phronesis - provides a formal, auditable language for specifying AI agent ethics. - It enables transparent reasoning about values, constraints, and - decision-making processes.") - - (paradigms - ((primary . Declarative) - (secondary . (Logic-Based Agent-Oriented)))) - - (key-features - ((agent-definition - ((description . "Formal agent specification") - (syntax . "Agent.") - (purpose . "Define an AI agent's identity and capabilities"))) - - (values - ((description . "Explicit value hierarchy declaration") - (syntax . "Values:") - (purpose . "Specify prioritized ethical values and constraints"))) - - (evaluation - ((description . "Decision evaluation framework") - (syntax . "EVALUATE(...)") - (purpose . "Formally evaluate actions against ethical framework"))))) - - (target-domains - ("AI safety research" - "AI alignment verification" - "Regulatory compliance" - "Ethical AI auditing" - "Constitutional AI specification")) - - (influences - ("Prolog (logic programming)" - "Deontic logic (obligations)" - "Constitutional AI (Anthropic)" - "Value Alignment research")))) - - ;;========================================================================= - ;; ECLEXIA - Sustainable Computing Language - ;;========================================================================= - (Eclexia - ((name . "Eclexia") - (tagline . "Sustainable Software Engineering through resource-first constraints") - (version . "concept-v0.1") - - (philosophy - "Eclexia makes resource consumption a first-class concern in software - design. Energy budgets, memory limits, and computational constraints - are expressed declaratively, enabling optimization for sustainability - and cost-effectiveness.") - - (paradigms - ((primary . Declarative) - (secondary . (Constraint-Driven)))) - - (key-features - ((energy-budget - ((description . "Energy consumption constraints") - (syntax . "(energy budget ...)") - (purpose . "Declare maximum energy consumption allowances"))) - - (resource-declaration - ((description . "Resource requirement specification") - (syntax . "(resource ...)") - (purpose . "Specify computational resource constraints"))))) - - (target-domains - ("Green computing" - "IoT and embedded systems" - "Cloud cost optimization (FinOps)" - "Battery-constrained devices" - "Carbon-aware computing")) - - (influences - ("Constraint programming" - "Green Software Foundation principles" - "Resource-bounded computation" - "Energy-proportional computing")))) - - ;;========================================================================= - ;; OBLÍBENÝ - Security-Critical Embedded Language - ;;========================================================================= - (Oblíbený - ((name . "Oblíbený") - (tagline . "Provably secure code for hostile environments") - (version . "concept-v0.1") - - (philosophy - "Oblíbený (Czech for 'favorite' or 'beloved') produces provably secure, - intentionally Turing-incomplete code for deployment in hostile - environments. By restricting expressiveness, it guarantees termination - and eliminates entire classes of vulnerabilities.") - - (paradigms - ((primary . Turing-Incomplete-Deploy) - (secondary . (Metaprogramming)))) - - (key-features - ((forbid-recursion - ((description . "Explicit recursion prohibition") - (syntax . "(forbid recursion)") - (purpose . "Guarantee termination by eliminating unbounded recursion"))) - - (bounded-iteration - ((description . "Bounded loop constructs") - (syntax . "(bounded-for ...)") - (purpose . "Ensure all loops terminate within known bounds"))))) - - (target-domains - ("Hardware Security Modules (HSMs)" - "Secure enclaves (SGX, TrustZone)" - "Smart card programming" - "Critical embedded systems" - "High-assurance cryptographic code")) - - (influences - ("Total functional programming" - "Cryptol (cryptographic DSL)" - "Ivory (embedded safety)" - "Coq/Agda (termination checking)")))) - - ;;========================================================================= - ;; ANVOMIDAV - Formally Verified Real-Time Systems - ;;========================================================================= - (Anvomidav - ((name . "Anvomidav") - (tagline . "Maximalist formal verification for hard real-time systems") - (version . "concept-v0.1") - - (philosophy - "Anvomidav combines linear types, session types, and dependent types - to provide maximum formal guarantees for hard real-time systems. - Every resource is tracked, every protocol is verified, every - deadline is statically guaranteed.") - - (paradigms - ((primary . Functional) - (secondary . (Concurrent Formal-Linear-Session-Types)))) - - (key-features - ((scheduled-tasks - ((description . "Real-time task scheduling") - (syntax . "task @sched(EDF)") - (purpose . "Declare tasks with scheduling guarantees (e.g., Earliest Deadline First)"))) - - (linear-types - ((description . "Linear resource tracking") - (syntax . "Linear") - (purpose . "Ensure resources are used exactly once"))) - - (dependent-types - ((description . "Dependent type specifications") - (syntax . "Π (...) . T") - (purpose . "Express precise specifications in types"))))) - - (target-domains - ("Avionics systems (DO-178C)" - "Autonomous vehicle control" - "Medical device software" - "Robotics control systems" - "Nuclear and industrial control")) - - (influences - ("SPARK/Ada (formal verification)" - "Idris (dependent types)" - "Rust (linear types)" - "Session types research")))) + (foundational-languages + ((betlang + ((name . "betlang") + (tagline . "Ternary Probabilistic Programming Language") + (status . "active") + (completion . "mature") + (tech-stack . "Racket") + (lines-of-code . "6000+") + (functions . "180+") + + (philosophy + "A domain-specific language built on Racket for probabilistic + programming. Its core concept is the 'ternary bet'—a choice + between three values with associated probabilities—enabling + elegant expression of complex probabilistic models.") + + (paradigms . (Probabilistic Functional DSL)) + + (key-features + ("Ternary bets with uniform and weighted probabilities" + "Conditional logic and lazy evaluation" + "Composition operators for combining bets" + "Rich statistics and probability libraries" + "Bayesian inference (MCMC, importance sampling, ABC)" + "Optimization algorithms")) + + (target-domains + ("Quantitative finance" + "Statistical modeling" + "Monte Carlo simulations" + "Game theory" + "Machine learning")) + + (influences + ("Racket (host language)" + "Probabilistic programming research" + "Musical ternary form (A-B-A)")))) + + (julia-the-viper + ((name . "julia-the-viper") + (tagline . "Harvard Architecture Security Language") + (status . "active") + (completion . "v1: 80%, v2: specification complete") + (tech-stack . "Rust (parser), TypeScript/Deno (analysis)") + (named-after . "Julia Robinson (mathematician, 1919-1985)") + + (philosophy + "Named after mathematician Julia Robinson, JtV enforces security + through architectural design rather than runtime validation. + By separating computation into two grammatically distinct channels, + code injection becomes grammatically impossible.") + + (paradigms . (Harvard-Architecture Security-by-Design)) + + (architecture + ((control-language + ((description . "Turing-complete, imperative") + (capabilities . ("loops" "conditionals" "I/O")))) + (data-language + ((description . "Provably halting, addition-only") + (guarantee . "User data can never contain control flow"))))) + + (key-features + ("Grammatical separation of control and data" + "7 number systems (Int, Float, Rational, Complex, Hex, Binary, Symbolic)" + "105+ pure functions across 4 modules" + "VS Code extension support" + "Reversible computing (v2)")) + + (target-domains + ("Security-critical applications" + "Input validation" + "Template systems" + "Safe data processing")) + + (rsr-status . "Gold (93%)"))))) ;;========================================================================= - ;; WOKELANG - Human-Centric Programming + ;; SPECIALIZED LANGUAGES ;;========================================================================= - (WokeLang - ((name . "WokeLang") - (tagline . "Human-centric programming focused on consent and well-being") - (version . "concept-v0.1") - - (philosophy - "WokeLang prioritizes the human experience in programming. It uses - natural language constructs, explicit consent mechanisms, and - supportive error handling to make programming accessible and - psychologically safe.") - - (paradigms - ((primary . Imperative) - (secondary . (Natural-Language)))) - - (key-features - ((consent - ((description . "Explicit consent for operations") - (syntax . "only if okay \"...\"") - (purpose . "Require explicit user consent for sensitive operations"))) - - (graceful-handling - ((description . "Supportive error recovery") - (syntax . "attempt ... or reassure") - (purpose . "Handle failures with user-friendly messaging"))))) - - (target-domains - ("Educational programming" - "Personal scripting" - "Accessibility-focused tools" - "Mental health tech" - "Gentle introduction to coding")) - - (influences - ("Natural language programming" - "Scratch (educational)" - "Human-centered design" - "Cognitive load theory")))))) + (specialized-languages + ((Phronesis + ((name . "Phronesis") + (tagline . "Formal specification of ethical AI frameworks") + (status . "active") + (tech-stack . ("Elixir (92%)" "TLA+ (5.8%)" "Scheme (2.2%)")) + (runtime . "BEAM VM") + + (philosophy + "Named after the Aristotelian concept of practical wisdom, Phronesis + is a neuro-symbolic agentic language designed to formalize ethical + reasoning in autonomous systems. It combines symbolic AI precision + with neural network adaptability.") + + (paradigms . (Declarative Logic-Based Agent-Oriented Neuro-Symbolic)) + + (key-features + ("Agent." "Values:" "EVALUATE(...)" + "Provable safety guarantees" + "Fault tolerance through BEAM")) + + (target-domains + ("AI safety research" + "AI alignment verification" + "Regulatory compliance" + "Autonomous systems")))) + + (Eclexia + ((name . "Eclexia") + (tagline . "Economics-as-Code for Sustainable Computing") + (status . "active") + (tech-stack . "Rust") + (white-paper . "70+ pages, October 2025") + (sync-note . "NEEDS SYNC: GitLab has full implementation") + + (philosophy + "Economics-as-Code: A novel programming paradigm treating computational + resource allocation as an economic optimization problem. Energy budgets, + execution time, memory usage become first-class concerns in both the + type system and runtime semantics.") + + (paradigms . (Declarative Constraint-Driven Economics-as-Code)) + + (key-features + ((resource-types + "Compile-time dimensional analysis for Energy, Time, Memory, Carbon") + (adaptive-execution + "Multiple algorithmic approaches with automatic runtime selection") + (shadow-prices + "Computed marginal values guiding optimization decisions") + (carbon-scheduling + "Defers computation to periods of lower environmental impact"))) + + (syntax-example + "adaptive def matrix_multiply(A: Matrix, B: Matrix) -> Matrix + @requires: energy < 100J, latency < 500ms + @optimize: minimize energy, minimize carbon + { ... }") + + (measured-benefits + ("20-40% energy reduction" + "25-35% battery life extension" + "40-60% carbon reduction" + "50-70% less manual optimization time")) + + (target-domains + ("Green computing" + "IoT/embedded systems" + "Cloud FinOps" + "Carbon-aware computing")))) + + (Oblíbený + ((name . "Oblíbený") + (tagline . "Provably secure code for hostile environments") + (status . "active") + (tech-stack . "Rust (83%)") + (meaning . "Czech for 'beloved' or 'favorite'") + + (philosophy + "Produces provably secure, intentionally Turing-incomplete code for + deployment in hostile environments. By restricting expressiveness, + it guarantees termination and eliminates entire vulnerability classes.") + + (paradigms . (Turing-Incomplete-Deploy Metaprogramming Oblivious-Computing)) + + (key-features + ("(forbid recursion)" "(bounded-for ...)" + "Provable termination" + "Resource-bounded execution" + "Oblivious computing (hides access patterns)")) + + (components + ("obli-transpiler-framework" + "obli-riscv-dev-kit" + "obli-fs")) + + (target-domains + ("Hardware Security Modules (HSMs)" + "Secure enclaves (SGX, TrustZone)" + "Smart cards" + "Critical embedded systems")))) + + (Anvomidav + ((name . "Anvomidav") + (tagline . "Maximalist formal verification for hard real-time systems") + (status . "early") + (sync-note . "ISSUE: Mislabeled as 'betlang' on GitLab") + + (philosophy + "Combines linear types, session types, and dependent types to provide + maximum formal guarantees for hard real-time systems. Every resource + is tracked, every protocol is verified, every deadline is statically + guaranteed.") + + (paradigms . (Functional Concurrent Formal-Verification)) + + (key-features + ("task @sched(EDF)" "Linear" "Π (...) . T" + "Session types for protocol verification" + "Deadline guarantees")) + + (target-domains + ("Avionics (DO-178C)" + "Autonomous vehicles" + "Medical devices" + "Robotics control" + "Industrial control")))) + + (WokeLang + ((name . "WokeLang") + (tagline . "Human-centric programming for consent and well-being") + (status . "early") + (tech-stack . "Rust (97%)") + (slogan . "Putting the 'spoke' in Woke - A First Class Language for Humans") + + (philosophy + "Prioritizes the human experience in programming. Uses natural language + constructs, explicit consent mechanisms, and supportive error handling + to make programming accessible and psychologically safe.") + + (paradigms . (Imperative Natural-Language Human-Centric)) + + (key-features + ("only if okay \"...\"" + "attempt ... or reassure" + "Consent-based operations" + "Supportive error messages")) + + (target-domains + ("Educational programming" + "Personal scripting" + "Accessibility tools" + "Mental health tech")))))))) ;;;============================================================================ ;;; DESIGN PHILOSOPHY -;;; Overarching principles guiding all language designs ;;;============================================================================ (define design-philosophy @@ -475,37 +469,44 @@ "Where applicable, languages are built on formal foundations enabling verification, proof, and static analysis.") - (human-readable - "Syntax is designed for human comprehension first, balancing - expressiveness with clarity."))) + (progressive-complexity + "The My-Language family demonstrates that complex concepts can + be taught progressively, building on familiar foundations.") + + (security-by-design + "julia-the-viper and Oblíbený show that security can be + enforced grammatically, not just validated at runtime."))) (paradigm-coverage - ((imperative . (Solo Duet Ensemble WokeLang)) - (declarative . (Phronesis Eclexia)) - (functional . (Anvomidav)) - (contract-based . (Solo Duet)) + ((probabilistic . (betlang)) + (security-architecture . (julia-the-viper Oblíbený)) + (progressive-education . (Me Solo Duet Ensemble)) (ai-integrated . (Duet Ensemble Phronesis)) - (formally-verified . (Duet Oblíbený Anvomidav)) - (resource-aware . (Eclexia Oblíbený)) - (human-centric . (WokeLang)))) + (formally-verified . (Duet Oblíbený Anvomidav julia-the-viper)) + (sustainable . (Eclexia)) + (human-centric . (WokeLang Me)))) (spectrum-coverage - "The eight languages span a complete spectrum: + "The languages span complete spectrums: Abstraction Level: - Low -----> High - Solo WokeLang + Low ────────────────────────────> High + Solo, julia-the-viper WokeLang, Me Verification Rigor: - Minimal --> Maximal - WokeLang Anvomidav + Minimal ────────────────────────> Maximal + WokeLang Anvomidav, julia-the-viper AI Integration: - None -----> Native - Oblíbený Ensemble + None ──────────────────────────> Native + Oblíbený, julia-the-viper Ensemble, Phronesis Target Audience: - Expert ---> Beginner - Anvomidav WokeLang"))) + Expert ────────────────────────> Beginner + Anvomidav Me, WokeLang + + Age Progression (My-Language): + 8-12 ──────────────────────────> 16+ + Me Ensemble"))) ;;; End of LANGUAGES.scm diff --git a/README.adoc b/README.adoc index 1a9ab10..85fc5dc 100644 --- a/README.adoc +++ b/README.adoc @@ -4,140 +4,198 @@ == Overview -This repository serves as the central hub for the Next-Gen Languages initiative—a coordinated effort to design and develop eight programming languages that collectively cover the full spectrum of modern software challenges, from AI-native development to formally verified real-time systems. +This repository is the central hub for the **Next-Gen Languages** initiative within the link:https://gitlab.com/maa-framework[Mutually Assured Accountability Framework (MAAF)]. It coordinates the design and development of 10 programming languages organized into three families, collectively covering the full spectrum of modern software challenges. -== Language Comparison +[NOTE] +==== +**Source of Truth:** GitLab (`gitlab.com/maa-framework/4a-languages`) + +**Mirror:** GitHub (`github.com/hyperpolymath`) +==== -[cols="1,2,2,2,2"] +== Language Families + +=== My-Language Family (Progressive Complexity) + +A unified language family with four dialects of increasing complexity, designed for progressive learning from ages 8-18. + +[cols="1,1,2,2,1"] |=== -| Language | Core Philosophy | Primary Paradigms | Key Features | Target Domain +| Dialect | Age | Philosophy | Key Features | Status + +| *Me* +| 8-12 +| Educational, visual/Blockly-like +| Belief states, epistemic types +| 100% | *Solo* -| Dependable foundation for systems programming -| Imperative, Concurrent, Contract-Based -| `effect`, `go`, `where { pre: ..., post: ... }` -| General Systems Programming +| 13-14 +| Systems programming with affine types +| `effect`, `go`, `where { pre:, post: }` +| 40% | *Duet* -| AI-assisted development (Neuro-Symbolic) for verifiable software -| Imperative, Contract-Based, Neuro-Symbolic +| 15 +| AI-assisted neuro-symbolic development | `@synth`, `@verify`, `intent("...")` -| High-Assurance, AI-Assisted Systems +| 30% | *Ensemble* -| AI as a first-class, native component of the language -| Imperative, AI-as-Effect -| `ai_model {}`, `prompt {}`, `AI` effect type -| AI-Native Applications, AI Agents +| 16+ +| Multi-agent orchestration +| `ai_model {}`, `prompt {}`, `AI`, belief fusion +| 20% + +|=== + +*Repos:* link:https://github.com/hyperpolymath/my-lang[my-lang], link:https://github.com/hyperpolymath/me-dialect-playground[me-dialect-playground] + +*Applications:* link:https://github.com/hyperpolymath/7-tentacles[7-tentacles] (curriculum), link:https://github.com/hyperpolymath/my-newsroom[my-newsroom], link:https://github.com/hyperpolymath/my-ssg[my-ssg] + +=== Foundational Languages + +[cols="1,2,2,2,1"] +|=== +| Language | Philosophy | Key Features | Target Domain | Status + +| *betlang* +| Ternary probabilistic programming +| Ternary bets, Bayesian inference, MCMC +| Finance, Statistics, Game Theory +| Active (6000+ LOC) + +| *julia-the-viper* +| Harvard Architecture security (code injection impossible) +| Control/Data separation, 7 number systems +| Security-critical, Input validation +| v1: 80% + +|=== + +*Repos:* link:https://github.com/hyperpolymath/betlang[betlang] (Racket), link:https://github.com/hyperpolymath/julia-the-viper[julia-the-viper] (Rust) + +=== Specialized Languages + +[cols="1,2,2,2,1"] +|=== +| Language | Philosophy | Key Features | Target Domain | Status | *Phronesis* -| Formal, auditable specification of an agent's ethical framework -| Declarative, Logic-Based, Agent-Oriented +| Formal AI ethics specification | `Agent.`, `Values:`, `EVALUATE(...)` -| AI Safety, Alignment, and Auditing +| AI Safety, Alignment +| Active | *Eclexia* -| Sustainable Software Engineering through resource-first constraints -| Declarative, Constraint-Driven -| `(energy budget ...)`, `(resource ...)` -| Green Computing, IoT/Embedded, FinOps +| Economics-as-Code for sustainability +| `adaptive def`, `@requires: energy`, carbon scheduling +| Green Computing, FinOps +| Active (70-page white paper) | *Oblíbený* -| Provably secure, obfuscated code for hostile environments -| Turing-Incomplete (Deploy), Metaprogramming -| `(forbid recursion)`, `(bounded-for ...)` -| Secure Enclaves (HSMs), Critical Embedded +| Provably secure, Turing-incomplete deploy +| `(forbid recursion)`, oblivious computing +| HSMs, Secure Enclaves +| Active | *Anvomidav* -| Maximalist formal verification for hard real-time systems -| Functional, Concurrent, Formal (Linear/Session Types) -| `task @sched(EDF)`, `Linear`, `Π (...) . T` -| Avionics, Autonomous Vehicles, Robotics +| Maximalist formal verification +| `task @sched(EDF)`, `Linear`, `Π(...).T` +| Avionics, Autonomous Vehicles +| Early | *WokeLang* -| Human-centric programming focused on consent and well-being -| Imperative, Natural-Language +| Human-centric, consent-based | `only if okay "..."`, `attempt ... or reassure` -| Education, Personal Scripting, Accessibility +| Education, Accessibility +| Early |=== -== Satellite Repositories +== Repository Status -Each language has its own dedicated repository for implementation: - -[cols="1,1,2,1"] +[cols="1,2,2,1,1"] |=== -| Language | Repository | Description | Status +| Language | GitHub | GitLab | Sync Status | Action | betlang -| link:https://github.com/hyperpolymath/betlang[betlang] -| Bet programming language (foundational experiment) -| Active - -| Solo -| _TBD_ -| Systems programming foundation -| Concept - -| Duet -| _TBD_ -| AI-assisted neuro-symbolic development -| Concept - -| Ensemble -| _TBD_ -| AI-native programming -| Concept - -| Phronesis -| _TBD_ -| AI ethics and safety specification -| Concept - -| Eclexia -| _TBD_ -| Sustainable computing language -| Concept - -| Oblíbený -| _TBD_ -| Security-critical embedded language -| Concept - -| Anvomidav -| _TBD_ -| Formally verified real-time systems -| Concept - -| WokeLang -| _TBD_ -| Human-centric programming -| Concept +| link:https://github.com/hyperpolymath/betlang[hyperpolymath/betlang] +| link:https://gitlab.com/maa-framework/4a-languages/betlang[4a-languages/betlang] +| GitHub ahead +| — + +| julia-the-viper +| link:https://github.com/hyperpolymath/julia-the-viper[hyperpolymath/julia-the-viper] +| link:https://gitlab.com/maa-framework/4a-languages/julia-the-viper[4a-languages/julia-the-viper] +| GitHub ahead +| — + +| my-lang +| link:https://github.com/hyperpolymath/my-lang[hyperpolymath/my-lang] +| link:https://gitlab.com/maa-framework/4a-languages/my-lang[4a-languages/my-lang] +| Check needed +| Consolidate with me-dialect-playground + +| phronesis +| link:https://github.com/hyperpolymath/phronesis[hyperpolymath/phronesis] +| link:https://gitlab.com/maa-framework/4a-languages/phronesis[4a-languages/phronesis] +| Check needed +| — + +| eclexia +| link:https://github.com/hyperpolymath/eclexia[hyperpolymath/eclexia] +| link:https://gitlab.com/maa-framework/4a-languages/eclexia[4a-languages/eclexia] +| *GitLab ahead* +| *Sync white paper + compiler* + +| oblibeny +| link:https://github.com/hyperpolymath/oblibeny[hyperpolymath/oblibeny] +| link:https://gitlab.com/maa-framework/4a-languages/oblibeny[4a-languages/oblibeny] +| Roughly synced +| — + +| anvomidav +| link:https://github.com/hyperpolymath/anvomidav[hyperpolymath/anvomidav] +| _(mislabeled as betlang)_ +| *Naming mismatch* +| *Rename on GitLab* + +| wokelang +| link:https://github.com/hyperpolymath/wokelang[hyperpolymath/wokelang] +| link:https://gitlab.com/maa-framework/4a-languages/wokelang[4a-languages/wokelang] +| Check needed +| — |=== == Design Spectrum -The eight languages span a complete spectrum of concerns: - ---- -Abstraction Level: Low ←————————————————→ High - Solo WokeLang +Abstraction Level: Low ←————————————————————————→ High + Solo, julia-the-viper WokeLang, Me -Verification Rigor: Minimal ←——————————→ Maximal - WokeLang Anvomidav +Verification Rigor: Minimal ←————————————————————→ Maximal + WokeLang Anvomidav, julia-the-viper -AI Integration: None ←——————————————→ Native - Oblíbený Ensemble +AI Integration: None ←——————————————————————→ Native + Oblíbený, julia-the-viper Ensemble, Phronesis -Target Audience: Expert ←————————————→ Beginner - Anvomidav WokeLang +Age Progression: 8-12 ←——————————————————————→ 16+ +(My-Language) Me Ensemble ---- +== MAAF Context + +These languages are part of the **Mutually Assured Accountability Framework (MAAF)**, specifically the `4a-languages` group focused on programming language research and development. + +Related MAAF components: + +* *Tri-Perimeter Contribution Framework (TPCF)* — Access control and governance +* *Rhodium Standard Repositories (RSR)* — Repository quality standards +* *STATE.scm / META.scm / ECOSYSTEM.scm* — Machine-readable project metadata + == Documentation -* `LANGUAGES.scm` — Detailed language specifications and comparison +* `LANGUAGES.scm` — Complete language specifications, families, and repository map * `META.scm` — Architecture decisions and development practices * `STATE.scm` — Project checkpoint and session history * `ECOSYSTEM.scm` — Project ecosystem relationships @@ -148,10 +206,6 @@ Target Audience: Expert ←————————————→ Beginne git clone --recursive https://github.com/hyperpolymath/nextgen-languages.git ``` -== Contributing - -Each language welcomes contributions. See individual satellite repositories for language-specific contribution guidelines. - == License MIT OR AGPL-3.0-or-later From a7a778956270311418e00a804c74d7e0289ff441 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 16 Dec 2025 04:12:02 +0000 Subject: [PATCH 3/5] feat: add GitLab/GitHub repo reconciliation script Python tool to audit sync status across 400+ repos: - Fetches all repos from GitLab (user + groups) - Fetches all repos from GitHub - Categorizes: gitlab-only, github-only, synced, diverged - Outputs summary report and JSON for detailed analysis Usage: Set GITLAB_TOKEN and GITHUB_TOKEN, then run script. --- scripts/repo-reconcile.py | 251 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 251 insertions(+) create mode 100755 scripts/repo-reconcile.py diff --git a/scripts/repo-reconcile.py b/scripts/repo-reconcile.py new file mode 100755 index 0000000..8a43bdb --- /dev/null +++ b/scripts/repo-reconcile.py @@ -0,0 +1,251 @@ +#!/usr/bin/env python3 +""" +Repo Reconciliation Tool +Compares GitLab and GitHub repositories to identify sync gaps. + +Usage: + export GITLAB_TOKEN="your-token" + export GITHUB_TOKEN="your-token" + python repo-reconcile.py + +Outputs a reconciliation report showing: + - Repos only on GitLab (need to mirror to GitHub) + - Repos only on GitHub (new creations or need to mirror to GitLab) + - Repos on both (check if synced or diverged) +""" + +import os +import json +import requests +from datetime import datetime +from dataclasses import dataclass +from typing import Optional + +# Configuration +GITLAB_USER = "hyperpolymath" +GITLAB_GROUPS = ["maa-framework"] # Add more groups as needed +GITHUB_USER = "hyperpolymath" + +@dataclass +class Repo: + name: str + platform: str + url: str + last_activity: Optional[str] + commit_count: Optional[int] = None + description: Optional[str] = None + +def get_gitlab_repos(token: str) -> list[Repo]: + """Fetch all repos from GitLab user and groups.""" + repos = [] + headers = {"PRIVATE-TOKEN": token} + + # User repos + page = 1 + while True: + url = f"https://gitlab.com/api/v4/users/{GITLAB_USER}/projects?per_page=100&page={page}" + resp = requests.get(url, headers=headers) + if resp.status_code != 200: + print(f"GitLab API error: {resp.status_code}") + break + data = resp.json() + if not data: + break + for r in data: + repos.append(Repo( + name=r["path"], + platform="gitlab", + url=r["web_url"], + last_activity=r.get("last_activity_at"), + description=r.get("description") + )) + page += 1 + + # Group repos + for group in GITLAB_GROUPS: + page = 1 + while True: + url = f"https://gitlab.com/api/v4/groups/{group}/projects?per_page=100&page={page}&include_subgroups=true" + resp = requests.get(url, headers=headers) + if resp.status_code != 200: + break + data = resp.json() + if not data: + break + for r in data: + repos.append(Repo( + name=r["path"], + platform="gitlab", + url=r["web_url"], + last_activity=r.get("last_activity_at"), + description=r.get("description") + )) + page += 1 + + return repos + +def get_github_repos(token: str) -> list[Repo]: + """Fetch all repos from GitHub user.""" + repos = [] + headers = {"Authorization": f"token {token}"} + + page = 1 + while True: + url = f"https://api.github.com/users/{GITHUB_USER}/repos?per_page=100&page={page}" + resp = requests.get(url, headers=headers) + if resp.status_code != 200: + print(f"GitHub API error: {resp.status_code}") + break + data = resp.json() + if not data: + break + for r in data: + repos.append(Repo( + name=r["name"], + platform="github", + url=r["html_url"], + last_activity=r.get("pushed_at"), + description=r.get("description") + )) + page += 1 + + return repos + +def reconcile(gitlab_repos: list[Repo], github_repos: list[Repo]) -> dict: + """Compare repos and categorize sync status.""" + gitlab_names = {r.name: r for r in gitlab_repos} + github_names = {r.name: r for r in github_repos} + + all_names = set(gitlab_names.keys()) | set(github_names.keys()) + + result = { + "gitlab_only": [], + "github_only": [], + "both_synced": [], + "both_diverged": [], + "unknown": [] + } + + for name in sorted(all_names): + gl = gitlab_names.get(name) + gh = github_names.get(name) + + if gl and not gh: + result["gitlab_only"].append({ + "name": name, + "gitlab_url": gl.url, + "last_activity": gl.last_activity, + "action": "Mirror to GitHub" + }) + elif gh and not gl: + result["github_only"].append({ + "name": name, + "github_url": gh.url, + "last_activity": gh.last_activity, + "action": "New on GitHub (mirror to GitLab?)" + }) + else: + # Both exist - check if diverged + gl_time = gl.last_activity or "" + gh_time = gh.last_activity or "" + + # Simple heuristic: if times differ by > 1 day, flag as potentially diverged + try: + gl_dt = datetime.fromisoformat(gl_time.replace("Z", "+00:00")) + gh_dt = datetime.fromisoformat(gh_time.replace("Z", "+00:00")) + diff = abs((gl_dt - gh_dt).days) + + if diff > 1: + ahead = "GitLab" if gl_dt > gh_dt else "GitHub" + result["both_diverged"].append({ + "name": name, + "gitlab_url": gl.url, + "github_url": gh.url, + "gitlab_activity": gl_time, + "github_activity": gh_time, + "ahead": ahead, + "days_apart": diff, + "action": f"Check sync - {ahead} is {diff} days ahead" + }) + else: + result["both_synced"].append({ + "name": name, + "status": "Likely synced" + }) + except: + result["unknown"].append({ + "name": name, + "gitlab_url": gl.url if gl else None, + "github_url": gh.url if gh else None, + "action": "Could not compare dates" + }) + + return result + +def print_report(result: dict): + """Print human-readable reconciliation report.""" + print("\n" + "="*70) + print("REPOSITORY RECONCILIATION REPORT") + print("="*70) + + print(f"\n## GITLAB ONLY ({len(result['gitlab_only'])} repos)") + print("These repos exist on GitLab but NOT on GitHub:") + for r in result["gitlab_only"][:20]: # Show first 20 + print(f" - {r['name']}: {r['gitlab_url']}") + if len(result["gitlab_only"]) > 20: + print(f" ... and {len(result['gitlab_only']) - 20} more") + + print(f"\n## GITHUB ONLY ({len(result['github_only'])} repos)") + print("These repos exist on GitHub but NOT on GitLab:") + for r in result["github_only"][:20]: + print(f" - {r['name']}: {r['github_url']}") + if len(result["github_only"]) > 20: + print(f" ... and {len(result['github_only']) - 20} more") + + print(f"\n## POTENTIALLY DIVERGED ({len(result['both_diverged'])} repos)") + print("These repos exist on both but may be out of sync:") + for r in result["both_diverged"]: + print(f" - {r['name']}: {r['ahead']} ahead by {r['days_apart']} days") + + print(f"\n## LIKELY SYNCED ({len(result['both_synced'])} repos)") + + print("\n" + "="*70) + print("SUMMARY") + print("="*70) + print(f" GitLab only: {len(result['gitlab_only']):4d} (need to mirror to GitHub)") + print(f" GitHub only: {len(result['github_only']):4d} (new on GitHub)") + print(f" Diverged: {len(result['both_diverged']):4d} (need sync check)") + print(f" Synced: {len(result['both_synced']):4d} (OK)") + print(f" Unknown: {len(result['unknown']):4d}") + +def main(): + gitlab_token = os.environ.get("GITLAB_TOKEN") + github_token = os.environ.get("GITHUB_TOKEN") + + if not gitlab_token or not github_token: + print("Please set GITLAB_TOKEN and GITHUB_TOKEN environment variables") + print("\nTo get tokens:") + print(" GitLab: Settings > Access Tokens > Create with 'read_api' scope") + print(" GitHub: Settings > Developer settings > Personal access tokens") + return + + print("Fetching GitLab repos...") + gitlab_repos = get_gitlab_repos(gitlab_token) + print(f" Found {len(gitlab_repos)} GitLab repos") + + print("Fetching GitHub repos...") + github_repos = get_github_repos(github_token) + print(f" Found {len(github_repos)} GitHub repos") + + print("Reconciling...") + result = reconcile(gitlab_repos, github_repos) + + print_report(result) + + # Save full report as JSON + with open("reconciliation-report.json", "w") as f: + json.dump(result, f, indent=2, default=str) + print("\nFull report saved to reconciliation-report.json") + +if __name__ == "__main__": + main() From ac66d1c84d1902363ab058291726c493604769a4 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 16 Dec 2025 04:15:15 +0000 Subject: [PATCH 4/5] feat: add quick-check mode to repo reconciliation script --- scripts/repo-reconcile.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/scripts/repo-reconcile.py b/scripts/repo-reconcile.py index 8a43bdb..ea43a78 100755 --- a/scripts/repo-reconcile.py +++ b/scripts/repo-reconcile.py @@ -249,3 +249,32 @@ def main(): if __name__ == "__main__": main() + + +# Quick check mode - just test a list of repos +def quick_check_github(repos: list[str]) -> dict: + """Check if repos exist on GitHub without auth.""" + import urllib.request + results = {"exists": [], "missing": []} + for repo in repos: + url = f"https://github.com/hyperpolymath/{repo}" + try: + req = urllib.request.Request(url, method='HEAD') + urllib.request.urlopen(req, timeout=5) + results["exists"].append(repo) + except: + results["missing"].append(repo) + return results + +if __name__ == "__main__" and len(__import__('sys').argv) > 1: + # Quick mode: python repo-reconcile.py check repo1 repo2 repo3 + if __import__('sys').argv[1] == "check": + repos = __import__('sys').argv[2:] + print(f"Checking {len(repos)} repos against GitHub...") + results = quick_check_github(repos) + print(f"\n✓ EXISTS on GitHub ({len(results['exists'])}):") + for r in results['exists']: + print(f" {r}") + print(f"\n✗ MISSING on GitHub ({len(results['missing'])}):") + for r in results['missing']: + print(f" {r}") From f5fac0056df777cad42926f90a95d6c34cabedb8 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 16 Dec 2025 04:24:11 +0000 Subject: [PATCH 5/5] docs: add migration strategy and Claude session instructions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - MIGRATION-STRATEGY.md: 4-phase plan for GitLab→GitHub consolidation - MIGRATION-STATUS.md: Track sync progress for each repo - CLAUDE-INSTRUCTIONS.md: Prevent future parallel implementation issues GitHub is now designated as single source of truth with hub-and-spoke mirroring to GitLab, Codeberg, and Bitbucket. --- CLAUDE-INSTRUCTIONS.md | 66 +++++++++++++++++++++++++++++++++ MIGRATION-STATUS.md | 41 +++++++++++++++++++++ MIGRATION-STRATEGY.md | 83 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 190 insertions(+) create mode 100644 CLAUDE-INSTRUCTIONS.md create mode 100644 MIGRATION-STATUS.md create mode 100644 MIGRATION-STRATEGY.md diff --git a/CLAUDE-INSTRUCTIONS.md b/CLAUDE-INSTRUCTIONS.md new file mode 100644 index 0000000..f8a785c --- /dev/null +++ b/CLAUDE-INSTRUCTIONS.md @@ -0,0 +1,66 @@ +# Instructions for Claude Sessions + +## STOP - Read Before Working + +This repository is the **hub** for 8 programming languages in the MAAF ecosystem. Before making any changes to satellite repos, you MUST understand the current state. + +## Critical Rules + +### 1. GitHub is Source of Truth +All work should be on GitHub. GitLab/Codeberg/Bitbucket are mirrors. + +### 2. Check Migration Status First +Before working on any language repo, check `MIGRATION-STATUS.md`: +- If status is "NOT SYNCED" → sync from GitLab first +- If status is "DIVERGED" → consult user before making changes +- If status is "SYNCED" → safe to work on GitHub version + +### 3. Never Create Parallel Implementations +**WRONG:** "I'll implement this feature from scratch on GitHub" +**RIGHT:** "Let me check if this exists on GitLab first, then build on that" + +### 4. Preserve Original Work +The GitLab repos contain months of human effort from Aug-Oct 2025. This includes: +- Design documents +- White papers +- Original implementations +- Research notes + +Do not overwrite this with new implementations. + +## The Language Ecosystem + +``` +nextgen-languages (this repo - hub) +├── My-Language Family (progressive complexity, ages 8-18) +│ ├── me (base) +│ ├── solo (age 8-10) +│ ├── duet (age 11-14) +│ └── ensemble (age 15-18, dialect of my-lang) +├── Foundational +│ ├── betlang (Racket, probabilistic programming) +│ └── julia-the-viper (Rust, Harvard Architecture) +└── Specialized + ├── phronesis (practical wisdom, Elixir) + ├── eclexia (creative synthesis, Rust) + ├── oblibeny (favorite things modeling) + ├── anvomidav (real-time systems) + └── wokelang (social awareness) +``` + +## Related Repos (not languages) +- `7-tentacles` - orchestration +- `me-dialect-playground` - experimentation +- `my-newsroom` - content pipeline +- `my-ssg` - static site generator + +## Before Starting Work + +1. Read `MIGRATION-STRATEGY.md` for the overall plan +2. Check `MIGRATION-STATUS.md` for current state +3. If repo is not synced, sync it first +4. Update status file after completing work +5. Commit to the correct branch + +## Questions? +If unclear about anything, ask the user rather than guessing. diff --git a/MIGRATION-STATUS.md b/MIGRATION-STATUS.md new file mode 100644 index 0000000..1ec5766 --- /dev/null +++ b/MIGRATION-STATUS.md @@ -0,0 +1,41 @@ +# Migration Status Tracker + +Last updated: 2025-12-16 + +## Phase 1: Language Repos + +| Repo | Status | Notes | +|------|--------|-------| +| eclexia | NOT SYNCED | Priority 1 - has 70-page white paper on GitLab | +| phronesis | DIVERGED | GitLab: original, GitHub: Claude Elixir impl | +| wokelang | DIVERGED | GitLab: original, GitHub: Claude Rust impl | +| oblibeny | DIVERGED | Needs manual merge | +| anvomidav | NAMING ISSUE | GitLab calls it "betlang" incorrectly | +| betlang | TO VERIFY | Check if synced | +| julia-the-viper | TO VERIFY | Check if synced | +| solo | TO VERIFY | Part of my-lang family | +| duet | TO VERIFY | Part of my-lang family | +| ensemble | TO VERIFY | Part of my-lang family | + +## Completed Syncs + +| Repo | Date | By | Notes | +|------|------|----|-------| +| (none yet) | | | | + +## Repos Needing Manual Review + +| Repo | Reason | Decision | +|------|--------|----------| +| phronesis | Both have implementations | TBD | +| wokelang | Both have implementations | TBD | +| oblibeny | Significant divergence | TBD | + +--- + +## Update Instructions + +When you complete a sync: +1. Move repo from "Phase 1" to "Completed Syncs" +2. Add date and notes +3. Commit this file with message: `docs: update migration status - synced {repo}` diff --git a/MIGRATION-STRATEGY.md b/MIGRATION-STRATEGY.md new file mode 100644 index 0000000..f7af5b4 --- /dev/null +++ b/MIGRATION-STRATEGY.md @@ -0,0 +1,83 @@ +# GitLab → GitHub Migration Strategy + +## Goal +**GitHub is the single source of truth.** All development happens on GitHub, then mirrors out to: +- GitLab (gitlab.com/maa-framework) +- Codeberg +- Bitbucket + +## Current Problem +- Original work (Aug-Oct 2025) lives on GitLab +- GitHub repos created Dec 2025, some with parallel Claude implementations +- Result: diverged repos, missing content, confusion + +## The Fix (4 Phases) + +### Phase 1: Language Repos (This Week) +Priority repos - the 8 languages in this ecosystem: + +| Repo | GitLab Status | GitHub Status | Action | +|------|---------------|---------------|--------| +| eclexia | 13 commits, 70-page white paper, Rust compiler | 1 commit (template) | **SYNC FROM GITLAB** | +| phronesis | 11+ commits, original design | Claude Elixir impl | Evaluate both, merge best | +| wokelang | 20+ commits, original design | Claude Rust impl | Evaluate both, merge best | +| oblibeny | 40+ commits | 30 commits, diverged | Manual merge | +| anvomidav | Mislabeled as "betlang" | Correct name | Sync + rename on GitLab | +| betlang | Correct | Correct | Verify sync | +| julia-the-viper | Original | Check status | Sync if needed | +| my-lang (solo/duet/ensemble) | Original | Check status | Sync if needed | + +### Phase 2: Full Audit +Run reconciliation script to categorize all 400+ repos: +```bash +export GITLAB_TOKEN="glpat-..." +export GITHUB_TOKEN="ghp_..." +python scripts/repo-reconcile.py > audit-results.json +``` + +Categories: +- **gitlab-only**: Create on GitHub, sync content +- **github-only**: Keep (new work) or archive (abandoned) +- **synced**: Set up mirror +- **diverged**: Manual review needed + +### Phase 3: Consolidate +For each diverged repo: +1. Compare commits on both sides +2. If GitLab has original work + GitHub has useful additions → merge +3. If GitHub work is just parallel implementation → replace with GitLab +4. If GitHub work is better → keep GitHub, archive GitLab + +### Phase 4: Mirror Setup +Once GitHub is authoritative: +``` +GitHub (source) + ├── → GitLab (push mirror) + ├── → Codeberg (push mirror) + └── → Bitbucket (push mirror) +``` + +GitHub Settings → Branches → Add mirror for each target. + +--- + +## Instructions for Claude Sessions + +**READ THIS BEFORE WORKING ON ANY REPO IN THIS ECOSYSTEM** + +1. **GitHub is source of truth** - always pull from GitHub first +2. **Check this document** for repo status before making changes +3. **Never create parallel implementations** - if GitLab has content, sync it first +4. **Update MIGRATION-STATUS.md** after completing any sync operation +5. **Preserve original work** - GitLab content represents months of human effort + +## Immediate Priority +**Sync eclexia first** - it has a 70-page white paper and Rust compiler that only exists on GitLab. + +```bash +# Preserve GitLab work to GitHub +git clone git@gitlab.com:maa-framework/4a-languages/eclexia.git +cd eclexia +git remote add github git@github.com:hyperpolymath/eclexia.git +git push github main --force +```