You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
clerk should foster the user to keep the clerk.toml file up to date with information about the project. More precisely, all modules considered for use inside a Catala project should be declared in clerk.toml. clerk should fail to integrate as a dependency or run a module not declared in clerk.toml; it can search for files looking like the requested module and print a warning suggesting the user to add it to clerk.toml, but it should only perform what the user wants if the correct module declarations are in clerk.toml.
For modules split across multiple files, it is OK for clerk.toml to list the files to be included in the module, in order. However, the module_uses directive of clerk.toml should be removed, as the usage of modules should be declared inside one of the Catala files. This is better because the module_uses directive does not support module aliases, whereas using a module from a Catala file supports this crucial feature.
The > Module Bla directive inside Catala files declaring it as a module should be removed from the Catala syntax, as the information it provides is now redundant with what clerk.toml declare. In particular, clerk.toml can declare a module with name foo but defined in file blah.catala_en. If clerk.toml does not declare a file (or multiple files) for a module, clerk should look for a file with the same name as the module in the project directories.
With these rules, clerk test, clerk typecheck and clerk run should take as arguments (to optionally restrict their effect) not filenames but module names, as declared in clerk.toml. The overarching objective is that clerk.toml should declare all symbols and concepts for the CLI of clerk to interact with : NO MORE FILENAMES PASSED TO THE clerk CLI.
The text was updated successfully, but these errors were encountered:
I agree with the general direction, but see one exception: tests are, in general, not modules. I keep thinking it's more convenient if those can be discovered, and called by file name (or directory name to run/reset them in bulk).
I agree with you concerning tests. What this entails is that tests should be placed in module-less files, and OK for clerk test to take these filenames as arguments to restrict what to test, otherwise clerk test tests all tests discovered in the project directories. But for that vision we really need the equivalent of a #[test] marker for scopes that are in fact test. Since we're moving up the priority of the attribute language with #736 maybe now is the right time for such a test marker?
clerk
should foster the user to keep theclerk.toml
file up to date with information about the project. More precisely, all modules considered for use inside a Catala project should be declared inclerk.toml
.clerk
should fail to integrate as a dependency or run a module not declared inclerk.toml
; it can search for files looking like the requested module and print a warning suggesting the user to add it toclerk.toml
, but it should only perform what the user wants if the correct module declarations are inclerk.toml
.For modules split across multiple files, it is OK for
clerk.toml
to list the files to be included in the module, in order. However, themodule_uses
directive ofclerk.toml
should be removed, as the usage of modules should be declared inside one of the Catala files. This is better because themodule_uses
directive does not support module aliases, whereas using a module from a Catala file supports this crucial feature.The
> Module Bla
directive inside Catala files declaring it as a module should be removed from the Catala syntax, as the information it provides is now redundant with whatclerk.toml
declare. In particular,clerk.toml
can declare a module with namefoo
but defined in fileblah.catala_en
. Ifclerk.toml
does not declare a file (or multiple files) for a module,clerk
should look for a file with the same name as the module in the project directories.With these rules,
clerk test
,clerk typecheck
andclerk run
should take as arguments (to optionally restrict their effect) not filenames but module names, as declared inclerk.toml
. The overarching objective is thatclerk.toml
should declare all symbols and concepts for the CLI ofclerk
to interact with : NO MORE FILENAMES PASSED TO THEclerk
CLI.The text was updated successfully, but these errors were encountered: