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 GAA05406; Sun, 29 Aug 2004 06:54:34 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id GAA04323 for ; Sun, 29 Aug 2004 06:54:32 +0200 (MET DST) Received: from outbound28-2.lax.untd.com (outbound28-2.lax.untd.com [64.136.28.160]) by nez-perce.inria.fr (8.13.0/8.13.0) with SMTP id i7T4sV34013472 for ; Sun, 29 Aug 2004 06:54:32 +0200 Received: from outbound28-2.lax.untd.com (smtp04.lax.untd.com [10.130.24.124]) by smtpout02.lax.untd.com with SMTP id AABAVC2MNAVKYMQA for (sender ); Sat, 28 Aug 2004 21:54:04 -0700 (PDT) Received: (qmail 6175 invoked from network); 29 Aug 2004 04:53:54 -0000 Received: from unknown (HELO vangogh) (66.52.204.75) by smtp04.lax.untd.com with SMTP; 29 Aug 2004 04:53:54 -0000 From: "Brandon J. Van Every" To: "caml" Subject: RE: [Caml-list] Re: (GC issues) Alternative Bytecodes for OCaml Date: Sat, 28 Aug 2004 22:04:48 -0700 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0) In-Reply-To: <1093746662.15255.2206.camel@pelican.wigram> Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441 X-ContentStamp: 16:8:3291019560 X-MAIL-INFO: 2b8005a59564443d2d64ada5b03d10e500c020add4c0b0e5ed7091c0b08de0617d6149fd65a9d0612440c19d749dd9a171b9f514a1bd05a140a4f4ddc435414d412111b530384185b9e0e590e5e45920c0f1e159f0b0 X-UNTD-OriginStamp: CI84cOLHFqh7Zd2QWkwvEFvwyO3T/pIsFsCrOjjLH84G3lF9dE6cwS4+UXD6OzJB X-Miltered: at nez-perce with ID 41316187.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; brandon:99 caml-list:01 bytecodes:01 basile:01 triggers:01 coders:01 slower:01 languages':01 python:01 python's:01 python:01 caml-list:01 bayesian:01 crap:01 crap:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk John Skaller wrote: > > Basile Starynkevitch [local] wrote: > > > This interesting discussion triggers another interesting question: > > would Ocaml coders still use Ocaml if its implementation was (say) 3 > > or 10 times slower than the current implementation? > > Yes they would. John Goerzen already made that quite clear: > there are plenty of times when performance just isn't the issue. Some would. Perhaps those who are already converted on the grounds of type safety or features or so forth. Those of us shopping around for various kinds of 'replacement languages' would be using Python. That is, if OCaml were indeed that slow and no other OCaml-like options were available in open source land. Without performance, I think Python's critical mass and ease of use will easily beat OCaml in the marketplace. The promise of OCaml is really performance and scale-up, areas that Python is weak at. You can argue all you like about what OCaml does that Python doesn't do; strategically, it is irrelevant. Look at the languages the world actually uses en masse, if you want to understand what I mean. The point is that performance does matter. Not really interested in debating this here, just adding my $0.02. If you want to debate what makes languages succeed or fail, we'd welcome your input on ocaml-biz. http://cgorski.org/mailman/listinfo/ocaml-biz_cgorski.org Cheers, www.indiegamedesign.com Brand*n Van Every S*attle, WA Praise Be to the caml-list Bayesian filter! It blesseth my postings, it is evil crap! evil crap! Bigarray! Unboxed overhead group! Wondering! chant chant chant... Is my technical content showing? // return an array of 100 packed tuples temps int $[tvar0][2*100]; // what the c function needs value $[tvar1]; // one int value $[tvar2]; // one tuple int $[tvar3] // loop control var oncePre eachPre $[cvar0]=&($[tvar0][0]); eachPost $[lvar0] = alloc(2*100, 0 /*NB: zero-tagged block*/ ); for(int $[tvar3]=0;$[tvar3]<100;$[tvar3]++) { $[tvar2] = alloc_tuple(2); $[tvar1] = Val_int($[cvar0][0+2*$[tvar3]]); Store_field($[tvar2],0,$[tvar1]); $[tvar1] = Val_int($[cvar0][1]); Store_field($[tvar2],1,$[tvar1+2*$[tvar3]]); Array_store($[lvar0],$[tvar3],$[tvar0]); } oncePost ------------------- 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