ICFP Programming Contest 2007
The Caml Riders
This is a short description our entry to the ICFP Programming Contest 2007.
Our result
(Click to enlarge)
This allowed us to rank 17th, with a score of 890692 and survival
chance of 7.6505%
Team members
This year, the Caml Riders were (alphabetic order):
- Sylvain Conchon
- Evelyne Contejean
- Jean-Christophe Filliâtre
- Régis Laval
- Fabrice Le Fessant
- Claude Marché
- Benjamin Monate
- Marc Pouzet
Brief description of what we did
- we build an execution machine (see files src/dna.ml, src/execute.ml
and src/build.ml)
- we displayed the first pages of the guide (see program mkpage)
- we figured out how to list a lot of genes by scanning endo.dna for pairs
of 24-digit integers
- we activated some of these genes (chosen randomly and without argument)
some were displayed pages of the guide, others graphical elements of the
source or target images
- we patched some of the genes to either change some colors, or disable the
drawing (see src/interp_interactive.ml). For this purpose, we build a small
``compiler'' from abstract syntax trees of patterns and templates to DNA.
- we ended up with the following DNA modifications:
- saucer removed
- alien removed (but not the black lambda in the balloon)
- appletree mutated to the right appletree
- lambda x.x removed
- truck color modified
main programs
- execute.opt prefix.dna: executes a DNA and display the resulting RNAs
- dna2rna.opt prefix.dna: executes a DNA and dumps the resulting RNAs
- draw.opt refreshrate file.rna: displays some RNA sequence
utility programs
- mkpage n: creates RNA for page n of the guide (in guide/page.rna)
- scan_genes.opt file.dna: scans file.dna for pairs of 24-digit integers
(which are likely to be genes) and dumps them
- genes: result of scan_genes.opt endo.dna, patched to indicate what genes do
- apply_gene.sh ofs len: activate gene (ofs,len) using the adapter and
displays the result
- gene_stat.opt ofs: displays statistics about gene located at offset ofs