Commit Graph

46 Commits

Author SHA1 Message Date
Thomas Conway
d6798de1c9 Convert
Estimated hours taken: 0.5

library/*.m:
	Convert
		:- pragma(c_code, ...
	to
		:- pragma c_code(...

	and introduce will_not_call_mercury in places where it is implicit
	(this is in preparation for changing the default to may_call_mercury).
1998-08-03 00:19:49 +00:00
Zoltan Somogyi
67d8308260 Same as previous message. 1998-04-08 11:36:13 +00:00
Thomas Conway
a233f22598 mention the changes to map and tree234.
Estimated hours taken: 0.5

NEWS:
	mention the changes to map and tree234.

library/map.m:
	added map__foldl/4 and map__map_values/3 which forward to the
	corresponding predicates in tree234.

library/tree234.m:
	implement tree234__foldl and tree234__map_values.
1998-03-31 23:16:29 +00:00
Tyson Dowd
b53dc4132f Fix comments about bounds checking - the "maximum" performance
Estimated hours taken: 0.2

library/array.m:
	Fix comments about bounds checking - the "maximum" performance
	recommendation can be improved by compiling the entire
	module with bounds checking off, not just the bits that
	get intermodule-optimized.
1998-01-30 05:59:40 +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
Tyson Dowd
f9170a0563 Add library and runtime support for stack layouts.
Estimated hours taken: 30

Add library and runtime support for stack layouts.

library/array.m:
library/benchmarking.m:
library/mercury_builtin.m:
library/std_util.m:
library/string.m:
runtime/mercury_engine.c:
runtime/mercury_ho_call.c:
runtime/mercury_type_info.c:
	Add MR_MAKE_STACK_LAYOUT_* macros to add basic stack layouts for
	handwritten C code.

runtime/mercury_type_info.c:
	Remove some duplicate label declarations.

runtime/mercury_calls.h:
	Don't use ASM_FIXUP_REGS in calls with NATIVE_GC - we don't
	want (or need) to use it. We define all labels as entry labels
	anyway, so an ASM_FIXUP_REGS is done at each label.

runtime/mercury_label.c:
runtime/mercury_label.h:
runtime/mercury_goto.h:
	Insert references to stack layouts into the label table.
	Use the label table when NATIVE_GC is defined.
	Modify the way labels are declared so they have the necessary
	scope.

runtime/mercury_imp.h:
	Include mercury_accurate_gc.h

runtime/mercury_accurate_gc.h:
	Add some macros to define stack layouts for handwritten
	code, and access various fields of the stack layouts.

util/mkinit.c:
	Add NATIVE_GC to the #ifdef .... that controls the running of
	the initialization code for each module. NATIVE_GC requires the
	label table to be initialized.
	Fix this code so the two instances of this list of #defines are
	replaced by a single string constant. I've been bitten _twice_
	by this double definition, and I refuse to be bitten again.

compiler/stack_layout.m:
	Rename MR_LIVE_LVAL to Mr_Live_Lval in the documentation.
1997-12-03 07:05:13 +00:00
Fergus Henderson
8f3eaa6835 Put code for array bounds checking inside
Estimated hours taken: 0.25

library/array.m:
	Put code for array bounds checking inside
	`#ifndef ML_OMIT_ARRAY_BOUNDS_CHECKS', so that the user
	can disable array bounds checking.
1997-11-02 12:30:23 +00:00
Fergus Henderson
06e476c165 A few small changes towards supporting backtrackable destructive update
Estimated hours taken: 1

A few small changes towards supporting backtrackable destructive update
better.

library/mercury_builtin.m:
	Add new insts mdi/1 and mostly_dead/0.

library/array.m:
	Change the name of the inst for unique arrays
	from `array' to `uniq_array' (someone got over-enthusiastic
	with global search and replace when uniq_array.m was
	renamed array.m).
	Add insts for non-unique arrays and mostly-unique arrays.

library/bt_array.m:
	Add a comment.
1997-09-06 18:23:40 +00:00
Fergus Henderson
77c26e442f Wrap a long line, to avoid a formatting problem in the
Estimated hours taken: 0.1

library/array.m:
	Wrap a long line, to avoid a formatting problem in the
	printed library reference manual.
1997-07-28 12:07:36 +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
5fa09a81be Move `:- import_module std_util' declaration into the
Estimated hours taken: 0.1

library/array.m:
	Move `:- import_module std_util' declaration into the
	interface, since it's needed there for the type `maybe(T)'
	used by array__bsearch.
1997-07-27 12:38:15 +00:00
Fergus Henderson
fd804f25ef Fix a warning: remove unnecessary `:- import_module term'.
Estimated hours taken: 0.1

library/array.m:
	Fix a warning: remove unnecessary `:- import_module term'.
1997-07-26 20:00:47 +00:00
Fergus Henderson
016519938d Remove definitions for type_to_term and term_to_type for arrays.
Estimated hours taken: 0.25

library/array.m:
	Remove definitions for type_to_term and term_to_type for arrays.
	That is now done in term.m.
1997-07-26 10:14:14 +00:00
Andrew Bromage
c485413c8c The main purpose of this change is to rename array.m as bt_array.m, and
Estimated hours taken: 6

The main purpose of this change is to rename array.m as bt_array.m, and
uniq_array.m as array.m.  The interfaces of those two modules have grown
slightly so that they match a little more closely.  Details are in the
file NEWS.

The implementation of bt_array (formerly array) has been changed to use
a slightly more efficient implementation.

NEWS:
	Interface changes documented.

library/array.m:
library/bt_array.m:
	Changes mentioned above and detailed in the NEWS file.

library/uniq_array.m:
	Bereft of life and resting in peace.

library/io.m:
library/library.m:
library/std_util.m:
library/term.m:
compiler/base_type_layout.m:
runtime/deep_copy.c:
runtime/type_info.h:
	Minor changes to fix the special case of base_type_layout
	operations for arrays rather than uniq_arrays.

tests/hard_coded/write.exp:
tests/hard_coded/write.m:
	Test writing of arrays.

tests/general/array_test.exp:
tests/general/array_test.m:
	Test some array/bt_array operations.
1997-07-25 05:15:17 +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
915c78a626 Remove an obsolete comment about call/N not supporting procedures
Estimated hours taken: 0.25

library/array.m:
library/uniq_array.m:
	Remove an obsolete comment about call/N not supporting procedures
	with output arguments preceding input arguments.
1997-05-06 07:47:30 +00:00
Andrew Bromage
cb84bd7b64 Fixed some stuff in array.m.
Estimated hours taken: Not much at all. :-)

Fixed some stuff in array.m.

library/array.m:
	Moved array__fetch_items into the interface.  Some general
	cleanups of the documentation.
1995-10-29 03:55:13 +00:00
Andrew Bromage
6956d4dfe2 Added array__bsearch.m 1995-10-09 01:57:04 +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
Fergus Henderson
21fd6b777d Fix NU-Prolog incompatibility: `X1 is X+1' must be written
library/array.m:
	Fix NU-Prolog incompatibility: `X1 is X+1' must be written
	as `X1 is X + 1'.
1995-05-26 05:53:31 +00:00
Andrew Bromage
a491eb4885 Added array__semidet_lookup. 1995-05-25 04:35:02 +00:00
Andrew Bromage
87940a2ce5 The new array module. 1995-05-25 01:39:43 +00:00
Andrew Bromage
8fb60b9b54 Fixed bug in array 1995-05-24 05:32:21 +00:00
Andrew Bromage
438aa27bfa Zero-length arrays now allowed 1995-05-24 05:30:09 +00:00
Fergus Henderson
93a755d563 Add copyright notices.
library/*:
	Add copyright notices.
1995-03-28 16:19:34 +00:00
Fergus Henderson
a38c689f1d Insert a missing `:- interface' declaration.
array.nl:
	Insert a missing `:- interface' declaration.
1995-01-18 11:36:08 +00:00
Thomas Conway
6a2c0aad85 array.nl : fix the bug fjh pointed out
inlining.nl:	minor bugfix.
1995-01-06 22:33:39 +00:00
Fergus Henderson
d8c9479872 Override the MERCURY_LIB_OBJS variable when invoking ml.
Makefile.mercury:
	Override the MERCURY_LIB_OBJS variable when invoking ml.
	This avoids some bootstrapping problems.
	Also, add mercury_compile.nu.

Makefile.common:
	Bump NU-Prolog's -u option up to 2000 (8M), to avoid some memory
	problems.

array.nl, bintree.nl, char.nl, dir.nl, globals.nl, list.nl, map.nl, modes.nl,
prog_util.nl, stack.nl, std_util.nl, string.nl, term.nl:
	Avoid the use of implied modes.

code_info.nl, bimap.nl, make_hlds.nl, mercury_compile.nl,
mercury_to_mercury.nl, unify_proc.nl:
	Fix determinism errors which had previously not been discovered
	because of either implied modes or running out of memory.
	(Note that I had to change the interface to bimap__lookup, since
	it's not possible to make it bidirectional.)

code_util.nl, llds.nl, opt_debug.nl, value_number.nl:
	Rename `operator' as `binary_op'.

hlds.nl, code_info.nl, unify_gen.nl, llds.nl, opt_debug.nl, switch_gen.nl:
	*** Handle simple cases of higher-order pred terms. ***
	(We don't yet handle taking the address of an overloaded
	predicate or a predicate with multiple modes.
	We don't handle closures.  call/1 and call/N are not yet implemented.
	This has not yet been tested.)

make_hlds.nl:
	Modify the mode priority ordering so that semidet modes get
	selected before det ones.

llds.nl:
	Don't include the priority part of the mode number in the mangled
	label name.  *** Note: this will break some things! ***

mercury_compile.nl:
	Move the NU-Prolog hacks into mercury_compile.nu.nl.

switch_gen.nl:
	Fix a simple logic bug in handling the grab/slap of the code_info.

prog_io.nl, builtins.nl, int.nl:
	Fix bugs and omissions with handling of the new arithmetic operators.

prog_io.nl:
	As a quick hack, strip off calls to io__gc_call
	(this avoids spurious error messages which are due to
	the fact that we don't get mode analysis right in those cases).
1994-10-02 17:00:57 +00:00
Fergus Henderson
63032a0bca Fix determinism problem (very slight efficiency improvement
array.nl:
	Fix determinism problem (very slight efficiency improvement
	at the same time).
1994-07-06 06:07:20 +00:00
Thomas Conway
988c1ecbcb Improved the code. Added array__resize.
array.nl:
	Improved the code. Added array__resize.

call_gen.nl code_gen.nl code_info.nl switch_gen.nl unify_gen.nl:
	Made a start towards abstracting "tag tests".

hlds.nl hlds_out.nl liveness.nl modes.nl code_gen.nl:
	Fixed the "before" and "after" liveness problem.
1994-06-22 15:02:46 +00:00
Fergus Henderson
94d9c1abb9 Use det_pred(...), semidet_pred(...), nondet_pred(...)
mercury_builtin.nl:
	Use det_pred(...), semidet_pred(...), nondet_pred(...)
	rather than call_pred(...) for the higher-order predicate modes.

prog_io.nl, io.nl, varset.nl, etc.
	Add determinism annotations.

hlds.nl, make_hlds.nl, LOTS of other files:
	Reorganize the way the predicate table works.
	Make hlds.nl a bit more modular.
	Change call/4 to call/5.
	Remove all/2 from the hlds.
	Changed pred_id to an integer.
	Added pred_call_id which is similar to the old pred_id.

Makefile:
	Add a rule for creating *.hlds_dump.

array.nl:
	Fix determinism error.

det_analysis.nl:
	Fix a bug in printing determinism warnings.

fix_errors.sed:
	Modify this so it allows all the `inferred nondet' determinism
	errors but none of the `inferred semidet' ones.

llds.nl:
	Rename llds__pred_mode_id as llds__proc_id.

mode_errors.nl:
	Finally got around to implementing Zoltan's suggestions
	about the error messages from the mode analysis.
	If an error occurs in a conjunction, only one error message
	is printed out - the first error which doesn't relate to
	a head unification.

modes.nl:
	Handle X = f(X) properly.  NB: determinism analysis and code
	generation still get it wrong!

undef_modes, undef_insts:
	I've broken the error message code, since it's not easy
	to print pred_ids.  I just changed it so that it didn't
	print the pred_ids out.  Should fix this properly at some stage...
1994-06-14 14:23:52 +00:00
Thomas Conway
b0d87c4f1c various changes. Added switch_gen.nl renamed the other codegen
Makefile:
	various changes. Added switch_gen.nl renamed the other codegen
	files to fit the naming conventions.
array.nl:
	added some determinism declarations.
bimap.nl:
	fixed some of the determinism problems.
doit.nl:
	minor changes.
hlds.nl:
	added liveness to the procinfo structure.
	added access predicates and type definition for liveness_info.
hlds_out.nl, modes.nl:
	patched the explicit usage of proc/11. for the above change.
int.nl:
	fixed it so that it compiles under mc!
map.nl, set.nl, term.nl:
	fixed determinism warnings.
toplevel.nl:
	import code_info.
various:
	file renaming to fit naming conventions.
1994-06-09 07:31:45 +00:00
Fergus Henderson
8bf2aacf0b Rename a whole bunch of predicates.
*.nl:
	Rename a whole bunch of predicates.
	Apart from some manual changes to list.nl, the changes
	were all generated by applying the following sed script:

/[^a-zA-Z_]goedel_expand(/s/goedel_expand(/prog_util__expand(/g
/[^a-zA-Z_]goedel_replace(/s/goedel_replace(/prog_util__replace(/g
/[^a-zA-Z_]to_upper(/s/to_upper(/char__to_upper(/g
/[^a-zA-Z_]to_lower(/s/to_lower(/char__to_lower(/g
/[^a-zA-Z_]is_upper(/s/is_upper(/char__is_upper(/g
/[^a-zA-Z_]is_lower(/s/is_lower(/char__is_lower(/g
/[^a-zA-Z_]is_alpha(/s/is_alpha(/char__is_alpha(/g
/[^a-zA-Z_]is_alnum(/s/is_alnum(/char__is_alnum(/g
/[^a-zA-Z_]is_alpha_or_underscore(/s/is_alpha_or_underscore(/char__is_alpha_or_underscore(/g
/[^a-zA-Z_]is_alnum_or_underscore(/s/is_alnum_or_underscore(/char__is_alnum_or_underscore(/g
/[^a-zA-Z_]is_digit(/s/is_digit(/char__is_digit(/g
/[^a-zA-Z_]lower_upper(/s/lower_upper(/char__lower_upper(/g
/[^a-zA-Z_]io__op(/s/io__op(/term_io__op(/g
/[^a-zA-Z_]io__current_ops(/s/io__current_ops(/term_io__current_ops(/g
/[^a-zA-Z_]io__read_term(/s/io__read_term(/term_io__read_term(/g
/[^a-zA-Z_]io__write_term(/s/io__write_term(/term_io__write_term(/g
/[^a-zA-Z_]io__write_constant(/s/io__write_constant(/term_io__write_constant(/g
/[^a-zA-Z_]io__write_variable(/s/io__write_variable(/term_io__write_variable(/g
/[^a-zA-Z_]mercury_quote_string(/s/mercury_quote_string(/term_io__quote_string(/g
/[^a-zA-Z_]mercury_quote_atom(/s/mercury_quote_atom(/term_io__quote_atom(/g
/[^a-zA-Z_]mercury_quote_char(/s/mercury_quote_char(/term_io__quote_char(/g
/[^a-zA-Z_]mercury_quote_single_char(/s/mercury_quote_single_char(/term_io__quote_single_char(/g
/[^a-zA-Z_]delay_info_/s/delay_info_/delay_info__/g
/[^a-zA-Z_]process_options(/s/process_options(/getopt__process_options(/g
/[^a-zA-Z_]lookup_option(/s/lookup_option(/globals__lookup_option(/g
/[^a-zA-Z_]append(/s/append(/list__append(/g
/[^a-zA-Z_]member(/s/member(/list__member(/g
/[^a-zA-Z_]merge(/s/merge(/list__merge(/g
/[^a-zA-Z_]member_chk(/s/member_chk(/list__member_chk(/g
/[^a-zA-Z_]length(/s/length(/list__length(/g
/[^a-zA-Z_]condense(/s/condense(/list__condense(/g
/[^a-zA-Z_]same_length(/s/same_length(/list__same_length(/g
/[^a-zA-Z_]split_list(/s/split_list(/list__split_list(/g
/[^a-zA-Z_]reverse(/s/reverse(/list__reverse(/g
/[^a-zA-Z_]delete(/s/delete(/list__delete(/g
/[^a-zA-Z_]delete_first(/s/delete_first(/list__delete_first(/g
/[^a-zA-Z_]sort(/s/sort(/list__sort(/g
/[^a-zA-Z_]nth_member_search(/s/nth_member_search(/list__nth_member_search(/g
/[^a-zA-Z_]nth_member_lookup(/s/nth_member_lookup(/list__nth_member_lookup(/g
/^goedel_expand(/s/goedel_expand(/prog_util__expand(/g
/^goedel_replace(/s/goedel_replace(/prog_util__replace(/g
/^to_upper(/s/to_upper(/char__to_upper(/g
/^to_lower(/s/to_lower(/char__to_lower(/g
/^is_upper(/s/is_upper(/char__is_upper(/g
/^is_lower(/s/is_lower(/char__is_lower(/g
/^is_alpha(/s/is_alpha(/char__is_alpha(/g
/^is_alnum(/s/is_alnum(/char__is_alnum(/g
/^is_alpha_or_underscore(/s/is_alpha_or_underscore(/char__is_alpha_or_underscore(/g
/^is_alnum_or_underscore(/s/is_alnum_or_underscore(/char__is_alnum_or_underscore(/g
/^is_digit(/s/is_digit(/char__is_digit(/g
/^lower_upper(/s/lower_upper(/char__lower_upper(/g
/^io__op(/s/io__op(/term_io__op(/g
/^io__current_ops(/s/io__current_ops(/term_io__current_ops(/g
/^io__read_term(/s/io__read_term(/term_io__read_term(/g
/^io__write_term(/s/io__write_term(/term_io__write_term(/g
/^io__write_constant(/s/io__write_constant(/term_io__write_constant(/g
/^io__write_variable(/s/io__write_variable(/term_io__write_variable(/g
/^mercury_quote_string(/s/mercury_quote_string(/term_io__quote_string(/g
/^mercury_quote_atom(/s/mercury_quote_atom(/term_io__quote_atom(/g
/^mercury_quote_char(/s/mercury_quote_char(/term_io__quote_char(/g
/^mercury_quote_single_char(/s/mercury_quote_single_char(/term_io__quote_single_char(/g
/^delay_info_/s/delay_info_/delay_info__/g
/^process_options(/s/process_options(/getopt__process_options(/g
/^lookup_option(/s/lookup_option(/globals__lookup_option(/g
/^append(/s/append(/list__append(/g
/^member(/s/member(/list__member(/g
/^merge(/s/merge(/list__merge(/g
/^member_chk(/s/member_chk(/list__member_chk(/g
/^length(/s/length(/list__length(/g
/^condense(/s/condense(/list__condense(/g
/^same_length(/s/same_length(/list__same_length(/g
/^split_list(/s/split_list(/list__split_list(/g
/^reverse(/s/reverse(/list__reverse(/g
/^delete(/s/delete(/list__delete(/g
/^delete_first(/s/delete_first(/list__delete_first(/g
/^sort(/s/sort(/list__sort(/g
/^nth_member_search(/s/nth_member_search(/list__nth_member_search(/g
/^nth_member_lookup(/s/nth_member_lookup(/list__nth_member_lookup(/g
/[^a-zA-Z_]delete_all(/s/delete_all(/list__delete_all(/g
/^delete_all(/s/delete_all(/list__delete_all(/g
1994-06-02 16:03:34 +00:00
Fergus Henderson
75302fba80 Add an XXX comment.
array.nl:
	Add an XXX comment.
1994-05-26 02:55:36 +00:00
Fergus Henderson
0ad664520e Rename various things for consistency:
s/term_functor/term__functor/g
	s/term_atom/term__atom/g
	s/term_string/term__string/g
	s/term_int/term__int/g
	s/term_float/term__float/g
	s/term_variable/term__variable/g

	/:- mode.*[^a-zA-Z_]input,/s/input,/in,/g
	/[^a-zA-Z_]input,.*)/s/input,/in,/g
	/:- mode.*[^a-zA-Z_]output,/s/output,/out,/g
	/[^a-zA-Z_]output,.*)/s/output,/out,/g

	/:- mode.*[^a-zA-Z_]input)/s/input)/in)/g
	/:- mode.*[^a-zA-Z_]output)/s/output)/out)/g

	/[a-z]info/s/info/_info/g
	/__info/s/__info/_info/g
1994-05-03 12:28:54 +00:00
Fergus Henderson
f55c8e9566 Change the `nit' rule to invoke nit on the files one at a
Makefile:
	Change the `nit' rule to invoke nit on the files one at a
	time rather than all at once, because nit was running out
	of memory.

Makefile, doit.nl:
	Add tree.nl.

codegen.nl:
	Bug fix.

llds.nl:
	Output `detstackvar(N)' instead of `stackvar(N)'.

hlds.nl:
	Initialize the determinism to `deterministic' rather than
	non-deterministic.

make_hlds.nl:
	Fix bug where true/fail where being swapped.

modes.nl:
	Copy the information in the predinfo struct to the procinfo struct.
	(Mode checking itself is still not yet implemented.)

typecheck.nl:
	Fix bug in last change.
1994-03-07 17:54:15 +00:00
Thomas Conway
113f4ec74b array is now type-correct. 1994-02-23 05:55:16 +00:00
Thomas Conway
c81fd36030 array.nl: a few bugfixes. There are still a couple of type errors
that I'm not sure how to fix.

hlds.nl:	a couple of minor alterations.

llds.nl:	a few changes so that llds expressions can be used in
		codegen.nl - a significant fix that gets rid of quite
		a bit of weirdness in codegen.

string.nl:	added a declaration (but no implementation) for
		string__to_int - for use in converting cons_ids for
		integer constants to type int.
1994-02-23 01:28:20 +00:00
Fergus Henderson
b506752b46 array.nl: add type & mode declaration for array__search_2;
fix singleton variables.
1994-01-26 04:23:59 +00:00
Fergus Henderson
6a30dbd726 - Replaced "import_module integer" with "import_module int".
- Added some new targets to the Makefile.
- In mercury_to_goedel.nl: handle calls to require/2.
- Replaced "require(fail, ...)" with "error(...)".
- Removed uses of floating point division in array.nl.
- Changed io__progname to take two io__state arguments.
- Removed direct references to $string from io.nl so that it is self-applicable.
- Added pair.nl and changed map.nl to use it.
1994-01-24 10:04:04 +00:00
Thomas Conway
9eb8efd09e Fixed the range checking (was absent) in array__search.
There is still a bug in array__bounds of unit arrays.
1994-01-24 05:46:40 +00:00
Thomas Conway
83e4ef5378 Did quite a bit of work on the type-checker.
Added various pred & mode declarations.
1994-01-17 06:37:40 +00:00
Thomas Conway
581bed6f76 Quite a few changes - some comments, and bug fixes, and new code. 1994-01-03 03:51:59 +00:00
Fergus Henderson
90c2b4f368 Added `author' comment to all source files.
Lots of bug fixes for make_hlds.nl.
A couple of bug fixes for hlds.nl.
Did some optimization of memory usage: added io__gc_call to io.nl
and used it in prog_io.nl and module.nl.  Rewrote the main loop
of prog_io to take maximum advantage of manual garbage collection.
Started working on typecheck.nl.
1993-12-28 11:35:16 +00:00
Thomas Conway
08c6a1dce0 A sortof array package - implemented as 2-3 trees. 1993-12-24 01:54:24 +00:00