Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] Looking for collaborators on a hobby project
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Richard Zidlicky <rz@l...>
Subject: Re: [Caml-list] Looking for collaborators on a hobby project
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