Fil-C on Nix

Filnix wiki

mbrock/filnix

tests/qnode.nix

The qnode-hosted CLIs must match their Node.js builds byte for byte.

λpkgs, pkgsFilc
pkgs.runCommand"filc-qnode-check" { }
cat > in.bib <<'EOF'
@article{Smith2020,
title={A Title},author = {Smith, J.},
year=2020}
@book{a, title="x"}
@book{a, title="x"}
EOF
cp in.bib node.bib
cp in.bib qjs.bib
export PRE_COMMIT=1
${pkgs.lib.getExepkgs.bibtex-tidy} --curly --sort --merge -m node.bib
${pkgs.lib.getExepkgsFilc.bibtex-tidy} --curly --sort --merge -m qjs.bib
cmp node.bib qjs.bib
printf '+---+\n| A |---> "x"\n+---+ *\n' > in.txt
${pkgs.lib.getExepkgs.aasvg} < in.txt > node.svg
${pkgs.lib.getExepkgsFilc.aasvg} < in.txt > qjs.svg
cmp node.svg qjs.svg
${pkgsFilc.quickjs}/bin/qjs ${./quickjs-regexp.js}
touch $out