We had a meeting of the Mercury group on Fri Jan 12, 2001, from 3:20pm to 4:15pm. Attendees: Zoltan Somogyi (zs) David Jeffery (dgj) Mark Brown (dougl) Simon Taylor (stayl) Ina Cheng (inch) Levi Cameron (lpcam) Sam Thurairatnam (sthur) Simon Mei (xcsm) Julien Fischer (juliensf) Tyson Dowd (trd) Fergus Henderson (fjh) Thomas Conway (conway) David Overton (dmo) Nick Nethercote (njn) Adrian Pellas-Rice (apell) Kostis Sagonas (kostis@csd.uu.se) 1. Release - Fergus said he didn't want to do all the work himself. - Tyson suggested we use sourceforge to assign tasks. - Anyone interested in helping should create an account on sourceforge. - Fergus will then assign the tasks using sourceforge. - Stuff still to be done before release: - Go through release checklist. - Fix a couple of outstanding bugs. - Fix a few test cases which have incorrect expected output. 2. Progress reports We went around the table, with each person in turn discussing what they had been working on recently and/or what they were planning to work on. Fergus Henderson (fjh): - Wrote a new backend for Mercury last week, interfacing directly to the GCC backend. - GCC team are interested in advertising the new Mercury frontend for GCC on their web site and including Fergus's changes to GCC in their distribution. This would involve Fergus assigning copyright on his changes to GCC to the FSF. Zoltan will confirm that the University is happy with this when Alistair gets back next week. - There was talk about the idea of including the Mercury compiler in the GCC distribution (some GCC people have shown interest in this) however the concensus was that this was probably not a good idea for two reasons: 1. The Mercury compiler is way too big for this. 2. We would have to assign copyright on the compiler to the FSF which we are unwilling to do, since it might cause problems if we want to change licenses or integrate ``non-free'' code into our distribtion. - Has been working on a fix for the dynamic linking bug in the MLDS backend. - Will look into the current bootstrapping problems thought to be caused by Tom's changes to the `univ' type. Kostis Sagonas (kostis@csd.uu.se) - Is currently visiting the department from the University of Uppsala, Sweden, where he is head of department. - His current research includes a native code compiler for Erlang, on which he will present a seminar next week. Summer students are strongly encouraged to attend and promised it won't be too boring. Thomas Conway (conway) - Is working on the deep profiling paper with Zoltan. - Changed the implementation of the `univ' type. - Has produced a cool (but rather geeky) Mercury t-shirt -- copies can be made available to those interested. David Overton (dmo) - Is working on integrating stage one and stage two of the new mode checker. - Has been thinking about how to handle uniqueness analysis in the new framework. - Plans to start writing a paper on what he has done so far (need to talk to Zoltan and Peter Stuckey about this). Nick Nethercote (njn) - Started his Masters Degree with the HAL team on Monday. - Last semester started work on a general framework for program analyses and implemented determinism analysis in the framework. - Is now looking at other possible analysis domains for this framework. David Jeffery (dgj) - Has spent most of the week working on HAL. - Fixed a couple of bugs. Julien Fischer (juliensf) - Has been working on an mlds -> mlds transformation to simulate function pointers using derived classes. This is needed for the Java backend and probably the IL backend also. Has been focussing on its use for compare and unify predicates, but it will also be required for closures and nondet continuations. Ina Cheng (inch) - Has got XML format responses working (in the web server?) - Has discovered problems with using dynamic linking with the MLDS backend. Levi Cameron (lpcam) - Has modified the bytecode system to differentiate between preds and funcs. - Is working on integrating native code and bytecode (with the ability to call both ways between them). Sam Thurairatnam (sthur) - Spent the week testing and commenting his code. - Submitted for review yesterday. - Work is currently being reviewed by Mark. Adrian Pellas-Rice (apell) - Has been adding a new functor to `hlds_goal_expr' to use as a wrapper around all goals that are expanded away after the first few stages of compilation (e.g. bi-implication and, presumably, the new sequence quantifiction?). - Has been talking with Peter Schachte and looking at his Prolog code to do sequence quantification. - We discussed what name the new quantifier should have. Options were `all', `for', `forall', `foreach'. A consensus was reached that `forall' is the generally preferred name -- it makes it clear that it is a kind of universal quantification whilst syntactically differentiatiing it from the operationally different `all' quantifier. (Fergus thought `foreach' could be confused for existential quantification. Tom thought `for' would be much better used for `for' loops rather than Ralph's proposed `iterate'. Simon Mei (xcsm) - Added more functionality to quickcheck. - Discussed whether Mercury quickcheck would need its own `main'. Fergus said this is a seperate issue (debugger support) and he should not worry about it. Tyson Dowd (trd) - Fixed some IL backend bugs after feedback from our first user -- Peter Ross. - Has been working on the dynamic linking bug. - Plans to add a new `pragma foreign_proc' to replace `pragma foreign_code' when defining procedures in other languages. This is to reduce confusion over overloading of the latter pragma. Simon Taylor (stayl) - Still working towards an Aditi release some time in the future. Mark Brown (dougl) - Reviewing Sam's work. - Has been writing his annual progress report (he will be joining the 3 year club on Sunday). Zoltan Somogyi (zs) - Attempting to modify the C backends so that they work with lcc. - New delay death pass has been done. - Working on deep profiling paper with Tom. 3. Other items - It was agreed that the summer students should each write a progress report, including a current TODO list and an estimation of how much of their given task they will complete within the next six weeks. - Fergus reminded us that all bugfixes should go on both the release branch and the main branch. People should note in the log message when something is to be comitted on both branches. Reviewers should look out for cases where this is required but hasn't been mentioned. - Zoltan made sure that everyone knew about his lmc script for executing uninstalled copies of the compiler. Tyson volunteered to document the procedure on the web site. Zoltan agreed to add his lmc script to the mercury/tools directory in the cvs repository. 4. Agenda for next week - Discuss Unicode syntax for Mercury :-) Minutes taken by David Overton (dmo@cs.mu.oz.au).