Commit Graph

16 Commits

Author SHA1 Message Date
Paul Bone
6f5c716a08 Clearly explain what part of partial instantiation isn't supported.
In (at least) two places we say that partial instantiation doesn't work or
isn't supported.  This has raised confusion so this patch attempts to
explain what exactly is unsupported and why.

doc/reference_manual.texi:
library/list.m:
LIMITATIONS:
    As above.

library/list.m:
    Delete deprecated modes.

    Move partial instantiation states and modes into a private interface
    section.  Note all of the instantiation states are partial, some can be
    safely used for subtyping so I've left those where they are.

LIMITATIONS:
    Include Zoltan's explanation of why this doesn't work for our future
    selves and others.
2014-03-18 11:55:18 +11:00
Julien Fischer
0669103a29 Update more web and email addresses.
LIMITATIONS:
doc/mercury.info.in:
	As above.
2013-04-29 15:36:42 +10:00
Julien Fischer
576600811f Prepare for the 0.13 release and fix/update documentation.
Estimated hours taken: 1
Branches: main, release

Prepare for the 0.13 release and fix/update documentation.

NEWS:
HISTORY:
	Update the NEWS and HISTORY files for the 0.13 release.

RELEASE_NOTES:
	s/0.12/0.13/

	Add Linux/x86_64 to the list of architectures supported by this
	release.

	Remove Solaris 8/x86 from the same list.

.README.in:
extras/README:
	Remove references to the clp(r) binding.  We no longer support it.

bindist/bindist.README:
	Update the year in the copyright message.

	Fix the gc version; 0.13 uses 6.5.

BUGS:
README.DotNet:
README.Java:
README.gcc-backend:
doc/faq.texi:
doc/make_manpage:
doc/mercury.html.in:
doc/mercury.info.in:
	s/.cs.mu.oz.au/.csse.unimelb.edu.au/

library/array.m:
library/builtin.m:
library/eqvclass.m:
library/graph.m:
samples/README:
	Fix typos.
2006-09-07 08:32:20 +00:00
Fergus Henderson
731ae2051f Allow a predicate to have matching cc' and non-cc' modes.
Estimated hours taken: 3

Allow a predicate to have matching `cc' and `non-cc' modes.

compiler/det_analysis.m:
	If there is a call to a cc procedure in a non-cc context,
	then search for a mode of that predicate which is
	identical to the called mode except that it is not cc.
	If such a mode is found, use it, rather than reporting
	an error.

compiler/modecheck_call.m:
	Add predicate modes_are_identical_bar_cc, for use by
	det_analysis.m.

NEWS:
LIMITATIONS:
doc/reference_manual.texi:
	Document the new feature and delete documentation about the
	lack of this feature.

tests/hard_coded/Mmakefile:
tests/hard_coded/cc_and_non_cc_test.m:
tests/hard_coded/cc_and_non_cc_test.exp:
	Add a test case for the new feature.
1998-05-30 15:23:14 +00:00
Fergus Henderson
215d9fefff Change the way mode analysis chooses which mode of a predicate to call.
Estimated hours taken: 6

Change the way mode analysis chooses which mode of a predicate to call.
If there are multiple matching modes, choose the best one, rather
than just the first one.  "Best" is determined by comparing the
argument insts and livenesses, and (if that fails) determinism
of all the modes which do match.  If two modes are equal, or
incomparable, in this partial ordering, we choose the first one
(according to the order in which they were declared).

Still to do (will be committed seperately): delete the hacks in make_hlds.m
etc. that assign mode numbers with a priority based on determinism.

compiler/modecheck_call.m:
	For calls to predicates with multiple modes, find all the modes
	which match and select the best one, rather than just picking
	the first one that matches.

compiler/det_report.m:
	Export compare_determinism/3, for use by modecheck_call.m.

NEWS:
LIMITATIONS:
	We've fixed one of the limitations: unique mode declarations
	no longer have to precede non-unique mode declarations.

tests/hard_coded/Mmake:
tests/hard_coded/mode_choice.m:
tests/hard_coded/mode_choice.exp:
	Some tests cases for this change.
1997-10-15 07:39:45 +00:00
Fergus Henderson
e597d7e3fd Update the documentation in preparation for the next release.
Estimated hours taken: 0.5

Update the documentation in preparation for the next release.

NEWS:
	Move the "Work in Progress" section to a separate file.
	Make the typography more consistent.  Various minor cleanups.

WORK_IN_PROGRESS:
	New file, containing a cleaned up version of the
	"Work in Progress" section from the NEWS file.

BUGS, LIMITATIONS:
	Minor wording changes.
1997-07-27 16:34:37 +00:00
Fergus Henderson
7893e09ea1 Update the documentation in preparation for the next release.
Estimated hours taken: 0.5

Update the documentation in preparation for the next release.

BUGS:
	Remove entries for bugs that we have fixed.
	Point out that the bug with profiling & shared libraries
	on DEC Alpha is Digital's fault, not ours.

LIMITATIONS:
	Remove the entry for a limitation that we have fixed
	(module qualifiers are fully implemented now, I think).
	Add a brief remark about limitations in type and mode inference.

README:
	Mention man pages, README.Linux, and README.MS-Windows.
	Mention copyright on extras/graphics/Togl-1.2.
	Remove mention of copyright on runtime/timing.c.

INSTALL:
	Fix a mistake (`mmake install_opt_library' should have been
	`mmake install_split_library').
	Update the list of architectures for which we support gcc global
	registers.
1997-07-26 13:53:28 +00:00
Tyson Dowd
56979ec94c Allow the names of higher order types to be generated.
Estimated hours taken: 5

Allow the names of higher order types to be generated.

LIMITATIONS:
	Document limitations introduced by this change.

compiler/polymorphism.m:
	Map higher order predicates to pred/0 and functions to func/0.

library/mercury_builtin.m:
	Move base_type_* for pred/0 out of library (into runtime).

library/std_util.m:
	Check for pred/0 and func/0 when comparing type infos.
	Create different ctor_infos for higher order preds, decode them
	correctly for args and functors when needed.
	Print functions nicely (eg func(foo) = bar).
	Fix ML_create_type_info so it works correctly with higher order
	types.

runtime/type_info.h:
	Define macros to deal with new representation of higher order
	ctor_infos.

runtime/deep_copy.c:
	Fix make_type_info so it works correctly with higher order
	types.

runtime/Mmakefile:
runtime/type_info.mod:
	Add definitions for pred/0 and func/0 in runtime, they are
	needed by deep copy.

tests/hard_coded/Mmake:
tests/hard_coded/higher_order_type_manip.exp:
tests/hard_coded/higher_order_type_manip.m:
	Test case for this change.
1997-07-16 15:57:00 +00:00
Fergus Henderson
dd3b39ba11 The C interface is no longer a limitation ;-)
Estimated hours taken: 0.1

LIMITATIONS:
	The C interface is no longer a limitation ;-)
1996-12-20 17:36:52 +00:00
Fergus Henderson
8daae207bb Remove the mention of limitations on call/N, since those
Estimated hours taken: 0.5

LIMITATIONS:
	Remove the mention of limitations on call/N, since those
	limitations are now fixed.

NEWS:
	Explain functional syntax a bit more.
	Add note mentioning that the limitations on call/N have been fixed.
1996-05-05 04:46:28 +00:00
Tyson Dowd
e061fdcbfe Add documentation of one of the current limitations.
Estimated hours taken: 0.0833

Add documentation of one of the current limitations.

mercury/LIMITATIONS:
	Add documentation of the limitation that call/N arguments have
	input before output arguments.
1996-01-24 05:06:48 +00:00
Fergus Henderson
04a9d8d75f Mention a few more of the limitations of the current implementation.
Estimated hours taken: 0.25

mercury/LIMITATIONS:
	Mention a few more of the limitations of the current implementation.
1996-01-22 13:58:29 +00:00
Zoltan Somogyi
4df01772b0 Added missing date for 0.3.
HISTORY:
	Added missing date for 0.3.

LIMITATIONS, RELEASE_NOTES:
	Fixed spelling errors.
1995-09-10 06:52:28 +00:00
Fergus Henderson
5635b0b318 Update for version 0.4.
RELEASE_NOTES:
	Update for version 0.4.
	Include the NEWS file, reformatted slightly.

NEWS:
	Reformatted slightly to match the copy in RELEASE_NOTES.

LIMITATIONS:
	A few minor changes.
1995-09-09 08:18:03 +00:00
Fergus Henderson
5c8d8c85a8 Add a list of the major changes since 0.3.
NEWS:
	Add a list of the major changes since 0.3.

LIMITATIONS:
	Higher-order predicates are now implemented properly.
1995-08-27 18:11:30 +00:00
Fergus Henderson
006451ead1 Add a file documenting the limitations of the current Mercury system. 1995-06-30 04:45:52 +00:00