Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] Caml Machine and GP
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Lukasz Stafiniak <l_stafiniak@h...>
Subject: [Caml-list] Caml Machine and GP
Hi precious List!

I work on genetic programming with typed terms. I would like to use
OCaml bytecode-system to run my programs.

Evaluation scheme I've used so far: variables by de Brujin indices,
beta-reduction by substitution, recurrence by rational trees (with
mutable reference cells filled when first encountered in
evaluation). I wonder how much of a speedup could I get? -- I guess
MUCH. How big are the overheads? I guess for not computationally
involved tasks evaluation would be still better, due to the
overheads (but these dont give the kicks).

How should I do this? Look around in Toplevel, use the path:

Translcore.transl_exp --> Bytegen.compile_phrase -->
Emitcode.to_memory --> Meta.reify_bytecode?

Say, I put a function in Typedtree.expression at one side, and get the
result at the other side? How about treatment of types -- do I need to
supply them?  My terms are typed, but this would involve translating
types as well, unnecessarily. More -- how to call functions from
outside (perhaps use the environment argument -- what to put
there)... Best way to learn these things is reading the source, I
guess? Can I catch exceptions from code run this way -- I guess I can,
Toplevel does it probably.

I also welcome Hi! responses from people interested in genetic
programming. I plan to feature (type-based or some other) termination
of my programs, and I've developed some generalization algorithms to
use in "intelligent" recombination.

Best wishes,

Uwaga! Do końca sierpnia przedłużyli¶my promocje, do pakietów
wielostanowiskowych dokładamy PenDrive  SprawdĽ:

To unsubscribe, mail Archives:
Bug reports: FAQ:
Beginner's list: