-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ derive ] Impement multi-stage algorithm for calculation of ordering #183
base: master
Are you sure you want to change the base?
Conversation
b26aa3e
to
305612e
Compare
5256b08
to
d9a3113
Compare
d9a3113
to
98535b1
Compare
1c1a3a8
to
0f4015b
Compare
1be2fa5
to
02fee24
Compare
Currently, we are choosing candidates of generation one by one, because the order matters: if we choose one of them, its generation can release more candidates, which can be more important than already existing candidates. It seems to be important that we would take GADT status of their type arguments into account. This would require us to analyse
Open question is to which |
b88ba55
to
f6e3603
Compare
f6e3603
to
aa16dbe
Compare
The newly suggested algorithm can be described in the following way. We consider a constructor and its arguments as a graph, nodes are arguments. Edges are of four sorts:
Forward determination goes from argument Strong back determination goes from argument You can consider an example of such a graph for the constructor We consider also already generated or otherwise present arguments. We start with the fact that given arguments are already present. We start a step with counting how many outgoing normal forward determination links go to already present (given or generated) arguments. The more the number, the higher the priority is assigned to this node. This priority also gets back along strong back determination, normal foward determination and strong forward determination edges (e.g. from After that we determine which edges to not have any incoming normal forward determination, strong forward determination or strong back determination edges. Among them we choose one with the highes priority and mark as generated all not yet generated nodes to which any forward detemination edge goes from the newly added. Then repeat the step until no not generated arguments left. |
No description provided.