You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit b64cac3
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: README.md
+17-4Lines changed: 17 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,11 +7,11 @@ This repository contains a web-based, interactive introduction to LiquidJava. Th
7
7
3. External socket state refinements;
8
8
4. Stack ghost variables.
9
9
10
-
Learners can edit Java snippets, run lightweight in-browser checks, answer quick knowledge questions, and move freely between sections. The tutorial does not collect, persist, or export user data.
10
+
Learners can edit Java snippets, run LiquidJava verification in the browser, answer quick knowledge questions, and move freely between sections. The tutorial does not collect, persist, or export user data.
11
11
12
12
## Preview Locally
13
13
14
-
Run the local development server:
14
+
Build and export the shared runtime as described below, then run the local development server:
15
15
16
16
```sh
17
17
npm run dev
@@ -27,11 +27,24 @@ Each lesson contains:
27
27
28
28
- Explanatory copy and a read-only example;
29
29
- Starter and solution code;
30
-
-Regular-expression checks for the coding task;
30
+
-A Java filename and exercise-pattern hints for the coding task;
31
31
- Automatically checked multiple-choice and short-answer questions.
32
32
33
33
Add, remove, or reorder lesson objects to change the tutorial without editing `app.js` or `index.html`.
34
34
35
35
## Checker Scope
36
36
37
-
The browser checker is intentionally lightweight: it recognizes the requested annotations and values but does not run the LiquidJava compiler. Use the LiquidJava VS Code extension for real verification tasks.
37
+
Checks run the real LiquidJava verifier locally in a browser worker. Results show diagnostic titles and messages. Exercise-pattern hints are separate from verification: valid Java with a missing requested contract is reported as “Exercise incomplete”. Editing, resetting, or leaving a lesson cancels pending verification.
38
+
39
+
Before development or building, build the shared runtime in the adjacent `liquidjava-docs` checkout with JDK 17, then export it here:
The workflow builds and exports the runtime from a pinned docs commit, validates pull requests, and deploys only from `main`. Update the checkout `ref` after testing a shared-runtime upgrade. Serve over HTTPS (or localhost) with HTTP range support; `npm run dev` supports JAR range requests. The isolation service worker reloads once before mounting the tutorial. The verifier downloads only when you first check an exercise; Stop terminates it. No source code is sent to a verification server.
0 commit comments