aziz on Nostr: Hey, Chez #Scheme schemers! Chez GitHub, I made a pre-release of letloop v6b9, check ...
Hey, Chez #Scheme schemers!
Chez GitHub, I made a pre-release of letloop v6b9, check it out at: https://github.com/letloop/cli/releases/tag/v6b9
letloop's CLI is a Chez Scheme command line tool with all the goodies packed in, though, the formula to reverse entropy is missing. Be assured that I am doing everything I can to improve the current state of the art^W loop 😶
Meanwhile, download letloop for your favorite GNU/Linux, or (Just Linux), then you can use the following templates as inspiration to invoke your favorite, and the best scheming device on, and around Earth:
- `letloop exec DIRECTORY ... program.scm` execute program.scm and all imported libraries in the sorted set of zero or more directories `DIRECTORY ...` (yes the order does matter, it makes shadowing possible)
- `letloop compile DIRECTORY ... program.scm` will produce an elf binary called `a.out` based on `program.scm` and the imported libraries (libraries used as part of `(eval exp environmnent)` don't find their way into the binary on their own, and you need top-level-import them in `program.scm`).
- `letloop check DIRECTORY ... library.scm` with its variations allow testing libraries. It is powered by a test runner that expects tests to be thunks named with a prefix `~check-` e.g. `~check-ess-000-earth-is-not-flat` and exported by `library.scm`. The test runner expects a return value that satisfies the following predicate `(lambda (x) (eq? x #true))`, otherwise if it is a nominal return it is considered a test failure, if it is a non-nominal exit a la `(raise (make-error-too-hot))` it is an error. Both lead to a non-zero exit code (immediate if you use the flag --fail-fast). A #HTML code coverage report with number of run times is produced. It helps identify hot, cold, and dead code.
#Fedora build for rawhide is broken. Patch welcome.
letloop's CLI available at https://github.com/letloop/cli/releases/tag/v6b9
NB: This post was sponsored by my grand ma as known as: mother Lily of the valley.
Chez GitHub, I made a pre-release of letloop v6b9, check it out at: https://github.com/letloop/cli/releases/tag/v6b9
![:win3_terminal:](https://functional.cafe/system/custom_emojis/images/000/087/649/original/win3_terminal.png)
Meanwhile, download letloop for your favorite GNU/Linux, or (Just Linux), then you can use the following templates as inspiration to invoke your favorite, and the best scheming device on, and around Earth:
- `letloop exec DIRECTORY ... program.scm` execute program.scm and all imported libraries in the sorted set of zero or more directories `DIRECTORY ...` (yes the order does matter, it makes shadowing possible)
- `letloop compile DIRECTORY ... program.scm` will produce an elf binary called `a.out` based on `program.scm` and the imported libraries (libraries used as part of `(eval exp environmnent)` don't find their way into the binary on their own, and you need top-level-import them in `program.scm`).
- `letloop check DIRECTORY ... library.scm` with its variations allow testing libraries. It is powered by a test runner that expects tests to be thunks named with a prefix `~check-` e.g. `~check-ess-000-earth-is-not-flat` and exported by `library.scm`. The test runner expects a return value that satisfies the following predicate `(lambda (x) (eq? x #true))`, otherwise if it is a nominal return it is considered a test failure, if it is a non-nominal exit a la `(raise (make-error-too-hot))` it is an error. Both lead to a non-zero exit code (immediate if you use the flag --fail-fast). A #HTML code coverage report with number of run times is produced. It helps identify hot, cold, and dead code.
#Fedora build for rawhide is broken. Patch welcome.
letloop's CLI available at https://github.com/letloop/cli/releases/tag/v6b9
NB: This post was sponsored by my grand ma as known as: mother Lily of the valley.