====== Ocaml ======
Ocaml is a popular variant of Caml language. it extends the core Caml language with a fully-fledged object-oriented layer, as well as a powerful module system, all connected by a sound, polymorphic type system featuring type inference
==== v4.02.1 ====
  * Version: 4.02.1
  * Added: November, 2014
  * Link: http://caml.inria.fr/ocaml/index.en.html
=== Usage ===
  * Show all available versions of ocamlmodule avail ocaml
  * Load ocaml module: module load ocaml/4.02.1
  * get quick help:man ocaml
=== Installation ===
  * Download ocaml, compile & install it to /export/apps/
sudo mkdir -p /export/apps/ocaml/4.02.1/
sudo chown -R joguya:joguya /export/apps/ocaml/4.02.1/
./configure -prefix /export/apps/ocaml/4.02.1
make world &> world.log &
make bootstrap &> bootstrap.log &
make opt &> opt.log &
make opt.opt &> opt.opt.log &
make world.opt &> world.opt.log &
make install
make install
make clean
  * ocaml module file
#%Module1.0
#####################################################################
##
## Ocaml Modulefile
## By James Oguya, j.oguya@cgiar.org
## November, 2014
##
set appname         ocaml
set version         4.02.1
set prefix          /export/apps/${appname}/${version}
set exec_prefix     ${prefix}/bin
set url "http://caml.inria.fr/ocaml/index.en.html"
set msg "Ocaml is a popular variant of Caml language. it extends the core Caml language with a fully-fledged object-oriented layer, as well as a powerful module system, all connected by a sound, polymorphic type system featuring type inference..\nOcaml Official Site: $url\n"
module-whatis $msg
proc ModulesHelp { } {
    puts stderr "$msg"
}
conflict        ocaml
prepend-path    PATH        ${exec_prefix}
prepend-path    MANPATH     ${prefix}/man
  * deploy the new module using ansibleansible-playbook site.yml -u joguya -K -s --limit=compute --tags=module