purescript-d3 icon indicating copy to clipboard operation
purescript-d3 copied to clipboard

Migrate to purescript 0.14.2

Open CGenie opened this issue 3 years ago • 6 comments

I resurrected the code so that it compiles on more recent PureScript 0.14.2. Also, I added some features like zoom and link.

CGenie avatar Jun 22 '21 03:06 CGenie

Hey @CGenie, if you are using D3 with PureScript and/or have any interest in collaborating on a more fully featured library you might find this work i've been doing interesting: https://github.com/afcondon/purescript-d3-tagless-II

afcondon avatar Jun 22 '21 05:06 afcondon

Hi @CGenie, I haven’t been involved with purescript for a few years now so I’m probably not qualified to review this PR any more. I’d be happy to make you a maintainer if you’d like.

pelotom avatar Jun 24 '21 19:06 pelotom

Hey @CGenie, if you are using D3 with PureScript and/or have any interest in collaborating on a more fully featured library you might find this work i've been doing interesting: https://github.com/afcondon/purescript-d3-tagless-II

This looks interesting, however I'm lacking some simpler examples in the README. I've skimmed through the src/Examples dir but I'm still not sure if this covers all of D3?

I like this library because it's quite close to original D3 and doesn't introduce any higher-level stuff. We learned from experience that this is in fact simpler in the long term: we used the overly complex thermite wrapper for react, and now with purescript-reactix it's in fact maintaineable :)

CGenie avatar Jun 30 '21 14:06 CGenie

I'm hoping to get a minimally viable version of it ready in the next month or two...i will add at least a couple of simpler examples, tho the focus of my work is on writing something which can i and others can use to develop larger, more "app-like" things and less for "script-like" charts. It may not be what you are looking for in that sense.

My intention is to provide a more Purescript-idiomatic syntax above D3's Selection, Transition etc (as in this library, purescript-d3) but also to support the so-called General Update Pattern, force-layout / simulations and hierarchies (trees, treemaps, circle-packing etc). This leaves large areas of the D3 API surface that i don't intend to touch or only wrap very minimally.

The background to this is that i spent several years working at a company developing a D3-based, PureScript-controlled application which convinced me that i did want some higher-level API that would let me compose things on the PureScript side. I also tried taking the design of this library forward on a couple of occasions, so if you do decide to do that i can maybe save you some time or give you some pointers as to what worked or didn't work for me.

You might find this recent article interesting too, as were Mike Bostock's comments on it on Twitter: https://wattenberger.com/blog/react-and-d3

afcondon avatar Jun 30 '21 15:06 afcondon

Plan is to use d3 with react as well. We plan to do complex things, but we're just starting out so we'll see how this evolves.

CGenie avatar Jun 30 '21 15:06 CGenie

Hi @CGenie, I haven’t been involved with purescript for a few years now so I’m probably not qualified to review this PR any more. I’d be happy to make you a maintainer if you’d like.

Yes, if you can't maintain it, we can continue. We're from the open-source Gargantext project (https://gargantext.org/) and our github account is on https://github.com/poorscript

CGenie avatar Jul 01 '21 06:07 CGenie