From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id 3C16CBB83 for ; Fri, 18 Aug 2006 17:37:31 +0200 (CEST) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by nez-perce.inria.fr (8.13.6/8.13.6) with ESMTP id k7IFbUDY026306 for ; Fri, 18 Aug 2006 17:37:30 +0200 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 RAA19845 for ; Fri, 18 Aug 2006 17:37:30 +0200 (MET DST) Received: from biscayne-one-station.mit.edu (BISCAYNE-ONE-STATION.MIT.EDU [18.7.7.80]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id k7IFbSiG020298 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Fri, 18 Aug 2006 17:37:29 +0200 Received: from outgoing.mit.edu (OUTGOING-AUTH.MIT.EDU [18.7.22.103]) by biscayne-one-station.mit.edu (8.13.6/8.9.2) with ESMTP id k7IFbRt1001057; Fri, 18 Aug 2006 11:37:27 -0400 (EDT) Received: from [18.75.3.69] (CSR-DYN-69.MIT.EDU [18.75.3.69]) (authenticated bits=0) (User authenticated as farr@ATHENA.MIT.EDU) by outgoing.mit.edu (8.13.6/8.12.4) with ESMTP id k7IFbJoT029992 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT); Fri, 18 Aug 2006 11:37:20 -0400 (EDT) In-Reply-To: <17637.56821.564137.320990@karryall.dnsalias.org> References: <5EAC544C-8B6E-4004-B817-20190E868A3B@MIT.edu> <17637.56821.564137.320990@karryall.dnsalias.org> Mime-Version: 1.0 (Apple Message framework v752.2) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: <497932C7-3962-43E2-B673-B24FCB6E45E6@MIT.EDU> Cc: caml-list@inria.fr Content-Transfer-Encoding: 7bit From: Will M Farr Subject: Re: [Caml-list] Pervasives.{min, max} not specialized to floats by ocamlopt Date: Fri, 18 Aug 2006 11:37:17 -0400 To: Olivier Andrieu X-Mailer: Apple Mail (2.752.2) X-Scanned-By: MIMEDefang 2.42 X-Miltered: at concorde with ID 44E5DEB8.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; pervasives:01 ocamlopt:01 andrieu:01 runtime:01 pervasives:01 inlined:01 functor:01 ocaml:01 inlining:01 2006,:98 wrote:01 caml-list:01 functions:01 functions:01 mistaken:01 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.3 On Aug 18, 2006, at 11:34 AM, Olivier Andrieu wrote: > Indeed. That's because min and max are not primitives provided by the > runtime library but regular caml functions from pervasives.ml : > ,---- > | let min x y = if x <= y then x else y > | let max x y = if x >= y then x else y > `---- In this case, it seems strange that they weren't inlined---when I defined my own min and max functions, *they* were inlined. Could it be because I was working inside a functor, or am I mistaken in my belief that ocaml does cross-module inlining? Will