caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Michael Vanier <mvanier@cs.caltech.edu>
To: skaller@users.sourceforge.net
Cc: oleg_trott@columbia.edu, caml-list@inria.fr
Subject: Re: [Caml-list] extensible records again
Date: Sun, 21 Mar 2004 14:35:56 -0800 (PST)	[thread overview]
Message-ID: <20040321223556.8023C9BBA2@orchestra.cs.caltech.edu> (raw)
In-Reply-To: <1079888775.3165.11.camel@pelican.wigram> (message from skaller on 22 Mar 2004 04:06:18 +1100)


> From: skaller <skaller@users.sourceforge.net>
> Date: 22 Mar 2004 04:06:18 +1100
> 
> On Mon, 2004-03-22 at 03:10, Oleg Trott wrote:
> > Michael Vanier wrote:
> > 
> >  In fact, in your case, I believe it's more convenient 
> > not to create an artificial distinction between the "core types" and 
> > "other types": suppose someone extended your language with "files", and 
> > you later decide to add "file" to your "core types". You'll have to 
> > redefine "data" and refactor a lot of your base code to do it, unless 
> > you just use polymorphic variants, as suggested (in which case there is 
> > no special distinction between "core types" and "other types").
> 
> However there IS a reason for making the distinction sometimes,
> namely performance.
> 
> My Vyper interpreter (a Python interpreter written in Ocaml)
> used a type like
> 
> type PyObject = Int of int | Float of float |
> String of string | PyClass of pyclass
> 
> which deliberately distinguished simple types
> so that a fast match could be used to perform
> common calculations:
> 
> match o1, o2 with
> | Int i, Int j -> Int (i + j)
> ....
> 

Is the code for Vyper still available?

Also, is there really any significant speed difference between polymorphic
variants and regular variants?  How would this compare to using exceptions
as an extensible variant type?

Mike


-------------------
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


  parent reply	other threads:[~2004-03-21 22:36 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-03-21  6:21 Michael Vanier
2004-03-21  8:08 ` Oleg Trott
2004-03-21  8:40   ` Michael Vanier
2004-03-21 16:10     ` Oleg Trott
2004-03-21 17:06       ` skaller
2004-03-21 17:36         ` Oleg Trott
2004-03-22  3:19           ` skaller
2004-03-22  7:49           ` Ville-Pertti Keinonen
2004-03-22  9:32             ` Oleg Trott
2004-03-22 10:25               ` Ville-Pertti Keinonen
2004-03-21 22:35         ` Michael Vanier [this message]
2004-03-22  3:39           ` skaller
2004-03-21 22:34       ` Michael Vanier
2004-03-22  3:31         ` skaller
2004-03-22  5:54           ` Michael Vanier
2004-03-23 19:14             ` skaller
2004-03-24  1:41               ` Jacques Garrigue
2004-03-24  8:44                 ` Julien Signoles
2004-03-24 10:04                   ` Jacques Garrigue
2004-03-21  8:53 ` Martin Jambon
2004-03-21  9:22   ` Michael Vanier
2004-03-21 17:00 ` skaller
2004-03-22  8:13 ` Achim Blumensath
2004-03-23  2:14   ` Michael Vanier
2004-03-23  7:25     ` Achim Blumensath
2004-03-31 10:05 ` Marcin 'Qrczak' Kowalczyk

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=20040321223556.8023C9BBA2@orchestra.cs.caltech.edu \
    --to=mvanier@cs.caltech.edu \
    --cc=caml-list@inria.fr \
    --cc=oleg_trott@columbia.edu \
    --cc=skaller@users.sourceforge.net \
    /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).