Tags: ajg/tacit
Tags
tacit v0.6.0
The library is now exactly three files — include/tacit/{_,$,λ}.hpp — and
those files ARE the distribution: nothing is generated, nothing needs
regenerating, and vendoring is a copy.
Breaking since v0.5.0:
- single/ and tools/amalgamate are gone. Vendor include/tacit/ directly;
_.hpp and λ.hpp are each copy-one-file, $.hpp wants its sibling _.hpp.
- <tacit/experimental/std_blanks.hpp> removed. Specializing std class
templates for the blank type is ill-formed NDR and libc++ 21 enforces
it; use the portable bind/apply/quote grain instead.
- TACIT_NO_DOLLAR removed. A macro cannot cross a module boundary, so it
was the producer's switch, and it produced two different modules both
answering to `import tacit;`.
Also: tacit.cppm exports tacit::blank; copyright notices on the files that
travel; the make/$ overload table re-encoded (-46% characters, MSVC-verified);
tests for all six include-order permutations and for make/$ shape parity.
36 ctest targets, green on clang 18/22, g++ 13/16, MSVC v143, clang-cl and
AppleClang.