For today’s stream, I’ll be going through the PureScript discourse covering hot/interesting topics, and then prepare/do a live recording/guide of how to setup PS locally with VSCode and start learning PS using the online book.
Event updated above.
Join me after the Purescript meetup to go over last week’s Purescript news!
After that, the plan is to have a first look (for me, at least) at the state of current (purely) Purescript HTTP backend options, notably:
- hyper w/ trout
- payload
Please let me know if you think I am missing any interesting libraries for the list.
We are using plain httpure + routing-duplex in production without any type level verification of payload etc. so this approach probably won’t be interesting to you
If we are talking about more servant like approaches (I haven’t used any of them yet!) I think that there are also:
-
https://github.com/f-o-a-m/purescript-servant by @blinky3713
-
I’m not sure what is the exact goal and status of @Woody88 's https://github.com/Woody88/purescript-swerve .
-
I’ve seen recently also https://github.com/robertdp/purescript-apiary by @robertdp but I’m not sure if the API spec types can be used on the backend at the moment…
P.S.
@cvlad you are doing amazing job by streaming such a broad content on your channel. Thanks a lot!
I hope it is not too personal but I want to add that I’m a bit worried that you are doing too much FP stuff recently Please take care of Yourself and Family and take a day off… and sleep and eat sometimes too!
purescript-apiary is only designed for use on the client-side, but I did make purescript-apiary-server which is currently more of a prototypical implementation (it also contains an implementation of the client functionality for Node as well).
The goal of these libraries were to replace a project’s inherited backend, first by replacing some terrible generated Swagger docs with type-level specs that could be used by our UI, and finally by replacing the old backend entirely while maintaining full compatibility with the UI. Unfortunately the last step isn’t going to happen, so the server-side portion of Apiary never got pushed into becoming something better than just “working”.
On a related note, @Woody88 is also working on https://github.com/Woody88/purescript-wai and https://github.com/Woody88/purescript-warp
Thank you for your suggestions! I will definitely add them all to the list and have a look!
@paluh Also thank you for your concern I am getting some more rest during the day and spending time with the family, so all is great!
Hi Vladimir, I love the streams! I am working hard on PureScript GraphQL Version 2. GraphQL is quite different from the other solutions here but somehow fullfills a similar purpose. At the same time it is standardised and has large amounts of tooling available. I don’t know if you have time to look at it this time, but I would definitely love some feedback!
If I don’t get to some of these tomorrow, I will definitely add them to the queue for the week after! Thank you for the submissions, I am looking forward to having a look at all these libs!
Purescript Monday, 17th of August 2020
PS Github Actions
Thomas Honeyman: Purescript Github Actions https://github.com/thomashoneyman/setup-purescript
Demo at https://github.com/thomashoneyman/purescript-halogen-formless/blob/main/.github/workflows/ci.yml
Recommended Tooling for PS in 2020
Thomas Honeyman https://discourse.purescript.org/t/recommended-tooling-for-purescript-in-2020
While we’re at it, don’t forget to star Thomas’ awesome https://github.com/thomashoneyman/purescript-halogen-realworld
Making full use of PureScript’s Generic type class
Harry Garrood https://harry.garrood.me/blog/write-your-own-generics/
purescript-undefined-is-not-a-problem
Paluh https://github.com/paluh/purescript-undefined-is-not-a-problem
New version of spago
v0.16 released, see https://github.com/purescript/spago/blob/master/CHANGELOG.md#0160---2020-08-14
Purescript short getting started video
Shameless self-plug: https://www.youtube.com/watch?v=D0rSuFwJSpw
I’ll work on a better format for next week such that it’s easier to read and perhaps includes a few words as well. The video version of me going through the above will be available tomorrow on youtube. Meanwhile, you can watch it on twitch here: https://www.twitch.tv/videos/713515377
Purescript Monday, 24th of August 2020
dodo-printer
Nate Faubion published an “adequate pretty printer” library: https://github.com/natefaubion/purescript-dodo-printer
Profunctors and Optics
Mike Solomon shares his intuition on Profunctor optics: https://meeshkan.com/blog/profunctors-and-optics/
thomashoneyman.com on github
Thomas Honeyman’s writing (blog posts, guides, articles, etc.) are now up on
github: https://github.com/thomashoneyman/writing
Real World PureScript+React
Jonas worked on a Real World implementation using PS & React: https://github.com/jonasbuntinx/purescript-react-realworld