From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id WAA05543; Wed, 26 May 2004 22:21:40 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id WAA05800 for ; Wed, 26 May 2004 22:21:38 +0200 (MET DST) Received: from mailout10.sul.t-online.com (mailout10.sul.t-online.com [194.25.134.21]) by concorde.inria.fr (8.12.10/8.12.10) with ESMTP id i4QKLbSH022945 for ; Wed, 26 May 2004 22:21:38 +0200 Received: from fwd07.aul.t-online.de by mailout10.sul.t-online.com with smtp id 1BT4u9-0005s6-03; Wed, 26 May 2004 22:21:37 +0200 Received: from t-online.de (Z6yQUTZVQeyCIjqwZIkt7ZC0Lto8zmYMLBcQT3coO3Ho06PAzPkfcM@[217.225.75.83]) by fwd07.sul.t-online.com with esmtp id 1BT4u4-1X1Dn60; Wed, 26 May 2004 22:21:32 +0200 Message-ID: <40B4FC4D.3070408@t-online.de> Date: Wed, 26 May 2004 22:21:33 +0200 From: szegedy@t-online.de (Christian Szegedy) User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6b) Gecko/20040214 Thunderbird/0.4 X-Accept-Language: en-us, en MIME-Version: 1.0 To: caml-list@inria.fr Subject: [Caml-list] Looking for collaborators on a hobby project Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Seen: false X-ID: Z6yQUTZVQeyCIjqwZIkt7ZC0Lto8zmYMLBcQT3coO3Ho06PAzPkfcM X-Miltered: at concorde with ID 40B4FC51.004 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; assuring:99 reflexive:01 ocamls:01 floats:01 run-time:01 python:01 beginners:01 camlp:01 somone:01 compiler:01 ocaml:01 ocaml:01 overloading:01 checking:01 checking:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk 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. 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. 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. 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. 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. The front-end and the back-end would make heavy use of CamlP4. I would start with actual coding if I find someone somone seriously interested. ------------------- 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