Estimated hours taken: 0.5
Branches: main
Fix compilation problems in the extras distribution caused by recent
changes.
extras/stream/stream.m:
Provide a definition for the type stream/1.
extras/*/*.m:
Conform to the recent changes to the standard library.
Estimated hours taken: 0.2
Branches: main and 0.12
extras/xml/parsing.m:
extras/xml/tryit.m:
extras/xml/xml.ns.m:
extras/xml/xml.parse.m:
Fix errors in the xml parser due to the use of obsolete notation.
Estimated hours taken: 0.1
Branches: main, 0.12
extras/xml/parsing.m:
extras/xml/xml.parse.m:
Delete the type '' ---> '' and replace instances of
it in these files with the unit type from std_util.
The compiler no longer accepts the former type and
we aren't going to allow it in future anyway.
Estimated hours taken: 0.1
Branches: main, release
extras/xml/*.m:
Remove some non-abstract instance declarations from module
interfaces; the compiler no longer supports them.
Replace uses of ':' as a module qualifier.
Remove duplicate module imports.
Estimated hours taken: 0.5
Branches: main
Fix up some minor things in the extras distribution.
extras/cgi/Mmakefile:
Don't warn about mercury_www not exporting anything.
extras/complex_numbers/*.m:
Replace `:' as the module qualifier.
Use float.float/1 instead of the now obsolete
int.to_float/2.
extras/concurrency/midimon.m:
Replace `:' as the module qualifier.
extras/trailed_update/Mmakefile:
Don't warn about trailed_update not exporting anything.
extras/xml/*.m:
Replace `:' as the module qualifier.
Remove some unnecessary imports.
Put an underscore in front of an unused variable.
Estimated hours taken: 2
Branches: main
Add appropriate infrastructure to support doing `mmake depend && mmake
&& mmake install' in the `extras' directory, and having it automatically
install and build as much as possible.
extras/Mmakefile:
New file.
extras/cgi/Mmakefile:
Delete bogus reference to `ALL_LIBGRADES' and `mercury-config'.
extras/complex_numbers/Mmakefile:
extras/concurrency/Mmakefile:
extras/concurrency/concurrency.m:
extras/curses/Mmakefile:
extras/dynamic_linking/Mmakefile:
extras/lazy_evaluation/Mmakefile:
extras/lex/Mmakefile:
extras/moose/Mmakefile:
extras/xml/Mmakefile:
Add rules for `mmake install'.
extras/references/scoped_update.m:
Add macro guard around typedef in `c_header_code'.
extras/curs/Mmakefile:
extras/curses/Mmakefile:
Define MERCURY_BOOTSTRAP_H, to avoid name clash on `bool'
that is caused by our bootstrap code in runtime/Merucry.h.
extras/curs/curs.m:
Add `promise_pure' declarations for all pure procedures.
XXX Should this be needed? These predicates all take
io__state arguments.
Estimated hours taken: 1
NEWS:
library/io.m:
Add `io__input_stream_foldl', `io__input_stream_foldl_io'
and `io__input_stream_foldl2_io', which apply a predicate
to each character of an input stream in turn.
Add a new result type `io__maybe_partial_res' which is
used for operations which can return a partial result
like io__input_stream_foldl* and io__read_file.
tests/general/io_regression.m:
extras/xml/xml.cat.m:
extras/xml/xml.parse.m:
extras/xml/tryit.m:
extras/morphine/source/coverage_util.m:
Fix uses of io__read_file and io__read_file_as_string.
tests/general/Mmakefile:
tests/general/io_foldl.{m,exp}:
Test case.
Estimated hours taken: 3
Branches: main
Change the list constructor from `./2' to `[|]/2'. `./2' will
eventually become the module qualification operator.
library/parser.m:
library/io.m:
library/sparse_bitset.m:
library/std_util.m:
library/term_io.m:
compiler/mercury_to_mercury.m:
compiler/prog_io_dcg.m:
compiler/prog_io_goal.m:
compiler/prog_io_pragma.m:
compiler/prog_io_typeclass.m:
compiler/prog_io_util.m:
browser/interactive_query.m:
extras/moose/grammar.m:
extras/moose/moose.m:
extras/morphine/source/generate_call_site_cov.m:
extras/xml/xml.encoding.m:
samples/muz/higher_order.m:
tests/debugger/declarative/app.m:
tests/dppd/transpose_impl.m:
tests/hard_coded/ground_dd.m:
tests/hard_coded/split_c_files.m:
Change all references to `./2' to use `[|]/2' instead.
compiler/typecheck.m:
Handle `./2' as a special case in `report_error_undef_cons'.
Warn about module list not being imported if `[|]/2' is undefined.
compiler/llds_out.m:
util/mdemangle.c:
profiler/demangle.m:
Add name conversions for `[|]' (f_cons) and `[]' (f_nil).
NEWS:
doc/reference_manual.texi:
w3/tutorial/lists-n-things.m4:
Document the changes.
tests/debugger/{,declarative}/*.exp*:
Update test case results. For some tests the output changed
because they output lists in the non-pretty format. For others,
the output changed because the alphabetical ordering of the
constructors of type `list/1' changed, so the numbering of
the switch branches in the goal paths changed.
Estimated hours taken: 1
Branches: main
Improve the performance of the XML parser.
extras/xml/parsing.m:
Put some comments in explaining the performance problem and
its solution.
extras/xml/xml.parse.chars.m:
Change baseChar and friends so that the big combinator
expressions in them are static constants.
Estimated hours taken: 44
Add a module to turn an XML document into a namespace-aware XML document.
extras/xml/tryit.m
change the sample program to print out the new XML output
extras/xml/xml.m
add xml.ns.m to the wrapper module
extra/xml/xml.ns.m
the new module containing predicates to turn an XML document to a
namespace-aware XML document
Estimated hours taken: 1
Add a sample directory in the XML parser directory
extras/xml/README
update the README file
extras/xml/tryit.m
modify the file to print out all output messages as well as any
error messages
extras/xml/samples
a sample directory containing instructions on how to run the
parser and some sample files
extras/xml/samples/README
README file
extras/xml/samples/newsarticles.xml
sample XML file for running the XML parser
extras/xml/samples/newsarticles.dtd
sample DTD file for running the XML parser
extras/xml/samples/catalog
a catalog file
Estimated hours taken: 4
Optionally test the extras directory during bootchecks.
tools/bootcheck
Add an option, -e, for testing the extras directory. Rename the
-T/--test-only option as -n/--no-bootcheck, since it does not prevent
the testing of the extras.
Bootcheck only test the subdirectories in extras which have an
Mmakefile and which can be tested in all grades and in all setups.
extras/*/Mmakefile:
Updates to include extras/Mmake.params if it exists (to get the
parameters, including grades, of the bootcheck) and to add a check
target, which in most cases does not do anything yet (which means
that the only testing we do is checking that the program compiles
all right). Making "mmake check" do something meaningful will be
up to the authors of the various subdirectories involved.
In many cases, add .PHONY annotations on the relevant targets,
and copyright notices.
extras/aditi/NOBOOTTEST:
Prevent the automatic testing of the aditi subdirectory from
bootcheck, since this can be done only on a machine with Aditi
installed.
extras/aditi/NOBOOTTEST:
Prevent the automatic testing of the aditi subdirectory from
bootcheck, since this can be done only on a machine with Aditi
installed.
extras/aditi/NOBOOTTEST:
Prevent the automatic testing of this subdirectory from bootcheck,
since this can be done only on a machine with Aditi installed.
extras/dynamic_linking/NOBOOTTEST:
Prevent the automatic testing of this subdirectory from bootcheck,
since this can be done only on a machine with the dl library already
installed.
extras/logged_out/NOBOOTTEST:
Prevent the automatic testing of this subdirectory from bootcheck,
since this can be done only in grades with the right kind of stream
support.
extras/odbc/NOBOOTTEST:
Prevent the automatic testing of this subdirectory from bootcheck,
since this can be done only on a machine with ODBC installed.
extras/references/NOBOOTTEST:
extras/trailed_update/NOBOOTTEST:
Prevent the automatic testing of this subdirectory from bootcheck,
since this can be done only in trailing grades.
extras/*/.nocopyright:
Mention the NOBOOTTEST files in the relevant .nocopyright files.
Estimated hours taken: 100
Add an XML parser to the extras directory
extras/xml/README:
A short readme describing the parser.
extras/xml/Mmake:
The Mmake file for the sample program.
extras/xml/tryit.m:
A sample program that just parses the files named on the command line.
extras/xml/xml*.m:
The parser itself.
extras/xml/unicode.m:
A bunch of functions that return the unicode values for numerous ascii
symbols.
extras/xml/parsing.m:
The parsing combinator set used by the xml parser.