Closed mtrberzi closed 9 years ago
Is it possible to get a rough high level view of the structure, something like pseudo UML? Would make it easier to understand the relations between everything.
As something visual that I had laying around, here's the expression graph for the following code:
xIn = primitive port Bool;
xOut = primitive port Bool;
xNot = primitive node (x : xIn) -> (xbar : xOut);
This includes all the major ExpressionVertex
types that ExpressionGraphBuilder
deals with. Hopefully seeing it work is a little easier to visualize than UML, but let me know if there's something else I can prepare to help you wrap your head around this one (I know that this is some difficult code to review so I'm ready to assist).
Oh, by the way, fixes #31.
Also fixes #16.
Also fixes #17.
Done my first review. Sorry about the zoo.
Logic looks good (AFAIK anyways, still a bit fuzzy on the whole thing), just a few minor nit picky things :bike:.
Fantastic first round of review, everyone! Thanks again. New commits are available.
I would like to submit this pull request for review, knowing that I am not done with it yet. There is a lot of code here, but finishing all of the features I have marked as TODO in the code would result in a PR of several thousand lines, and this is bad enough already.
ExpressionGraph
, which made horrible assumptions about the structure of the schematic that was being compiled and wouldn't work for anything except digital circuits.TypeChecker
is completely gone. All typing can be done dynamically through the expression graph, which has all the benefits of a static system while providing dynamic typing only where it is actually used.