Version française
Home     About     Download     Resources     Contact us    
Browse thread
Another great advantage for OCaml language due to Markus Mottl
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Nathaniel Gray <n8gray@g...>
Subject: Re: [Caml-list] Another great advantage for OCaml language due to Markus Mottl
Yes, please!

On 3/21/06, Mike Lin <mikelin@mit.edu> wrote:
> Now that it exists, I strongly second incorporating it (as a compiler
> switch) into the official release. ASAP. IMHO untraceable exceptions
> have been one of the worst things about native code OCaml for a very
> long time.
>
> On 3/21/06, Andries Hekstra <andries.hekstra@philips.com> wrote:
> >
> > Dear Member of the OCaml mailing list,
> >
> > The problem about which I reported on this reflector around two weeks ago
> > (array index violation after around 4 days) has in the mean time been solved
> > thanks to the great native function call backtrace for the ocamlopt compiler
> > due to Markus Mottl. Given that my program crashed after 3.7 days, and my
> > program ran around 30x slower in byte code, debugging using byte code was
> > not an option (this slowdown had been similar if I had used _DEBUG mode of a
> > C++ program instead of _RELEASE version). Also, as reported earlier, putting
> > "try ... with " around all attempts to index an array is not feasbile in
> > standard OCaml for array elements in the left hand sides of assignments. A
> > static unhandled exception checker provided on a web page, ran into dead
> > HTML links.
> >
> > Hence, the native function call, which comes at minimal runtime overhead
> > cost, mainly the cost of -inline 0, is a great new feature that would give
> > OCaml another advantage over C++ when added to the OCaml language in a next
> > release. Below I give a toy example :
> >
> > --- nlv13512/TestProgram ---> ls
> > attempt.ml*
> > --- nlv13512/TestProgram ---> cat att*
> > let a = Array.make 2 0;;
> > let f i = i*i;;
> > let g i = a.(i);;
> > let b = f 2;;
> > let c = g 2;;
> > --- nlv13512/TestProgram ---> ocamlopt -inline 0 -gb attempt.ml
> > --- nlv13512/TestProgram ---> a.out
> > Fatal error: exception Invalid_argument("index out of bounds")
> > Native function backtrace:
> >
> >   camlAttempt__g_60
> >   camlAttempt__f_58
> > --- nlv13512/TestProgram --->
> >
> > =Andries
> >
> > PS The attached patch was provided to me by Markus Mottl for the 3.09.1.
> > release.
> >
> >
> >
> >
> > ------------------------------------------------------------------------
> >  Dr. Ir. Andries P. Hekstra
> >  Philips Research
> >  High Tech Campus 27  (WL-1-4.15)
> >  5656 AG Eindhoven
> >  Tel./Fax/Secr. +31 40 27 42048/42566/44051
> >    *  Good open source anti-RSI software : http://www.workrave.org
> > _______________________________________________
> > Caml-list mailing list. Subscription management:
> > http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
> > Archives: http://caml.inria.fr
> > Beginner's list:
> > http://groups.yahoo.com/group/ocaml_beginners
> > Bug reports: http://caml.inria.fr/bin/caml-bugs
> >
> >
> >
> >
>
> _______________________________________________
> Caml-list mailing list. Subscription management:
> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
> Archives: http://caml.inria.fr
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
>


--
>>>-- Nathaniel Gray -- Caltech Computer Science ------>
>>>-- Mojave Project -- http://mojave.cs.caltech.edu -->