Skip to content
This repository has been archived by the owner on Apr 26, 2021. It is now read-only.

[WIP] Upgrade to PureScript 0.13 #96

Open
wants to merge 15 commits into
base: development
Choose a base branch
from

Conversation

ad-si
Copy link

@ad-si ad-si commented Sep 26, 2018

  • Use the PureScript 0.13 compiler
  • Use spago to build the project.

This will probably also fix #93

@ad-si ad-si mentioned this pull request Sep 26, 2018
@ad-si ad-si changed the title [WIP] Upgrade to PureScript 0.12 [WIP] Upgrade to PureScript 0.13 Oct 20, 2019
@ad-si
Copy link
Author

ad-si commented Oct 20, 2019

Got back to it and fixed quite a few compile errors, but I feel like I'm hitting the limits of my understanding of Foreign
So some help would be highly appreciated 😇

@felixSchl
Copy link
Owner

Sure, feel free to ask anything that's unclear, either here or per email, or on functionalprogramming slack channel and I will try my best to help out, however, as is evident by the commit history and activity on the project, I consider it pretty much dead (as in minimal maintenance.) The released version appears to work fine with a steady 4.5+k downloads/week and no bug reports. If that does not put you off, feel free take a shot and I will take a look at what comes through :)

@ad-si
Copy link
Author

ad-si commented Jan 26, 2020

I was thinking about changing the interface of the PureScript part to just receive one JSON string and nothing more. This will probably have a performance impact, but then the interface is minimal, more robust and can be easily ported to other backends. What do you think @felixSchl ?

@ad-si
Copy link
Author

ad-si commented Jan 27, 2020

Well turns out that's not important since there is no pure PureScript JSON parser anyways. At least I will switch to purescript-argonauts Foreign backed JSON datatype …

@ad-si
Copy link
Author

ad-si commented Feb 2, 2020

Short update: Everything is working again on the PureScript side 😁🎉 (You didn't make it easy for me @felixSchl. There were some really long functions with a lot of 1 letter variables 😂)
Now, I just need to figure how to best implement the JavaScript API. I'll try it with a simple

runStringJs :: String -> Json -> Json
runStringJs helpStr opts = -- TODO

based on argonaut's Json. This should work fine I think.
Give me a few more days and we'll be ready for 3.0 🚀

@felixSchl
Copy link
Owner

😮 wow, you actually did it. Render me thoroughly impressed. This opens up a lot of new avenues... and we could actually fix some of the long standing issues like automatically interpreting values as opposed to just leaving them as strings and pushing that to the application, or at least making it an option. Caused me quite a bit of grief... but anyway..

Given the time you invested in this, would you be open to take over maintenance (or even co-maintain it) following this as well? I am asking because I won't have the time to actively maintain this project again, however, I am happy to provide input and look over PRs etc.

Also, 👍 for moving to using package sets.

@ad-si
Copy link
Author

ad-si commented Feb 3, 2020

😮 wow, you actually did it. Render me thoroughly impressed.

Thanks 😊! I mean it took me only 1.5 years 😅

This opens up a lot of new avenues... and we could actually fix some of the long standing issues like automatically interpreting values as opposed to just leaving them as strings and pushing that to the application, or at least making it an option. Caused me quite a bit of grief... but anyway..

Definitely does! This could become a really valuable asset for the PureScript community (and of course the JavaScript community). With the new Json interface it's also already much cleaner.

Given the time you invested in this, would you be open to take over maintenance (or even co-maintain it) following this as well? I am asking because I won't have the time to actively maintain this project again, however, I am happy to provide input and look over PRs etc.

Co-maintaining sounds good! Let's keep that bus factor high 😛. I'll be using it for Transity, so I guess I'll have some need to improve it anyways. You should probably add me as a maintainer on npm as well, right? My account is https://www.npmjs.com/~adius .

Also, 👍 for moving to using package sets.

Spago + package sets just works incredibly well. I'm really thankful for the great folks who built it 😁.

@ad-si ad-si closed this Feb 3, 2020
@ad-si ad-si reopened this Feb 3, 2020
@ad-si
Copy link
Author

ad-si commented Feb 4, 2020

@felixSchl Hi can you maybe give me short hint which transformations are missing to fix this?

image

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

Successfully merging this pull request may close these issues.

Publish on pursuit
2 participants