[cvs-nhc98] cvs commit: hat/src/hattools Detect.hs detectutils.c parentset.c
parentset.h HatDetect.hs Makefile
Malcolm Wallace
malcolm@glass.cse.ogi.edu
Sun, 4 May 2003 07:55:44 -0700
malcolm 2003/05/04 07:55:43 PDT
Modified files:
src/hattools HatDetect.hs Makefile
Added files:
src/hattools Detect.hs detectutils.c parentset.c
parentset.h
Log:
Make hat-detect work again, using the new file format for hat versions >= 2.00.
This preliminary re-implementation of hat-detect is not yet fully
featured. It allows answering questions yes or no, but does not yet
support "maybe". Nor does it support memoisation of previously-seen
answers.
However, it does deal (nearly) correctly with asking about the
application of trusted functions. A trusted application should not be
asked as a question unless it has suspect children - the vast majority
of trusted applications do not, but it is expensive to determine
accurately. In fact, we use an approximation to determine whether
the trusted application has untrusted children. Rather than searching
the whole file looking for such children, we reason that the only way
for such children to arise is in a higher-order application where the
untrusted function is passed as an argument. Thus, when determining
the trustedness of the function symbol, we simply extend the check a
little to determine the trustedness of all function symbols within the
(most evaluated form of the) arguments as well.
Revision Changes Path
1.21 +325 -330 hat/src/hattools/HatDetect.hs
1.59 +34 -36 hat/src/hattools/Makefile