caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Gerd Stolpmann <info@gerd-stolpmann.de>
To: Diego Olivier FERNANDEZ PONS <diego.fernandez_pons@etu.upmc.fr>
Cc: Jonathan Roewen <jonathan.roewen@gmail.com>, caml-list@inria.fr
Subject: Re: [Caml-list] Why + vs +. but "fake" parametric polymorphism for <
Date: Fri, 13 Oct 2006 14:14:22 +0200	[thread overview]
Message-ID: <1160741662.16545.9.camel@localhost.localdomain> (raw)
In-Reply-To: <20061013135650.48rwzsri8ws8coww@webmail.etu.upmc.fr>

Am Freitag, den 13.10.2006, 13:56 +0200 schrieb Diego Olivier FERNANDEZ
PONS:
>      Bonjour,
> 
> Quoting Jonathan Roewen <jonathan.roewen@gmail.com>:
> > That's correct. As showed, specifying types somewhere (as I did with
> > the return type, and someone else did for a given parameter), type
> > inference deduces the types of the parameters and return values,
> > allowing it optimise.
> 
> As far as I remember it doesn't work when you specify the type in the  
> .mli file. And I never understood really why.

Well, this is quite easy. The .mli file does not influence code
generation. Code is generated when the .ml file is compiled, and it is
only _checked_ afterwards if the types match the .mli file. This is
simply the logic of the .mli.

That an inlined function cannot be specialized afterwards has a similar
reason, because the part of code generation is already over that decides
whether the mono or polymorphic version is generated. This could be
probably be changed (but I don't know the details, so maybe this would
break something else).

Gerd
-- 
------------------------------------------------------------
Gerd Stolpmann * Viktoriastr. 45 * 64293 Darmstadt * Germany 
gerd@gerd-stolpmann.de          http://www.gerd-stolpmann.de
Phone: +49-6151-153855                  Fax: +49-6151-997714
------------------------------------------------------------


  reply	other threads:[~2006-10-13 12:14 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-12  5:18 Carlos Pita
2006-10-12  5:45 ` [Caml-list] " Jacques Garrigue
2006-10-12  5:58   ` Carlos Pita
2006-10-12  6:08     ` Jonathan Roewen
     [not found]       ` <452DF46C.802@fmf.uni-lj.si>
2006-10-12 14:26         ` Carlos Pita
2006-10-13 11:56       ` Diego Olivier FERNANDEZ PONS
2006-10-13 12:14         ` Gerd Stolpmann [this message]
2006-10-13 12:46           ` Diego Olivier FERNANDEZ PONS
2006-10-13 13:01             ` Luc Maranget
2006-10-13 13:15               ` Diego Olivier FERNANDEZ PONS
2006-10-13 13:15               ` skaller
2006-10-13 13:36                 ` Luc Maranget
2006-10-13 13:53             ` Gerd Stolpmann
2006-10-13 14:16               ` Luc Maranget
2006-10-12  5:19 Carlos Pita
2006-10-12  5:41 ` [Caml-list] " Carlos Pita
2006-10-12  5:49   ` Basile STARYNKEVITCH
2006-10-12  5:53   ` Jonathan Roewen
2006-10-12  6:10     ` Carlos Pita

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1160741662.16545.9.camel@localhost.localdomain \
    --to=info@gerd-stolpmann.de \
    --cc=caml-list@inria.fr \
    --cc=diego.fernandez_pons@etu.upmc.fr \
    --cc=jonathan.roewen@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).