v6 - let loop be (with small fixes)
馃 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.scmexecutesprogram.scm; -
letloop compile program.scmwill produce an elf binary calleda.outbased onprogram.scm; -
letloop check library.scmallows 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-flatexported bylibrary.scm. The test runner expects a return value that satisfies the following predicate(lambda (x) (eq? x #true)), otherwise anything besides#trueis 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.