caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Christophe Raffalli <Christophe.Raffalli@univ-savoie.fr>
To: Basile STARYNKEVITCH <basile@starynkevitch.net>,
	caml-list@yquem.inria.fr
Subject: Re: unboxed scalars - was [Caml-list] caml: camlp4 revised syntax
Date: Sun, 15 Jul 2007 19:50:09 +0200	[thread overview]
Message-ID: <469A5E51.4080200@univ-savoie.fr> (raw)
In-Reply-To: <469A082A.70303@starynkevitch.net>

Basile STARYNKEVITCH a écrit :
> tmp123@menta.net wrote:
>> Hello,
>>
>> First of all, thanks to all people who develops this language and 
>> related tools, and to people who supports them using it.
>>
>> I decided to use it in several developments. When finished, the 
>> developed modules will be made public, if they are enough generic 
>> (best place to publish it?)
>>
>> Two points still causing some troubles:
>>
>> 1) The internal integer coding:
>>
>> It seems that an integer of value "x" is internally stored like 
>> "2x*1" ( x shift 1 or 1 ). That is a loss of performance, not only 
>> when doing calculations, but also, by example, when using the integer 
>> as index of a string character, ... . Usage of native-int doesn't 
>> improves the subject.
>
> This is unlikely to change any soon. It is (nearly) required by 
> polymorphic functions (like List.map).
>
> Changing it would require a very major change of the compiler, which 
> should specialize all polymorphic functions for such unboxed scalar 
> types. If it was done, it would require either a whole program 
> compilation, or a possible (exponential) bloat of generated code size 
> (basically for each polymorphic function, you would have to generate 
> all the scalar forms in addition of the polymorphic one).
>
Just look at MLTon, everything is monomorphised (and defunctorized) 
before generating assembly code ... and it works, because polymorphic 
functions are used
in fact with a very small set of types (often one !)  and only small  
function like map are used with many type ... So MLTon way may be the 
future of ML

Christophe
 


  parent reply	other threads:[~2007-07-15 17:50 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.7.1184494090.1020.caml-list@yquem.inria.fr>
2007-07-15 10:48 ` tmp123
2007-07-15 11:42   ` unboxed scalars - was [Caml-list] " Basile STARYNKEVITCH
2007-07-15 13:16     ` Gerd Stolpmann
2007-07-15 17:50     ` Christophe Raffalli [this message]
2007-07-16 16:40   ` Richard Jones
2007-07-17  3:08   ` Jon Harrop
2007-07-21 11:31 ` dml tmp123

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=469A5E51.4080200@univ-savoie.fr \
    --to=christophe.raffalli@univ-savoie.fr \
    --cc=basile@starynkevitch.net \
    --cc=caml-list@yquem.inria.fr \
    /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).