From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id PAA04003; Wed, 24 Jul 2002 15:38:32 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id PAA04539 for ; Wed, 24 Jul 2002 15:38:31 +0200 (MET DST) Received: from imo-d05.mx.aol.com (imo-d05.mx.aol.com [205.188.157.37]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id g6ODbgH10262 for ; Wed, 24 Jul 2002 15:37:42 +0200 (MET DST) Received: from artboreb@netscape.net by imo-d05.mx.aol.com (mail_out_v32.21.) id 3.13b.2edf3a6 (22683); Wed, 24 Jul 2002 09:37:36 -0400 (EDT) Received: from netscape.net (mow-d06.webmail.aol.com [205.188.138.70]) by air-in04.mx.aol.com (v86_r1.16) with ESMTP id MAILININ44-0724093736; Wed, 24 Jul 2002 09:37:36 -0400 Date: Wed, 24 Jul 2002 09:39:28 -0400 From: artboreb@netscape.net (Arturo Borquez) To: oleg_inconnu@myrealbox.com (Oleg), alex@baretta.com (Alessandro Baretta), caml-list@inria.fr (Ocaml) Subject: Re: [Caml-list] Rule based language [was: productivity improvement] Message-ID: <7346EFD6.6BBDCC08.00958B05@netscape.net> X-Mailer: Atlas Mailer 2.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Oleg wrote: >On Sunday 21 July 2002 09:00 am, Alessandro Baretta wrote: >> Oleg wrote: >> > Alex, >> > >> > This looks pretty simple. What makes you think the program is a >> > compelling evidence of O'Caml superior productivity? >> >> 197 lines of code, including whitespace and commments. I >> think it is a pretty clear example of how you can write cool >> software in O'Caml in a very short time. If you had not been >> "lazy", as you said, and had tried implementing the same >> language in C++, I strongly doubt you could have written a >> more compact source. > > >109 LOC in C++ counting blank lines and lines containing a single '}'. See >atttached files. > >A few notes about the differences between your O'Caml program and my C++ >program: > >1) I'm not using Yacc or Lex for parsing, because I'm not familiar with these >tools, so ugly parsing takes up most of those 109 LOC (Parsing things is >peripheral to my professional interests right now. I don't write compilers) > >2) I decided not to implement the "simple" keyword, because I did not >understand what it was supposed to mean (a depth limit on deduction, I'm >guessing, but what for?) > >3) Your program fails to imlement multi-token post-conditions in rules and >mutli-token goals (as described in your formal language specification) > >4) The algorithms are different I think, resulting in, for example, about >200x speed improvement for the attached test.input file on my P3-800MHz >(g++-3.0 vs ocamlopt) (The output is identical). The O'Caml program >convergence seems to be quite unstable. Sometimes it is as fast or even >faster than the C++ program. > >I can see how the same algorithm can be implemented in ~100 LOC of O'Caml >too. However, IMO as this and the previous examples show, reports about >extreme LOC ratios are premature. > >Cheers, >Oleg > Nice Oleg!. Can I participate in this challenge? I have yet build your parser in 25 lines of OCaml and seems to run as fast as yours. Perhaps in a couple of days I'll post my solution as I have very few spare time. -- Arturo Borquez __________________________________________________________________ Your favorite stores, helpful shopping tools and great gift ideas. Experience the convenience of buying online with Shop@Netscape! http://shopnow.netscape.com/ Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/ ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners