Show HN: Chez Scheme txtar port from Go

74 pointsposted 7 days ago
by hellcow

8 Comments

thaliaarchi

7 days ago

Simple format. Makes me want to write a parser for it using a shared buffered reader library I’m working on in Rust.

verdverm

7 days ago

txtar is used in the testsuite package to make writing CLI (blackbox) tests really easy. It adds a header section for the steps to run and comparisons to make. Often you compare actual output with golden data.

(https://github.com/golang/go/tree/master/src/cmd/go/testdata...)

The tools have been extracted and made installable from here: https://github.com/rogpeppe/go-internal/tree/master/cmd This is really handy for any project to have people submit reproducers as a single file anyone can run. These tools make it so you can transform between txtar and files on disk, and then run the txtar (testscript) as a test or directory of tests.

I have built them into my hof tool, "hof run [--mode test] file.txtar" so you run them as either test files or multifile scripts. The second option is handy if you want to eject a file onto the filesystem without having to do echo or EOF business in bash scripts

https://github.com/hofstadter-io/hof/tree/_dev/script/runtim...

shawn_w

7 days ago

The Go version treats file data as byte arrays; might want to do the same and use Scheme bytevectors instead of strings. OTOH the docs say it's not supposed to be a general binary format...

tyho

7 days ago

I have been using txtar to provide context to LLM's recently.