Estimated hours taken: 0.3
Added Mmakefile for installing web docs.
mercury/compiler/notes/Mmakefile:
We need an Mmakefile to install these developer documents
into the webpages in the `developer' directory.
Estimated hours taken: 0.05
Add two new items to the TODO list.
compiler/notes/TODO:
- Add extended DCGs to wish list, and removing limitation on
monomorphic higher order terms to TODO list.
Estimated hours taken: 0.2
COMPILER_DESIGN:
Document modules mode_debug, modecheck_call and modecheck_unify.
Changed references to *.pp files since we don't use them any more.
Estimated hours taken: 2.5
Rewrite and clarify review policy.
compiler/notes/CODING_STANDARDS:
Remove most of the text on reviews, move it into REVIEWS.
Put in a reference to REVIEWS.
compiler/notes/REVIEWS:
New document, describes review procedures and policies.
Estimated hours taken: 0.25
compiler/notes/COMPILER_DESIGN
Updated now that common.m and excess.m are no longer separate passes.
compiler/notes/TODO
Remove duplicate call warning.
Estimated hours taken: 0.25
compiler/notes/CODING_STANDARDS:
Mention that people should review their changes themselves
before sending them to someone else to review.
Estimated hours taken: 2
ALLOCATION:
Revise the method of handling non-forward-live variables that are
needed at resumption points. Clarify what an "occurrence" means.
Estimated hours taken: 0.1
ALLOCATION:
Rename the cont_lives field in the new design to resume_point.
Since this field now gives not just the set of vars that must be
saved, but also determines how many (and which) labels the resumption
point will have, the new name is more descriptive. It also avoids
conflict with the name of the existing cont_lives field.
Estimated hours taken: 10
ALLOCATION:
A total rewrite of this document. It now describes the approach
we will take in rewriting some parts of the code generator.
Estimated hours taken: 0.75
notes/COMPILER_DESIGN:
Update to reflect the fact that expansion of equivalence types
is now in its own module, equiv_type.m.
Estimated hours taken: 0.5
notes/CODING_STANDARDS:
Add more detailed guidelines on layout of comments,
if-then-elses and type definitions. Mention that
language features such as functions shouldn't be used yet.
Estimated hours taken: 0.25
compiler/notes/TODO:
Update now that we've done a few things (type inference,
.mod files implemented using C interface, predicate overloading,
lookup-switches, warnings about unused arguments).
Estimated hours taken: 0.5
compiler/notes/MODULE_SYSTEM
Update the specification for the all-singing, all-dancing
module system to include a new `module_ops' symbol specifier,
after discussions with Peter Schachte.
Estimated hours taken: 4
compiler/notes/COMPILER_DESIGN:
Document the changes in the design of type-checking that were
needed to implement overload resolution for predicates with the
same name and arity that occur in different modules.
Estimated hours taken: 0.1
compiler/notes/RELEASE_CHECKLIST:
When building a release on a 64 bit machine, you must remember
to compile with `--num-tag-bits 2', so that the resulting C code
is portable to 32 bit machines.
Estimated hours taken: 0.1
compiler/notes/RELEASE_CHECKLIST:
Update the info about the ftp sites.
Add note to remember to put the NEWS stuff in the RELEASE_NOTES
file.
Estimated hours taken: 0.1
RELEASE_CHECKLIST:
Fix the reference to the location of the Mercury home page,
and specify passing an optimization level instead of separate
optimization flags as part of the build.
Estimated hours taken: 0.5
compiler/notes/CODING_STANDARDS:
Add some more stuff on
- when to update the NEWS file
- avoiding fixed limits
- error handling and error messages
Estimated hours taken: 0.1
compiler/notes/CODING_STANDARDS:
Any new compiler modules or other major design changes should
be documented in `compiler/notes/COMPILER_DESIGN'.
Estimated hours taken: 0.25
compiler/notes/RELEASE_CHECKLIST
Update the list of things to be done for a new release,
since this has changed since the last time.
Estimated hours taken: 0.5
compiler/notes/TODO:
Update to reflect recent progress.
compiler/notes/GLOSSARY:
Update the definition of `inst', since insts are now
more complicated than they were originally.
Estimated hours taken: 0.25
Update the design documentation to reflect the recent changes.
compiler/notes/COMPILER_DESIGN:
Document the new ordering of the different phases in the compiler,
and remove the XXX's now that they have been fixed.
Document that getopt.m is now part of the library, not the compiler.
Remove mention of debug*.m, since they don't exist anymore.
Estimated hours taken: 0.1
compiler/notes/CODING_STANDARDS:
Mention that CVS log messages should say why the change was done,
not just what the change was. (This change was done in the hope
that people will use more informative CVS log messages.)