Browse thread
Another great advantage for OCaml language due to Markus Mottl
-
Andries Hekstra
- Markus Mottl
-
Mike Lin
- Nathaniel Gray
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 2006-03-24 (22:30) |
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 -->