Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ Both are FOSS with independent governance (no Big Tech).
### Package Management

- **Primary**: Guix (guix.scm)
- **Fallback**: Nix (flake.nix)
- **Fallback**: Guix (flake.guix)
- **JS deps**: Deno (deno.json imports)

### Security Requirements
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/rescript-deno-ci.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: MPL-2.0
name: ReScript/Deno CI
name: AffineScript/Deno CI
on:
push:
branches: [main, master]
Expand Down Expand Up @@ -32,11 +32,11 @@ jobs:
- name: Deno test
run: deno test --allow-all --coverage=coverage

- name: ReScript build
- name: AffineScript build
run: |
if [ -f "rescript.json" ] || [ -f "bsconfig.json" ]; then
if [ -f "affinescript.json" ] || [ -f "bsconfig.json" ]; then
npm install
npx rescript
npx affinescript
fi

- name: Type check
Expand Down
2 changes: 1 addition & 1 deletion .machine_readable/root-allow.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
flake.nix
flake.guix
4 changes: 2 additions & 2 deletions ABI-FFI-README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ This library follows the **Hyperpolymath RSR Standard** for ABI and FFI design:
┌─────────────────────────────────────────────┐
│ Any Language via C ABI │
│ - Rust, ReScript, Julia, Python, etc. │
│ - Rust, AffineScript, Julia, Python, etc. │
└─────────────────────────────────────────────┘
```

Expand Down Expand Up @@ -75,7 +75,7 @@ This library follows the **Hyperpolymath RSR Standard** for ABI and FFI design:
└── bindings/ # Language-specific wrappers (optional)
├── rust/
├── rescript/
├── affinescript/
└── julia/
```

Expand Down
2 changes: 1 addition & 1 deletion CHANGELOG.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ and this project adheres to link:https://semver.org/spec/v2.0.0.html[Semantic Ve
=== Changed

* Migrated from Rails/Ruby to Gleam/AffineScript (typed-wasm) architecture.
* Replaced ReScript frontend with AffineScript.
* Replaced AffineScript frontend with AffineScript.

=== Removed

Expand Down
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
git clone https://github.com/hyperpolymath/candy-crash.git
cd candy-crash

# Using Nix (recommended for reproducibility)
nix develop
# Using Guix (recommended for reproducibility)
guix develop

# Or using toolbox/distrobox
toolbox create candy-crash-dev
Expand Down Expand Up @@ -41,7 +41,7 @@ candy-crash/
├── MAINTAINERS.md
├── README.adoc
├── SECURITY.md
├── flake.nix # Nix flake (Perimeter 1)
├── flake.guix # Guix flake (Perimeter 1)
└── Justfile # Task runner (Perimeter 1)
```

Expand Down
8 changes: 4 additions & 4 deletions EXPLAINME.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -50,17 +50,17 @@ The theoretical framework is documented but not yet translated into running
code. References cite peer-reviewed literature (Endsley 1995, Sweller 1988,
Mark et al. 2008) rather than unpublished assertions.

== "Rust core + ReScript UI + SPARK/Ada verification"
== "Rust core + AffineScript UI + SPARK/Ada verification"

[quote, README.adoc]
____
Core Runtime: Rust. User Interfaces: ReScript. Formal Verification: SPARK/Ada.
Core Runtime: Rust. User Interfaces: AffineScript. Formal Verification: SPARK/Ada.
____

How this is implemented::
The technology direction is declared in the README's "Technology Direction"
section with explicit rationale: Rust for real-time sensor/actuator loops,
ReScript for type-safe UI, SPARK/Ada for aviation-adjacent safety requirements.
AffineScript for type-safe UI, SPARK/Ada for aviation-adjacent safety requirements.
The link:ROADMAP.adoc[`ROADMAP.adoc`] maps these to implementation phases.
`Cargo.toml` confirms Rust as the build system.

Expand Down Expand Up @@ -89,7 +89,7 @@ represents the wrong paradigm and is scheduled for removal.
| Contribution governance model
| link:https://github.com/hyperpolymath/boj-server[boj-server]

| ReScript for UI
| AffineScript for UI
| Planned for configuration and monitoring
| link:https://github.com/hyperpolymath/gossamer[gossamer],
link:https://github.com/hyperpolymath/panll[panll]
Expand Down
6 changes: 3 additions & 3 deletions PLAN.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ The existing code cannot be "refactored" into the correct paradigm. The fundamen

* RSR compliance documentation and structure
* CI/CD infrastructure (GitHub Actions workflows)
* Container configuration (Containerfile, Nix flake)
* Container configuration (Containerfile, Guix flake)
* Governance and contribution framework
* Security infrastructure (.well-known, security headers)
* Git hooks and automation (Justfile structure)
Expand Down Expand Up @@ -297,7 +297,7 @@ OBD-II for ground vehicles:

For aircraft/watercraft: domain-specific protocols (NMEA for marine, etc.)

=== Phase 3: Actuator Integration (Rust + ReScript)
=== Phase 3: Actuator Integration (Rust + AffineScript)

==== 3.1 Abstraction Layer

Expand Down Expand Up @@ -382,7 +382,7 @@ Each vehicle domain requires:
* Navigation procedures
* Emergency protocols

=== Phase 5: User Interface (ReScript)
=== Phase 5: User Interface (AffineScript)

==== 5.1 Configuration Interface

Expand Down
8 changes: 4 additions & 4 deletions RSR_OUTLINE.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -146,8 +146,8 @@ project/

=== Language Tiers

* **Tier 1** (Gold): Rust, Elixir, Zig, Ada, Haskell, ReScript
* **Tier 2** (Silver): Nickel, Racket, Guile Scheme, Nix
* **Tier 1** (Gold): Rust, Elixir, Zig, Ada, Haskell, AffineScript
* **Tier 2** (Silver): Nickel, Racket, Guile Scheme, Guix
* **Infrastructure**: Guix channels, derivations

=== Required Files
Expand All @@ -161,12 +161,12 @@ project/
* `.well-known/security.txt`
* `.well-known/ai.txt`
* `.well-known/humans.txt`
* `guix.scm` OR `flake.nix`
* `guix.scm` OR `flake.guix`

=== Prohibited

* Python outside `salt/` directory
* TypeScript/JavaScript (use ReScript)
* TypeScript/JavaScript (use AffineScript)
* CUE (use Guile/Nickel)
* `Dockerfile` (use `Containerfile`)

Expand Down
41 changes: 0 additions & 41 deletions deno.json

This file was deleted.

22 changes: 11 additions & 11 deletions docs/DEVELOPMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@ candy-crash/
│ │ └── services/ # Business logic
│ ├── test/ # Tests
│ └── gleam.toml # Gleam project config
├── frontend/ # ReScript frontend (SPA)
│ ├── src/ # ReScript source files
├── frontend/ # AffineScript frontend (SPA)
│ ├── src/ # AffineScript source files
│ │ ├── Main.res # App entry point (TEA architecture)
│ │ ├── components/ # UI components
│ │ ├── pages/ # Page views
│ │ ├── Api.res # API client
│ │ └── Router.res # Client-side routing
│ ├── rescript.json # ReScript config
│ ├── affinescript.json # AffineScript config
│ └── deno.json # Deno runtime config
├── scripts/ # Development scripts
└── .github/ # CI/CD workflows
Expand All @@ -36,8 +36,8 @@ candy-crash/
| Backend | **Gleam** | Type-safe functional backend |
| Web Framework | **Wisp** | HTTP handlers & middleware |
| Database | **ArangoDB** | Multi-model document/graph DB |
| Frontend | **ReScript** | Type-safe UI development |
| Architecture | **rescript-tea** | The Elm Architecture for ReScript |
| Frontend | **AffineScript** | Type-safe UI development |
| Architecture | **affinescript-tea** | The Elm Architecture for AffineScript |
| Routing | **cadre-router** | Type-safe URL routing |
| Runtime | **Deno** | JavaScript/TypeScript runtime |

Expand All @@ -47,7 +47,7 @@ candy-crash/
- **Gleam 1.6+** - Backend language
- **Deno 1.40+** - Frontend runtime
- **ArangoDB 3.11+** - Database
- **ReScript 11+** - Frontend compiler (via Deno)
- **AffineScript 11+** - Frontend compiler (via Deno)

## Getting Started

Expand Down Expand Up @@ -98,8 +98,8 @@ gleam run
```bash
cd frontend

# Build ReScript
deno run -A npm:rescript build -with-deps
# Build AffineScript
deno run -A npm:affinescript build -with-deps

# Start development server
deno task dev
Expand Down Expand Up @@ -131,17 +131,17 @@ This project follows the **Hyperpolymath Standard**. See `.claude/CLAUDE.md` for
### Allowed Languages

- **Gleam** - Backend services
- **ReScript** - Frontend UI
- **AffineScript** - Frontend UI
- **Rust** - Performance-critical, WASM
- **Bash** - Scripts, automation

### Banned Languages

- TypeScript → Use ReScript
- TypeScript → Use AffineScript
- Node.js → Use Deno
- Ruby/Rails → Use Gleam
- Go → Use Rust
- Python (general) → Use ReScript/Rust
- Python (general) → Use AffineScript/Rust

### Enforcement

Expand Down
16 changes: 8 additions & 8 deletions examples/web-project-deno.json
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
{
"// NOTE": "Example deno.json for ReScript web projects",
"// NOTE": "Example deno.json for AffineScript web projects",
"tasks": {
"build": "deno run -A npm:rescript",
"clean": "deno run -A npm:rescript clean",
"watch": "deno run -A npm:rescript -w",
"build": "deno run -A npm:affinescript",
"clean": "deno run -A npm:affinescript clean",
"watch": "deno run -A npm:affinescript -w",
"serve": "deno run -A jsr:@std/http/file-server .",
"test": "deno test --allow-all"
},
"imports": {
"rescript": "npm:rescript@^12.1.0",
"@rescript/core": "npm:@rescript/core@^1.6.0",
"safe-dom/": "https://raw.githubusercontent.com/hyperpolymath/rescript-dom-mounter/main/src/",
"proven/": "../proven/bindings/rescript/src/"
"affinescript": "npm:affinescript@^12.1.0",
"@affinescript/core": "npm:@affinescript/core@^1.6.0",
"safe-dom/": "https://raw.githubusercontent.com/hyperpolymath/affinescript-dom-mounter/main/src/",
"proven/": "../proven/bindings/affinescript/src/"
},
"compilerOptions": {
"allowJs": true,
Expand Down
23 changes: 0 additions & 23 deletions frontend/deno.json

This file was deleted.

Loading