Skip to content

v6 - let loop be (with small fixes)

Compare
Choose a tag to compare
@amirouche amirouche released this 03 Jul 13:29
· 52 commits to main since this release

馃 Behold v6 release of letloop 馃攣 !

letloop's CLI is a Chez Scheme command line tool with all the goodies packed in: a basic REPL helps with prototyping, a test runner with code coverage makes sure you touch the ground running, and it can produce elf binaries for your deployment convenience. Tho, the formula to reduce entropy is still missing. Be assured that I am doing everything I can to fix 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 program.scm executes program.scm;

  • letloop compile program.scm will produce an elf binary called a.out based on program.scm;

  • letloop check library.scm allows 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 exported by library.scm. The test runner expects a return value that satisfies the following predicate (lambda (x) (eq? x #true)), otherwise anything besides #true 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 that immediate when you pass 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 offered with the hope of being useable, useful, and used. If you think it fails at one of those, reach me at amirouche@hyper.dev.

NB: This post was sponsored by my grand ma as known as: mother Lily of the valley.