chapel-lang / chapel

a Productive Parallel Programming Language
https://chapel-lang.org
Other
1.79k stars 421 forks source link

Mason virtual environment #16114

Open rahulghangas opened 4 years ago

rahulghangas commented 4 years ago

This is a feature request for the mason package. In its current state, mason packages are hard to use in day to day programs.

To curb this issue, maybe mason can create (pseudo) virtual environments with

mason new-venv foo
\\ OR
mason new --venv foo
\\ OR
mason venv --new foo

which can then create a subdirectory somewhere in the chapel folder. Each mason project can have a .venv-compopts that defines the libraries to include. Installing packages would be somewhat similar

mason venv foo package1
mason venv foo package2

\\OR

mason venv foo --install package1
mason venv foo --install package2

Then mason can be used to compile a new file with specific packages

mason venv --build myFile.chpl

this would compile myFile.chpl with package1 and package2

Related to #15402

rahulghangas commented 4 years ago

@ankingcodes @ben-albrecht thoughts?

ben-albrecht commented 4 years ago

This seems like a useful feature, but also a large effort / new direction.

In its current state, mason packages are hard to use in day to day programs.

I would be interested in understanding the motivation here in more detail (maybe some concrete examples of what's hard to use), and seeing if there are other improvements we can make as well.

@Spartee and @krishnadey30 may have input as well.

ben-albrecht commented 4 years ago

Related to #1540

@rahulghangas - did you mean to link a different issue?

rahulghangas commented 4 years ago

Related to #1540

@rahulghangas - did you mean to link a different issue?

I missed a digit, updated now