neodoc icon indicating copy to clipboard operation
neodoc copied to clipboard

[WIP] Upgrade to PureScript 0.13

Open ad-si opened this issue 6 years ago • 8 comments

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

This will probably also fix https://github.com/felixSchl/neodoc/issues/93

ad-si avatar Sep 26 '18 13:09 ad-si

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 😇

ad-si avatar Oct 20 '19 15:10 ad-si

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 :)

felixSchl avatar Oct 22 '19 05:10 felixSchl

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 avatar Jan 26 '20 21:01 ad-si

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 avatar Jan 27 '20 07:01 ad-si

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 🚀

ad-si avatar Feb 02 '20 23:02 ad-si

:open_mouth: 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, :+1: for moving to using package sets.

felixSchl avatar Feb 02 '20 23:02 felixSchl

😮 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 avatar Feb 03 '20 07:02 ad-si

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

image

ad-si avatar Feb 04 '20 22:02 ad-si