caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Eijiro Sumii <eijiro_sumii@anet.ne.jp>
To: caml-list@yquem.inria.fr
Cc: jon@jdh30.plus.com, sumii@saul.cis.upenn.edu
Subject: Re: [Caml-list] MinCaml: an educational compiler for tiny ML subset (documented in Japanese)
Date: Sat, 05 Mar 2005 09:37:42 -0500 (EST)	[thread overview]
Message-ID: <20050305.093742.46637291.eijiro_sumii@anet.ne.jp> (raw)
In-Reply-To: <200503050832.42927.jon@jdh30.plus.com>

From: "Jon Harrop" <jon@jdh30.plus.com>
> > Yet, it produces as efficient SPARC code as OCaml and GCC does
> 
> Did you choose SPARC because of availability or for technical reasons?

Both - Sun is still strong in universities around me and IA-32 is a
mess (for me, at least) compared to RISC...

> > for the tiny ML subset and equivalent C programs).
> 
> What features of ML are implemented?

Only a _very_ tiny subset: for now, it does not have polymorphism,
data types, modules, nor garbage collection (so I shouldn't even call
it ML, except that the syntax is a subset of OCaml).  However, it
_does_ have type inference, higher-order functions, floating-point
numbers, tuples, and arrays with destructive update - which are
sufficient for minimal examples (such as gcd, ack, matrix, etc.)  and
one application (raytracing).  Also, it does implement optimizations
such as known-function calls, tail calls, inlining, constant folding,
etc.  It can call external functions if you provide the stubs in
assembly.

The subset is so tiny because MinCaml was developed for an
undergraduate course, where I put most energy to the ease of
understanding and couldn't include many features.  However, adding
them would be a nice project for more advanced students.

By the way, for the majority of people who do not speak Japanese:-), I
am preparing an Enlish documentation.

--
Eijiro Sumii (http://www.cis.upenn.edu/~sumii/)
Department of Computer and Information Science, University of Pennsylvania


  reply	other threads:[~2005-03-05 14:37 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-03 22:26 Eijiro Sumii
2005-03-05  8:32 ` [Caml-list] " Jon Harrop
2005-03-05 14:37   ` Eijiro Sumii [this message]
2005-03-05 14:48     ` Eijiro Sumii
2005-03-07  0:20     ` Jon Harrop
2005-03-08  3:01       ` MinCaml English Documentation Eijiro Sumii
2005-03-08  4:12         ` Jon Harrop
2005-03-08  7:09         ` [Caml-list] " Ken Friis Larsen
2005-03-08 18:59         ` David MENTRE
2005-03-08 19:15           ` Eijiro Sumii
2005-03-08 20:13         ` Xavier Leroy
2005-03-08 22:32           ` Eijiro Sumii
2005-03-14 17:31             ` Looking for an efficient implementation of simply typed lambda calculus Sébastien Hinderer
2005-03-15 20:59               ` [Caml-list] " Manos Renieris
2005-03-05  9:46 ` [Caml-list] MinCaml: an educational compiler for tiny ML subset (documented in Japanese) Corey O'Connor
2005-03-05 12:01 ` Oliver Bandel
2005-03-05 16:45   ` Eijiro Sumii
2005-03-05 17:19 ` OT: " Richard Jones

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=20050305.093742.46637291.eijiro_sumii@anet.ne.jp \
    --to=eijiro_sumii@anet.ne.jp \
    --cc=caml-list@yquem.inria.fr \
    --cc=jon@jdh30.plus.com \
    --cc=sumii@saul.cis.upenn.edu \
    /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).