You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add TODO for toolchain driver found-plan (de-)serialization
This TODO was prompted by Calyx's fud2 adding serialization and
deserialization support in [1], with an initial implementation in [2].
[1] calyxir/calyx#2555
[2] calyxir/calyx#2564
Copy file name to clipboardExpand all lines: TODO.org
+12Lines changed: 12 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -681,6 +681,18 @@ Once the Ninja is generated, Calyx "leaves" the world of Rust and Rhai and just
681
681
Since we are in the dynamic world of Common Lisp, could actually have our system run inside of the "current" Common Lisp image itself.
682
682
Whether or not that is a good idea, remains to be seen.
683
683
684
+
** Driver Plan Serialization
685
+
fud2, the Calyx infrastructure's toolchain driver, is adding plan serialization and deserialization support.
686
+
I think this is a good idea, because it could let us bypass having to invoke the hypergraph-traversal in common cases.
687
+
For example, think of the common case where you are doing quick incremental development (fixing an error, recompiling, loop).
688
+
Traversing the hypergraph might be a very expensive operation (I don't know yet, but I imagine it will be).
689
+
In this quick case, it is unlikely that the chosen plan will change much, if at all.
690
+
By serializing and caching the plan that the hypergraph traversal found, we could make Chil's toolchain react much faster.
691
+
692
+
fud2 currently supports JSON and is planning on adding a custom language of their own, called flang.
693
+
In my case, I think the plan will just be an s-exp tree.
694
+
Converting the s-exp tree to JSON is relatively trivial and we do not need to do too much to create a parser for the language (just ~read~ the s-exps).
695
+
684
696
* Optimization
685
697
Within Chil, I would like to have an optimization framework for the higher-level language.
686
698
I am not sure how much optimization is possible in the long-run.
0 commit comments