[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: d3js chord diagrams
From: |
Ricardo Wurmus |
Subject: |
Re: d3js chord diagrams |
Date: |
Sun, 11 Dec 2016 20:51:51 +0100 |
User-agent: |
mu4e 0.9.16; emacs 25.1.1 |
Ludovic Courtès <address@hidden> writes:
> Hey Ricardo,
>
> Ricardo Wurmus <address@hidden> skribis:
>
>> I’ve built something:
>>
>> http://elephly.net/graph.html
>
> What happened to this neat hack we discussed in October? :-)
The current “export-graph” procedure writes the graph representation to
a port by calling output procedures provided by the graph backend. With
this interface I cannot generate a complete HTML file using a gexp
unless I add a special case for the d3 backend.
I’ve tried to accumulate the node representations as a string with
“with-output-to-string” (to embed it in a gexp for the HTML file), but I
couldn’t get this to work. (All output I could capture was what
“emit-prologue” would write to the port. It does this outside of the
monad anyway.)
I also tried and failed to use an “origin” and “computed-file” in
“export-graph”. “export-graph” should return a monadic value, but I
don’t really understand the monad implementation in Guix. What monadic
value would be appropriate to actually cause a download of the origin
and storing of the computed-file?
Do I need to return “(lower-object (computed-file …))”? That’s a
monadic value, but nothing happens to it inside of “(run-with-store …)”
in guix/scripts/graph.scm. When returning the result of “gexp->file”
(instead of “computed-file”) as the return value of “export-graph” still
nothing happens.
Really thought this would be trivial. Any recommendations? I feel like
I’m just missing one little thing to make things happen.
--
Ricardo
GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC
http://elephly.net