caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Richard Zidlicky <rz@linux-m68k.org>
To: Christian Szegedy <szegedy@t-online.de>
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] Looking for collaborators on a hobby project
Date: Fri, 28 May 2004 11:17:20 +0200	[thread overview]
Message-ID: <20040528091720.GA1139@linux-m68k.org> (raw)
In-Reply-To: <40B4FC4D.3070408@t-online.de>

On Wed, May 26, 2004 at 10:21:33PM +0200, Christian Szegedy wrote:
> I am looking for collaborators for the following project:
> 
> I am considering to create a Ruby-like language in Ocaml.
> 
> The main difference would be that it would be compiled
> while assuring type safety.

if you could create something as easy to learn, with the type
safeness and speed of ocaml that would be really great, not
only for beginners.

Ruby is much more object oriented while Ocaml strength
is the functional sort of programming. I wonder how
much of the speed advantage would be retained if you
turn everything (like numbers) into objects.

> It would be both interpreted (first pass), then a selected
> subset of methods are mapped to Ocaml classes and
> they get compiled.  It would be completely reflexive,
> so the first pass would be able to modify the syntax tree
> in any possible way.

> So, the language would basically operate on itself as
> a preprocessor (without type checks), then the second
> phase would be done with exact type checking.

not sure how much benefit this would be for the beginner..

> The Ruby (I don't plan to implement the whole language
> at first, just the most important part of it.) classes
> are mapped to Ocaml classes. The implementation
> would only use a small part of Ocamls features.
> 
> Anyway, you would be able to program without writing
> supplying ANY type information, just like in a scripting
> language, but the compiler would detect
> all possible type problems. 

iirc there also used to be something like "static" Ruby,
allowing to declare types to get more type safety.
It might be worth to include some possibility to do
so becuase otherwise some of the type safety might
be eroded by polymorphism. Eg pretty much every variable
in Ruby would turn into the object or nil polymorphism
whereas catching the nils in unexpected places was
typically the biggest issue I had with my Ruby proggies.

> Of course, that means that
> every single data (integers,floats, etc.) are wrapped
> by Ocaml classes, which would effect the run-time
> compared to native Ocaml code considerable. However,
> according to my preliminary test, they it would be still much
> faster then a Ruby (or Python) code. The main advantage
> of the approach is the additional safety of type checking.

do you want to support the similar type of bignum arithmetic
as Ruby? 

> The advantage over OCaml would be: easier to learn for
> beginners. Full scale polymorphism and overloading.
> Of course, you can achieve the same effect right now,
> but it would simplify things quite a bit.

this looks like a very interesting project to me.

Richard

-------------------
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-05-28  9:19 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-05-26 20:21 Christian Szegedy
2004-05-26 21:36 ` Brandon J. Van Every
2004-05-26 21:37   ` Richard Jones
2004-05-28  9:17 ` Richard Zidlicky [this message]
2004-05-27 21:11 Christian Szegedy
2004-05-27 22:09 ` skaller
2004-05-27 23:00   ` Christian Szegedy

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=20040528091720.GA1139@linux-m68k.org \
    --to=rz@linux-m68k.org \
    --cc=caml-list@inria.fr \
    --cc=szegedy@t-online.de \
    /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).