Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate psa into Spago #904

Closed
f-f opened this issue Sep 30, 2022 · 7 comments · Fixed by #955
Closed

Integrate psa into Spago #904

f-f opened this issue Sep 30, 2022 · 7 comments · Fixed by #955

Comments

@f-f
Copy link
Member

f-f commented Sep 30, 2022

Since the upcoming Spago will be in PureScript, we now have the occasion of integrating psa directly as a library, which is strictly better than the current situation of shelling out to an external executable.

@JordanMartinez
Copy link
Contributor

I'm going to work on this, but this is low priority.

@JordanMartinez
Copy link
Contributor

Here's a few questions that came to mind as I was looking at this:

  • Is the codebase of purescript-psa-utils going to be folded into spago in its entirety? Or are we just going to depend on that as another dependency? I'd prefer the former because there's less dependency management than the latter (e.g. "If I change X in purescript-psa-utils, does it cause issues in spago?"). However, if one wanted to implement another package manager besides spago, such an author would likely want to reuse the psa libraries to implement similar features, at least until this functionality is folded into the compiler itself.

@natefaubion
Copy link

I have no intention of making additions to psa.

@arrowd
Copy link
Contributor

arrowd commented Nov 12, 2022

A bit of offtopic, but what is rationale behind rewriting Spago in PureScript? This will make packaging it harder for downstream packagers.

@f-f
Copy link
Member Author

f-f commented Nov 12, 2022

@arrowd I have detailed a bit about it here, but I'll expand more on it once we announce the first alpha release of the rewrite.
Our main packaging method is npm, which will benefit from the switch. Is there any particular downstream packager you are concerned about?

@arrowd
Copy link
Contributor

arrowd commented Nov 12, 2022

I am that downstream packager - I make ports for FreeBSD. Wehave nica machinery for Haskell packages that allows us to prefetch all needed deps' sources and build offline. AFAIK, it is not possible for npm.

For purescript-language-server I had to ask @nwolverson to provide self-contained compiled .js files on the releases page.

@f-f
Copy link
Member Author

f-f commented Nov 12, 2022

It sounds like we could reuse that machinery from the language-server repo to achieve the same result here?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants