diff --git a/README.md b/README.md index 7ff332a..3e5e8f4 100644 --- a/README.md +++ b/README.md @@ -76,33 +76,32 @@ Use this prompt when asking ChatGPT to make a new Racket module or extend this one: ```text -Werk aan een Racket-module/package in een versievaste buildmap. +Work on a Racket module/package in a version-locked buildmap. -Belangrijk: -- Maak altijd een nieuwe submap voor de oplevering, bijvoorbeeld +Important: +- Always create a new subdirectory for the release, for example /mnt/data/-build-NNN/. -- Werk niet direct in /mnt/data met losse bestanden met dezelfde naam; - voorkom versieverwarring door alles in die buildmap te kopiƫren/patchen. -- Houd de package-structuur stabiel: - - main.rkt voor de publieke module; - - testing/ voor test-infrastructuur en regressietests; - - demo/ voor demonstratiebestanden; - - info.rkt voor package metadata en test entry points. -- Pas require-paden aan op die structuur voordat je test. -- Test met Racket zelf, bijvoorbeeld: +- Do not work directly in /mnt/data with individual files of the same name; + avoid version confusion by copying/patching everything into that buildmap. +- Keep the package structure consistent: + - main.rkt for the public module; + - testing/ for test infrastructure and regression tests; + - demo/ for demonstration files; + - info.rkt for package metadata and test entry points. +- Adjust require paths to match that structure before testing. +- Test with Racket itself, for example: /tmp/racket/bin/raco make /main.rkt /testing/.rkt /tmp/racket/bin/racket /testing/.rkt -- Als JavaScript nodig is, gebruik een aparte executor/test-framework module. - Tests mogen niet falen alleen omdat node/deno/bun/qjs ontbreekt; ze moeten - dan skippen met duidelijke warnings, tenzij een REQUIRE-envvar is gezet. -- Gebruik geen shell-internet voor dependencies. Als packages nodig zijn, haal - ze via de rktsndbx bootstrap/package-index flow op. -- Lever na afloop een zip van exact de geteste buildmap op. -- Rapporteer kort welke commando's zijn uitgevoerd, wat de testresultaten waren, - en welke zip het geteste resultaat bevat. +- If JavaScript is required, use a separate executor/test-framework module. + Tests must not fail simply because node/deno/bun/qjs is missing; they must + skip with clear warnings unless a REQUIRE environment variable has been set. +- Do not use shell-based internet access for dependencies. If packages are needed, retrieve + them via the rktsndbx bootstrap/package-index flow. +- After completion, provide a zip file containing exactly the tested buildmap. +- Briefly report which commands were executed, what the test results were, + and which zip file contains the tested result. ``` - ## Latest tested fix This build includes the `with-handlers` callee-position fix for inline lambda diff --git a/scrbl/js-maker.scrbl b/scrbl/js-maker.scrbl index a12b57e..dda2197 100644 --- a/scrbl/js-maker.scrbl +++ b/scrbl/js-maker.scrbl @@ -20,9 +20,13 @@ @defmodule[js-maker] -This module has been largely coded as an evolution to the @{js-transformer} setup -from @racket{racket-webview} by supervising it's evolution using AI. -It is astonishing what AI can do these days. +This module has been largely coded as an evolution to the @tt{js-transformer} setup +from @tt{racket-webview} by supervising it's evolution using AI. +It is astonishing what AI can do these days. To get the AI agent this far +on racket and testing the output by itself, I had to get @tt{racket} installed +in the coding sandbox of the AI agent. +See @hyperlink["https://racket.discourse.group/t/a-small-experiment-bootstrapping-racket-into-a-chatgpt-sandbox-at-openai/4238"]{the discourse article} +about that. @bold{js-maker} is a small, syntax-driven JavaScript generator for writing a practical JavaScript subset in Racket notation. It provides two macros,