elm-d3
elm-d3 copied to clipboard
support for elm 0.17.x
the title says it all, anybody working on this already?
Just came across some spare beach time on the Mediterranean, so I'll be working on it over the weekend.
Fixing this should fix #32.
great, enjoy the 🏖
I'm going to keep a bit of a journal of the process here, both to help others that may have to do a port like this in the future, and certainly to keep things straight in my head right now.
@seliopou I started to do some migration myself... but having difficulty turning signals into subscriptions
There was also some conflict as to using Native code (as you have chosen) or Ports.
@seliopou any progress?
I was hoping to leverage your awesome library to showcase Elm 0.17 with some work related stuff. Do you think you could provide an ETA on this? I'd prefer the library rather than peddle with ports :)
Sorry for the radio silence. I did some digging into the current state of Elm's native interfaces, and the situation is not great with respect to a speedy port to 0.17. Essentially, everything about the runtime has changed, which means that this will likely be a significant lift. That will be a bit of coding for sure, but even before getting to that I have to identify how to surface native events to application code, and also providing a custom rendering function. I'll look a bit more tonight, but being realistic here, I wouldn't expect a quick turnaround.
If anybody has any pointers, I'm all ears.
Thank you for the update - helps me prioritize stuff on my end.
@seliopou Can you outline the "Elm's native interface" changes that affect elm-d3? I.e. what are the tasks required to migrate up?
Edit: @MonsieurCactus mentioned the issue (and possible solutions) with native code on a pull request.
@hoelzro wrote a great article about a migration from 0.16 to 0.17
@jadbox, I think @seliopou is referring to how elm-d3 uses the JavaScript files located in this directory
It seems that the native API changes very quickly and it is not recommended
As long as the work is more or less mechanical / testing I can also help out.
@francisdb the mechanical part (syntax changes, dependency versions update) was already done by @MonsieurCactus. As I see, these are the steps required:
- Change the native code to ports (requires understanding of both)
- Change the uses of Signal to Commands (this was a conceptual change introduced in 0.17)
0.18
?
Looking to use elm + d3 for a project i'm about to begin work on... Is there any status update on this (0.18
compatibility now)?
I'm also happy to help w/ any mechanical / testing work to be done.
@clevinson what would you like to see in a port from Elm to D3? Elm is not at v0.18 and D3 is not at v4. Therefore I might open a new issue.
I noticed I am approximate many of D3's canvas and SVG features purely within Elm. Not 100% of systematically. I have considered going back to work on this.