# Random stuff

Here a few things I made in the past.

A

*very short*quine (in OCaml, which used to be my favorite programming language)(stronger !) A program which prints the MD5 of its own source code.

A small program which computes an approximate solution to the traveling salesman problem using simulated annealing, with interactive graphic representation ! sources and companion report (in french).

Always wanted to have

`call/cc`in ocaml ? I made a naïve interpreter just for you ! (but it's also a simple lex/yacc parser for a subset of caml)I wasted some time writing a BF program (BF is a Turing-machine-like language) to compute the factorial : it's like that :

[->+<]+>[<[>[->+>+<<]>[-<+>]<<-]>>>[-<<<+>>>]<<-]<

I even did it in lambda-calculus (using Church's integers --- Skilled people will recognize the Y fixed-point combinator at the begining) :

`((λg.λh.(h ((g g) h)) λg.λh.(h ((g g) h))) λf.λn.(((λx.λy.λz.((x y) z) (λn.((n λz.λf.λx.x) λx.λy.x) n)) λf.λx.(f x)) ((λm.λn.λf.(m (n f)) n) (f (λk.(λs.(s λf.λx.x) ((k λs.λz.((z (λn.λf.λx.(f ((n f) x)) (λs.(s λx.λy.x) s))) (λs.(s λx.λy.x) s))) λz.((z λf.λx.x) λf.λx.x))) n)))))`