Commit Graph

23 Commits

Author SHA1 Message Date
Simon Taylor
46aba37738 Remove a stray `%'.
Estimated hours taken: 0.1

library/relation.m:
	Remove a stray `%'.
	-       % symmetric closure % is the same as turning
	+       % symmetric closure is the same as turning
1999-03-16 01:52:02 +00:00
Andrew Bromage
9d58fa5725 relation__rtc was just plain broken. Rather than try to fix an
Estimated hours taken: 3

relation__rtc was just plain broken.  Rather than try to fix an
algorithm which I pulled out of an obscure paper some years ago, it's
now replaced with a slightly less efficient algorithm which is much
easier to understand.

library/relation.m:
	Changes detailed above.

tests/Makefile:
tests/rtc_bug.m:
tests/rtc_bug.exp:
	Test case for the above change.

tests/relation_test.m:
tests/relation_test.exp:
	Change in output format to make debugging easier.
1998-03-26 00:43:41 +00:00
Fergus Henderson
39472195ec Add new predicate relation__add_values.
Estimated hours taken: 2

library/relation.m:
	Add new predicate relation__add_values.
	Implement the previously commented-out predicates
	relation__from_assoc_list and relation__compose.
	Change relation__to_assoc_list so that it returns
	an assoc list of values rather than an assoc list
	of relation_keys.

NEWS:
	Document the above changes.

tests/general/Mmakefile:
tests/general/relation_test.m:
tests/general/relation_test.exp:
	Add a few tests of the relation module.
1998-03-12 21:11:30 +00:00
Fergus Henderson
7cb525fde3 Undo Zoltan's bogus update of all the copyright dates.
Estimated hours taken: 0.5

library/*.m:
compiler/*.m:
	Undo Zoltan's bogus update of all the copyright dates.
	The dates in the copyright header should reflect the years
	in which the file was modified (and no, changes to the
	copyright header itself don't count as modifications).
1998-01-23 12:33:43 +00:00
Zoltan Somogyi
9ae7acc593 Update all the copyright dates for 1998.
Estimated hours taken: 0.5

library/*.m:
	Update all the copyright dates for 1998.
1998-01-13 10:01:32 +00:00
Andrew Bromage
94e805b0f2 Bug fix: When computing an RTC, ensure that the new relation
Estimated hours taken: 0.2

library/relation.m:
	Bug fix: When computing an RTC, ensure that the new relation
	being created has the correct domain information by copying
	this from the old relation, as opposed to just leaving it
	blank.
1997-08-25 06:12:30 +00:00
Fergus Henderson
04b720630b Update the copyright messages so that (a) they contain the correct years
and (b) they say "Copyright (C) ... _The_ University of Melbourne".
1997-07-27 15:09:59 +00:00
Fergus Henderson
bd4f0a839b Wrap long lines, to avoid formatting problems in the
Estimated hours taken: 1

library/*.m:
	Wrap long lines, to avoid formatting problems in the
	automatically-generated library reference manual.
1997-07-25 03:44:47 +00:00
Tyson Dowd
cbcb23d17b Enable --warn-interface-imports by default.
Estimated hours taken: 3

Enable --warn-interface-imports by default. This was turned off while
list and term were defined in mercury_builtin.m, since it caused many
warnings.

Fix all the unused interface imports that have been added since then.

compiler/options.m:
	Enable --warn-interface-imports by default.

compiler/module_qual.m:
	Fix formatting inconsistencies with module names in warning
	messages. (".m" was not appended to module names if there was
	only one module).

compiler/*.m:
library/*.m:
tests/invalid/type_loop.m:
tests/warnings/*.m:
	Remove usused interface imports, or move them into
	implementation (mostly bool, list and std_util).
1997-05-21 02:16:53 +00:00
Fergus Henderson
cf28eaab0d Rename some predicates to avoid the use of `foo__bar' where
Estimated hours taken: 0.5

library/term.m:
library/relation.m:
	Rename some predicates to avoid the use of `foo__bar' where
	`foo' is not a module name.
1997-02-06 23:09:44 +00:00
Andrew Bromage
6a282f339e Improved algorithm for relation__atsort/2 (Tarjan's algorithm)
Estimated hours taken: 0.5

library/relation.m:
	Improved algorithm for relation__atsort/2 (Tarjan's algorithm)
1996-11-17 23:15:55 +00:00
Andrew Bromage
0fdd0bcf49 Design change to relation.m to fix a MAJOR shortcoming.
Estimated hours taken: 5

Design change to relation.m to fix a MAJOR shortcoming.  Relations
now require the domain to be entered explicitly
fixes a known bug where performing a topological sort in certain
situations resulted in not all elements appearing in the sort.

compiler/relation.m:
	Added:
		Type relation_key/0.

		relation__search_element/3, relation__add_element/3,
		relation__lookup_element/3, relation__search_key/3,
		relation__lookup_key/3

	Updated to use relation_keys:
		relation__add/4, relation__add_assoc_listi/4,
		relation__remove/4, relation__remove_assoc_list/3,
		relation__lookup/3, relation__reverse_lookup/3,
		relation__lookup_from/3, relation__lookup_to/3,
		relation__to_assoc_list/2, relation__dfs/3,
		relation__dfsrev/3, relation__dfs/2, relation__dfsrev/2,
		relation__dfs/5, relation__dfsrev/5, relation__components/2,
		relation__cliques/2
1996-10-21 02:00:51 +00:00
Peter Ross
19f7e0f34a Clear up documentation of new predicates that I introduced.
Estimated hours taken: 0.25


library/relation.m:
	Clear up documentation of new predicates that I introduced.
1996-04-22 02:36:02 +00:00
Peter Ross
ca166149e3 Changes to the interface of the relation module so that one can use a
Estimated hours taken: 0.5

Changes to the interface of the relation module so that one can use a
depth first search in a more flexible manner.


library/relation.m:
	Added predicate relation__dfs/5 and relation__dfsrev/5 which allows one
	to do a dfs from a node with a with certain nodes marked as visited.

	Moved relation__dfs/2 and relation__dfs/2 to the interface.  These
	return a dfs ordering of a relation.
1996-04-20 09:26:39 +00:00
Peter Ross
14df15c917 Debug and fix of relation__cliques.
Estimated hours taken: 10

Debug and fix of relation__cliques.

library/relation.m:
	Changed relation__dfs so that it does its depth first search in
	the manner relation__cliques expects.
	Added relation__is_dag which tests if a relation is a dag.
1996-03-21 08:11:23 +00:00
Peter Ross
f16580bdfb New implementation of the identification of stronly connected
Estimated hours taken: 3

relation.m
	New implementation of the identification of stronly connected
	components.  Improves the speed of the profiler by about a factor
	of 2.

	See relation__cliques for details of the algorithm.
1995-11-30 02:59:38 +00:00
Zoltan Somogyi
3d06567878 Add some new predicates for the excess assignment pass.
varset:
	Add some new predicates for the excess assignment pass.

std_util, assoc_list:
	Move predicates for associative lists to a new module.

*.m:
	Import assoc_list.
1995-10-27 09:40:19 +00:00
Fergus Henderson
fa5226ee67 Improve the documentation.
library/*.m:
	Improve the documentation.
	Add a "Stability: low/medium/high" comment to all modules,
	which describes the stability of the interface to that module.

ops.m:
	Add `:' as an infix operator.

require.m:
	Implement require/1, since higher-order predicates now work.

term.m:
	Use the type `comparison_result' from mercury_builtin.m,
	rather than defining an identical type `comparison'.
1995-10-05 11:31:52 +00:00
Andrew Bromage
5fc0cecf41 Some cleanups and documentation fixes. 1995-07-17 00:01:56 +00:00
Andrew Bromage
b1f320d221 Bug fix in topological sort code. (Read: complete rewrite) 1995-06-21 00:01:43 +00:00
Fergus Henderson
2bbffbe113 Fix NU-Prolog incompatibility.
library/relation.m:
	Fix NU-Prolog incompatibility.
	Remember to put spaces in between your operators!
1995-06-20 01:32:43 +00:00
Andrew Bromage
d8abadd5d6 Improved TC algorithm. 1995-06-16 07:02:48 +00:00
Andrew Bromage
0bf22b26de Binary relation module added. 1995-06-13 04:24:13 +00:00