Using Ocaml as a scripting language as a purpose?
Over the years I have come the believe that there is no real distinction in requirements for languages for, what you call "heavy" projects, and scripting. Scripting, according to consensus of opinion, requires an expressive language and generally an interpreter for quick write, run, debug cycles.
"Heavy" projects benefit from an expressive language as well. It should be common knowledge by now that the number of bugs per lines of code is constant no matter what language is used. Hence a more expressive language that require less lines of code to get something done results in less buggy code.
Ocaml is arguably more expressive than for instance "scripting" languages such as Perl and Python. Maybe I should have said functional languages are arguably more expressive than Perl and Python.
Anyway, what makes Ocaml such a great language is that it is a full featured toolbox for the programmer. Does de problem you are trying to solve favor a functional approach, Ocaml can do it. Does it favor a more imperative style, Ocaml can do it. Does it favor a more OO style, Ocaml can do it. And best of all, it can do it all very elegantly and with excellent performance.
Getting back to the scripting part. If you define scripting as suitable for writing web based/server side applications, than Ocaml can be your language of choice as well with this announcement of mod_ocaml.
Generally speaking scripting as well as developing "heavy" projects tend to require similar features. It should provide the programmer the tools she needs to get the job done by not forcing a particular paradigm down her throat as Java does, provide a great deal of expressivess, and have good performace. Ocaml fit the bill as no other language.