196 did a complete revamp in the CLI, removing compilation from multiple commands and making stores available to other commands via stores saved as binary files. With those changes, only the compile command can call the compilation routine.
This issue is about coming up with a well defined behavior that allows compilation in other commands again if the user doesn't want to provide a compiled store and wants to do compilation on the fly instead.
"Well defined behavior" means a clear set of arguments, flags and side-effects for each command. This is hard because there are some conflicts between commands. Examples:
The put command uses curl which requires a store already written as a binary file to be loaded up
The typecheck command doesn't need to write the store to a file
The transpile command doesn't need it either, but if the user wants to write it anyways, the output flag is already taken
There are flags that are very specific to the compilation process which would be cumbersome to add to other commands
196 did a complete revamp in the CLI, removing compilation from multiple commands and making stores available to other commands via stores saved as binary files. With those changes, only the
compile
command can call the compilation routine.This issue is about coming up with a well defined behavior that allows compilation in other commands again if the user doesn't want to provide a compiled store and wants to do compilation on the fly instead.
"Well defined behavior" means a clear set of arguments, flags and side-effects for each command. This is hard because there are some conflicts between commands. Examples:
put
command usescurl
which requires a store already written as a binary file to be loaded uptypecheck
command doesn't need to write the store to a filetranspile
command doesn't need it either, but if the user wants to write it anyways, theoutput
flag is already taken