benchmarks/progs/icfp2000_par/main.m:
benchmarks/progs/mandelbrot/mandelbrot.m:
benchmarks/tools/log_to_r/log_to_r.m:
extras/align_right/align_right.m:
extras/error/error.m:
extras/gator/evolve.m:
extras/moose/options.m:
samples/concurrency/midimon/midimon.m:
samples/diff/diff.m:
samples/muz/muz.m:
Conform to getopt.process_options now returning structured errors
instead of strings.
extras/gator/phenotype.m:
Replace a call to an obsolete predicate.
extras/mopenssl/mopenssl.m:
Pass allocation site ids to calls to MR_make_string.
Avoid warnings from the C compiler about const qualifiers
being discarded.
extras/show_ops/show_ops.m:
Conform to changes to the term module's representation of
integers.
extras/trailed_update/tr_store.m:
Conform to runtime changes.
extras/gator/genotype.m:
extras/gator/phenotype.m:
extras/graphics/samples/maze/maze.m:
extras/trailed_update/samples/interpreter.m:
Conform to standard library changes.
Estimated hours taken: 0.5
Branches: main
Merge late changes from the 0.13 branch onto the main branch.
BUGS:
Merge in additions from the 0.12(!) branch.
HISTORY:
Fix typos and be more consistent about the formatting of dates.
NEWS:
Move the news about checking inst declarations for consistency
with visible type constructors to the post-0.13 news where it belongs.
Merge changes to the 0.13 branch.
README.Solaris:
Merge changes from the 0.13 branch.
compiler/notes/todo.html:
Merge changes from the 0.13 branch.
doc/user_guide.texi:
Merge changes from 0.13 branch related to trace counts
documentation.
extras/curses/sample/smalltest.m:
extras/gator/genotype.m:
extras/references/tests/ref_test.m:
samples/rot13/rot13_ralph.m:
tests/mmc_make/complex_test.m:
tests/mmc_make/lib/complex.m:
Merge minor fixes from the 0.13 branch.
Estimated hours taken: 4
Branches: main
extras/gator/gator:
Copy the source code for all the benchmark programs to all
the hosts automatically. It must already exist on (at least)
one host.
Print some more verbose output so that the program gives useful
feedback to the user without having to pass gator the -v flag.
At the end of every generation, print the top 10 (or as
specified by the user with the -n flag) individuals.
Add a copyright message to the top of the file.
extras/gator/README:
Document the fact that it automatically copies files over,
rather than requiring the user to do it manually.
extras/gator/evaluate:
Add a copyright message to the top of the file.
Estimated hours taken: 2.5
Branches: main
extras/gator/README:
Show examples of configuration files in gator's README file,
to give the reader a better idea of what is required to set
up gator.
Estimated hours taken: 0.2
Changed the configuration files so that the program will work without
any additional configuration.
mercury/extras/gator/evaluate.conf:
Instead of using the benchmark programs in the benchmarks
directory (which the user might not have access to), use
mercury/samples/hello.m as the benchmark program.
mercury/extras/gator/evolve.conf:
Since the evaluate.conf file was changed so that there is
only one benchmark program, we need to change the length of
the first term.
mercury/extras/gator/gator.conf:
In the previous revision, the hosts sophie, boadicea, surprise,
lively and leopard were used. Rather than use these hosts,
which are only available to Mercury developers, use `hostname`
instead.
Estimated hours taken: 150
Branches: main
This program implements a genetic algorithm to explore the space of
compiler optimizations, with the goal of finding a good set of
optimizations to use when compiling a program.
mercury/extras/gator/README:
An overview of the program and how to configure it.
mercury/extras/gator/gator:
A shell script containing the main program. This script
contains a loop that continuously evaluates all the individuals
in a generation and evolves the next generation of individuals
based on how well they performed.
mercury/extras/gator/gator.conf:
This file contains configuration data for gator, including all
the hosts which are available for benchmarking. Benchmarking
all of the individuals in a population is distributed over a
number of hosts as this is the slowest part of the process.
mercury/extras/gator/evaluate:
A shell script that benchmarks the given individuals. This
script measures compile times, executable sizes and run times,
for the programs given in evaluate.conf.
mercury/extras/gator/evaluate.conf:
Configuration data for evaluate, including all the programs to
be used for benchmarking.
mercury/extras/gator/evolve.m:
This program breeds a new population of individuals based on the
previous generation, and the output of evaluate.
mercury/extras/gator/evolve.conf:
Configuration data for evolve, containing data used by the
phenotype.fitness/3 and genotype.mutation/5 predicates.
mercury/extras/gator/genotype.m:
A genotype is the representation of an individual. For this
application it is a set of compiler flags. This module contains
predicates related to this data structure.
mercury/extras/gator/phenotype.m:
A phenotype is the representation of the traits of an
individual. For this application it is the set of benchmarks
produced by the evaluate script. This module contains the
definition of the phenotype data structure, and predicates that
operate on it.
mercury/extras/gator/tausworthe3.m:
A random number generator (originally taken from
/home/mercury/rafe/mercury/rnd/tausworthe3.m). I've also added
Julien's typeclass definition and an instance declaration.
This should make using a different random number generator
a bit easier.
mercury/extras/gator/generations/1/genotypes:
The initial population of individuals.