mirror of
https://github.com/Mercury-Language/mercury.git
synced 2025-12-14 05:12:33 +00:00
The non-style changes include
- Replacing outdated information with up to date information.
- Deleting fully obsolete information, such as references to the IL backend.
- Replacing list entries that were just bare words or phrases
with full sentences, where this is useful.
- Improvements to make documents easier to read and understand.
However, the bulk of the diff consists of style changes. The initial main
of these changes are to eliminate, or at least reduce, inconsistencies
- between the styles of the different parts of each document, and
- between the styles of differents documents.
This applies both as they appear in a browser, and in the source .html file.
The main style changes are
- Add a vim mode line to each file.
- Do not specify a color for the page background; let the browser decide.
- Add a heading to the top of each page that echoes the title.
- Avoid SHOUTING in headings.
- Avoid the unneeded use of <hr>.
- Avoid the use of headings (e.g. h5) that are so low in the hierarchy that
browsers render them in a font that is *smaller* than the usual font.
- Replace definition lists with standard unordered lists
when the list items are not definitions.
- Replace ordered lists with standard unordered lists
when the list items have no meaningful order.
- Do not indent the contents of unordered lists, with the exception of
nested lists.
- Unless all entries in a list are extremely short,
do not try to put anything next to <li>.
- Fix violations reported by weblint.
compiler/notes/compiler_design.html:
The changes described above.
Explicitly introduce the notion of the middle end.
compiler/notes/bootstrapping.html:
Rewrite this almost from scratch.
compiler/notes/work_in_progress.html:
Rename the page to make it clear that these issues are NOT being
worked on.
compiler/notes/release_checklist.html:
compiler/notes/todo.html:
Note that these lists are quite out of date.
compiler/notes/allocation.html:
compiler/notes/analysis.html:
compiler/notes/bytecode.html:
compiler/notes/c_coding_standard.html:
compiler/notes/coding_standards.html:
compiler/notes/developer_intro.html:
compiler/notes/failure.html:
compiler/notes/gc_and_c_code.html:
compiler/notes/glossary.html:
compiler/notes/grade_library.html:
compiler/notes/index.html:
compiler/notes/interface_files.html:
compiler/notes/mlds_tail_recursion.html:
compiler/notes/overall_design.html:
compiler/notes/promise_ex.html:
compiler/notes/reviews.html:
compiler/notes/trailing.html:
compiler/notes/type_class_transformation.html:
compiler/notes/upgrade_boehm_gc.html:
compiler/notes/Mmakefile:
Add a target to run weblint on all the HTML files.
57 lines
1.7 KiB
HTML
57 lines
1.7 KiB
HTML
<!--
|
|
vim: ts=4 sw=4 expandtab ft=html
|
|
-->
|
|
|
|
<html>
|
|
<head>
|
|
<title>Changes that don't bootstrap</title>
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<h2>Changes that don't bootstrap</h2>
|
|
|
|
<p>
|
|
Sometimes changes need to be made to the Mercury system
|
|
that mean previous versions of the compiler
|
|
will no longer successfully compile the new version.
|
|
Such changes must be split into two parts, where
|
|
the first part adds to the compiler the capability needed by the second part.
|
|
<p>
|
|
Beside the new capability,
|
|
which may be a new feature or a fix for an old bug,
|
|
the first part should include a new user-visible name
|
|
for the compiler option named compiler_sufficiently_recent.
|
|
This name should include both
|
|
a brief description of the change
|
|
and the date on which the change is committed.
|
|
The option name --simplest-msg-2019-09-22 is an example.
|
|
<p>
|
|
When the first part is committed,
|
|
you should send an email asking all members of the Mercury team
|
|
to install the updated compiler version on the computers they use,
|
|
if this hasn't been done earlier (such as when the diff was sent for review).
|
|
Then you should wait until
|
|
<ul>
|
|
<li>
|
|
a new rotd is publically available for download which has the first part, or
|
|
<li>
|
|
everyone on the team has reported installing a new compiler, or
|
|
<li>
|
|
both.
|
|
</ul>
|
|
|
|
<p>
|
|
The second change should then include
|
|
an update of the test in configure.ac
|
|
for whether the compiler is sufficiently recent.
|
|
Specifically, you should add
|
|
the new name of the compiler_sufficiently_recent option added by the first part
|
|
to the option list with which that test invokes the Mercury compiler.
|
|
Since the presence of each such name in the compiler
|
|
implies the presense of all earlier names of that option as well,
|
|
you should delete those earlier synonyms from the option list at the same time.
|
|
|
|
</body>
|
|
</html>
|