They all have the samé problem: that you don't know the name (or even the number) of modules (module files) being generated without reading the source.
And as a bonus every compiler uses a sligthly different naming scheme for the generated module file (this is of course no problem for OCaml ;).
As an example (using Fortran). File `test.f90`:
module first
contains
subroutine hello ()
end subroutine hello
end module first
module second
contains
subroutine world ()
end subroutine world
end module second
`gfortran -c test.f90` yields the following files (2 of them are modules):
-rw-r--r-- 1 roland staff 221 Sep 21 19:07 first.mod
-rw-r--r-- 1 roland staff 225 Sep 21 19:07 second.mod
-rw-r--r-- 1 roland staff 185 Sep 21 19:07 test.f90
-rw-r--r-- 1 roland staff 672 Sep 21 19:08 test.o
I've never seen anyone use Nix to actually build software; it's a glorified launcher for shell scripts in a sandbox, and typically is used to start the actual build system, such as make/cargo/go build/npm/etc, with known inputs.
> Because it isn't fun checking if the whitespace at the beginning of the line is a tab or spaces. And as said, you must know when to use tabs and/or spaces in rules.
that's why https://editorconfig.org/ exists, so that neither you nor your teammates have to think about these things
reply