From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by yquem.inria.fr (Postfix) with ESMTP id A1F41BC57 for ; Fri, 6 Aug 2010 06:04:36 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvECAAcnW0zRVdW0kGdsb2JhbACfWlcIFgEBAQkJDAcRAx+qc4kKghCGEi6IVAEBAwWFNQSJMA X-IronPort-AV: E=Sophos;i="4.55,326,1278280800"; d="scan'208";a="55147634" Received: from mail-yx0-f180.google.com ([209.85.213.180]) by mail3-smtp-sop.national.inria.fr with ESMTP; 06 Aug 2010 06:04:35 +0200 Received: by yxm8 with SMTP id 8so3308264yxm.39 for ; Thu, 05 Aug 2010 21:04:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=9eJzEps/eMjbmzzWl8zX0DYBZv8qt3t6syrl5Hb0iJM=; b=Q2Om6RfXEVV/nNlcq3DrA6UK0Yt5ChoSFxXvc+b9dfwaWeMnd6P4p1RvokRG5aGxmH MNZ3IS70f/GEDT1utOQtd3RM3VLurKYHHjpxkzUcR2EPsSJKt64mfAsWiBP61gpYYimY Z6SsZ7xJmeF/5Zd/pZ6xOnovp3RJGxb7KMz44= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=QlqzwYdqYjBquTYkdGM4m214MQa6vwHmAGGuhOKNoVUvbTUfVyDWH92a92Vm1NfXKW piENR8ijYWs22V2DEq/sNw99ibxakbpuwoGs1618VzrhjjsTFHelM9Vz+l5lNlSXsmgQ k5tSTaDwHoPpEsewyTm3tH/jqLDnfZKGNR22c= MIME-Version: 1.0 Received: by 10.101.75.5 with SMTP id c5mr13014208anl.190.1281067474766; Thu, 05 Aug 2010 21:04:34 -0700 (PDT) Received: by 10.101.59.19 with HTTP; Thu, 5 Aug 2010 21:04:34 -0700 (PDT) Date: Fri, 6 Aug 2010 00:04:34 -0400 Message-ID: Subject: interest in a much simpler, but modern, Caml? From: Jeremy Bem To: caml-list List Content-Type: multipart/alternative; boundary=001636af0211c44dae048d1fc32e X-Spam: no; 0.00; ocaml:01 typechecker:01 ocaml:01 ocamldoc:01 native-code:01 compiler:01 non-trivial:01 typechecker:01 ocamldoc:01 native-code:01 compiler:01 non-trivial:01 owing:98 owing:98 experimental:01 --001636af0211c44dae048d1fc32e Content-Type: text/plain; charset=ISO-8859-1 Dear caml-list, To support my research, I've developed an implementation ("Llama Light") of the core Caml language. Modules, objects, labels etc are not supported (except for file-level modules). The system strongly resembles OCaml, however the completely rewritten typechecker is not only much smaller in terms of lines-of-code; it has a genuinely simpler design owing especially to the lack of first-class modules. This wasn't obtained by stripping down OCaml, but rather by integrating OCaml features into Caml Light (although this history isn't visible in the end result). In a strict type-theoretic sense, the system is even simpler than Caml Light; I'll postpone the details. The system is fully self-hosting; all the main tools have been ported to the smaller language, e.g. "llamadoc" replaces ocamldoc, etc. The standard library has been ported as well, such as non-functorial versions of the Map and Set modules. Only the native-code compiler is missing, and that doesn't look like more than a day's work or so. My plans now call for adding features to replace the ones I've removed, namely experimental ones related to assisted theorem proving and inductive programming. However, it occurs to me that others might find the stripped-down "base system" to be useful for their own experiments. Obtaining it was a non-trivial amount of work, and I've tried to write the code clearly and carefully. So -- this posting is intended as a gauge of interest. How much effort should I expend to package what I've got, before adding my own experimental features? With community support (and a good approach to the Q License), maybe I could manage something fairly polished. Thanks, Jeremy --001636af0211c44dae048d1fc32e Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Dear caml-list,

To support my research, I've develop= ed an implementation ("Llama Light") of the core Caml language. M= odules, objects, labels etc are not supported (except for file-level module= s). The system strongly resembles OCaml, however the completely rewritten t= ypechecker=A0is not only much smaller in terms of lines-of-code; it has a g= enuinely simpler design owing especially to the lack of first-class modules= . =A0This wasn't obtained by stripping down OCaml, but rather by integr= ating OCaml features into Caml Light (although this history isn't visib= le in the end result). =A0In a strict type-theoretic sense, the system is e= ven simpler than Caml Light; I'll postpone the details.

The system is fully self-hosting; all the main tools ha= ve been ported to the smaller language, e.g. "llamadoc" replaces = ocamldoc, etc. The standard library has been ported as well, such as non-fu= nctorial versions of the Map and Set modules. =A0Only the native-code compi= ler is missing, and that doesn't look like more than a day's work o= r so.

My plans now call for adding features to replace = the ones I've removed, namely experimental ones related to assisted the= orem proving and inductive programming. However, it occurs to me that other= s might find the stripped-down "base system" to be useful for the= ir own experiments. =A0Obtaining it was a non-trivial amount of work, and I= 've tried to write the code clearly and carefully. =A0So -- this postin= g is intended as a gauge of interest. =A0How much effort should I expend to= package what I've got, before adding my own experimental features? =A0= With community support (and a good approach to the Q License), maybe I coul= d manage something fairly polished.

Thanks,
Jeremy
--001636af0211c44dae048d1fc32e--