On 10/09/2007, at 12:22 PM, Kish Shen wrote: > Kish Shen wrote: >>> >> The global priority system is far from ideal, but we have not been >> able to come up with something better, and we have thought about >> this for a long time. In the end, it seems to be better than what >> other CLP allows -- which I think is just basically a single >> priority for suspended goal, > > I should have added: we would be very interested in hearing ideas > about how to have a better priority system, which > > a) can be used across different modules (i.e. libraries), without > the user needing to know what priorities are used elsewhere > b) be implemented efficiently I can see that it is a non-trivial problem. The beginnings of a solution might be: 1) Each module has a local priority-based system, along the lines of what already exists, but with an open ended range (no arbitrary cut off at 12). 2) Programmers can explicitly create a partial ordering by stating how this module related to others, either higher or lower. 3) The command-line is always the bottom. It has no numeric priority. This would encourage encapsulation, and the priorities of everything in a module would not be open to inspection, nor would they need to be. I imagine you would typically include ordering statements alongside your imports, stating that the imported modules have higher precedence. It would also give the programmer a lot more room to move within individual modules. Could this be implemented efficiently? I'm not sure. It depends on how efficient you need it to be. Malcolm -- "The act of defending any of the cardinal virtues has today all the exhilaration of a vice." - G.K.Chesterton A Defense of HumilityReceived on Mon Sep 10 2007 - 03:41:12 CEST
This archive was generated by hypermail 2.2.0 : Thu Feb 02 2012 - 02:31:58 CET