User Tools

Site Tools


ocaml-software

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

Usage

  • Show all available versions of ocaml
    module 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 ansible
    ansible-playbook site.yml -u joguya -K -s --limit=compute --tags=module
ocaml-software.txt · Last modified: 2014/12/02 09:35 by joguya