[m-dev.] the next release (0.12)

Julien Fischer juliensf at cs.mu.OZ.AU
Wed Jul 7 00:32:44 AEST 2004


Hi all,

We had a meeting yesterday about the next release today.
Attendees were juliensf, maclarty, rafe and zs.

The following is a summary of what was discussed
and is a rough plan of what tasks need to be done, along
with people (currently) assigned to do them.

Julien.


The Plan
--------

(1) Follow nightly tests more closely  (rafe and minions)
	-- stabilize compiler
	-- we need a testing schedule (zs + rafe, see below)

(2) Create 0.12 branch
	-- bugfixes on 0.12 and main branch
	-- no other commits on 0.12 branch

(3) Freeze and release
	-- bugfixes on 0.12.1 if necessary


Grades to be supported
----------------------

LLDS: none, reg, asm_jump, asm_fast

MLDS: hlc, hl
	-- hl will not be supported if it's too
	   much work.

Grade modifiers: .gc, .agc, .par, .debug, .tr, .mm,
                 .prof, .memprof, .profdeep

* List of grades to test (zs)

* Test schedule (rafe)

Architectures to be supported
----------------------------

* Linux x86

* Solaris x86 (mundroo)

* powerpc (Max OS 10.3)

* Windows (Cygwin/Mingw)? (petdr?)

Things that will be deprecated/not supported in 0.12
----------------------------------------------------

* .rt grades (deprecated) (HAL only)

* jump and fast grades (deprecated)

* --split-c-files (deprecated)

* Java backend (not supported)
	-- incomplete and too little available manpower
	-- errors when building library on jupiter (juliensf)

* IL backend
	-- unless petdr wants to manage this one

* old style lambda syntax
	-- this will be the last release to support it.
	-- juliensf will add warning

* asm grades (gcc backend)
	-- unless fjh wants to manage this one

* colon as module qualifier
	-- this will be the last release to support it.
	-- juliensf will add warning

* old C interface
	-- document that this will go away in the next
	   release or two (i.e. not before we have
	   foreign_export and foreign_import or equivalent)

Things to Fix/Add
-------------

* gcc 3.4 compatibility
	-- zs has been working on this.

* gcc versions (should test various 3.x releases)

* Deep profiling (zs)

* .int2 files, module imports etc (juliensf)
	-- the dependencies the compiler currently
	   generates are too conservative leading to
	   modules being rebuilt unnecessarily.

* purity and termination analysis (juliensf)
	-- the termination analyser currently does the
           wrong thing for impure code.

* user-defined equality/comparison and termination analysis (juliensf)
	-- the termination analyser currently does the wrong
	   thing for these also.

* declarative debugging (maclarty)
	-- possible improvements

Library
-------

* cleanup

* string.string	(rafe)
	-- seems to have started throwing errors

* func versions of preds with (in, in, in) = out is det modes (rafe)

* add preds with state variable friendly argument orderings (rafe)

* version structures (rafe)

* Remove obsolete procedures from 0.11

Other things to do
------------------

* Sort out running tests on swordfish

* install lcc on one of the working machines (juliensf)
	-- on earth(?)

* clean up /home/mercury/public/tests_mercury


--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list