From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr 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 2BE6ABC57 for ; Fri, 5 Nov 2010 15:26:13 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AhsBABKx00yE4zwemWdsb2JhbAChcRUBAQEBAQgLCgcRIrtVhUcEilU X-IronPort-AV: E=Sophos;i="4.58,303,1286143200"; d="scan'208";a="65106334" Received: from osiris.lip6.fr ([132.227.60.30]) by mail3-smtp-sop.national.inria.fr with ESMTP; 05 Nov 2010 15:26:12 +0100 Received: from tibre.lip6.fr (tibre.lip6.fr [132.227.74.2]) by osiris.lip6.fr (8.14.4/lip6) with ESMTP id oA5EQ7jQ002121 ; Fri, 5 Nov 2010 15:26:07 +0100 (CET) X-pt: osiris.lip6.fr Received: from postepwang.calsci.lip6.fr (postepwang [132.227.83.184]) by tibre.lip6.fr (8.14.4/8.13.3) with ESMTP id oA5EQ7ZH004336; Fri, 5 Nov 2010 15:26:07 +0100 (MET) Subject: Re: [Caml-list] (Announce) "OCAPIC" : OCaml for PIC18 microcontrollers Mime-Version: 1.0 (Apple Message framework v1081) Content-Type: text/plain; charset=windows-1252 From: Philippe Wang In-Reply-To: Date: Fri, 5 Nov 2010 15:26:06 +0100 Cc: Philippe Wang , caml-list@inria.fr Content-Transfer-Encoding: quoted-printable Message-Id: References: <951AD91B-DA92-4F92-AE90-86A13DDB2357@lip6.fr> To: =?iso-8859-1?Q?Daniel_B=FCnzli?= X-Mailer: Apple Mail (2.1081) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.5 (osiris.lip6.fr [132.227.60.30]); Fri, 05 Nov 2010 15:26:07 +0100 (CET) X-Scanned-By: MIMEDefang 2.68 on 132.227.60.30 X-Spam: no; 0.00; ocaml:01 ocaml:01 bytecode:01 ocamlc:01 statically:01 dynlink:01 dynlink:01 bytecode:01 cheers:01 bunzli:01 wrote:01 binaries:01 ccs:01 caml-list:01 portability:02 PIC ASM is the first "programming language" Beno=EEt learnt, a few years = ago. He has practiced it ever since. But meanwhile he learnt OCaml (among other languages). A few months ago, = he suggested me to implement an OCaml virtual machine running on PICs, = with maximum performance efficiency in mind. This is why OCAPIC's VM is = implemented in ASM.=20 The purpose is of course to program PICs with a high level language = while remaining (relatively) *very* efficient. Vincent St-Amour and Marc Feeley have a similar project (Scheme on PICs) = which a much higher priority on portability: their VM is implemented in = C code. http://www.ccs.neu.edu/home/stamourv/picobit-ifl.pdf The "side effect" of our project =97 which can interest many OCaml users = =97 is that OCAPIC provides "ocamlclean", which is a tool that takes an = OCaml bytecode binary (produced by ocamlc) and reduces it by = (statically) eliminating most of its deadcode (and of course dynlink is = thence broken; note that dynlink is not relevant on PICs). This tool is = independent from the rest of OCAPIC. Actually, this tool was mandatory for programs using OO-layer : without = it, bytecode binaries embedding OO-layer were to big to fit on our PICs.=20= Cheers, Philippe On Nov 5, 2010, at 1:35 PM, Daniel B=FCnzli wrote: > Interesting project. Was the choice of PIC based on technical reasons > or just familiarity of the authors with these chips ? >=20 > I would have liked to give it a try but unfortunately I work AVRs and = avr-gcc. >=20 > Best, >=20 > Daniel