|
From: <fra...@us...> - 2009-07-30 13:04:59
|
Revision: 1791
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1791&view=rev
Author: frankrimlinger
Date: 2009-07-30 13:04:50 +0000 (Thu, 30 Jul 2009)
Log Message:
-----------
Introduced "relative minimum" type of an item, which means a type that is minimal over the set of types of an item. This is different from "minimal type", which means a type that is minimal over the set of all types. An item always has a relative minimum type provided it has at least one type. This gets around the problem of which type to declare as "the" type during parametrization, because by definition such an item has at least one type. In order to avoid parametrizing all <predicate>s, introduced the type <defeatParametrization>. Any item which has assigned type <defeatParametrization> will not be parametrized, regardless of whether or not it is a parameter. Accordingly, 't and 'f are now initialized with <defeatParametrization>.
A type may now optionally be bound to a "parametrizationScore". In the event of multiple relative minimums for an item, the one returned by FormalTypes.getRelativeMinimum() will have lowest score. Eventually we may just have to persistently store *all* the minimal types for a parameter, but for now we see how it goes.
In progress.
Modified Paths:
--------------
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashTyping.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/FormalTypes.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|