From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: weis Received: (from weis@localhost) by pauillac.inria.fr (8.6.10/8.6.6) id RAA19560 for caml-redistribution; Mon, 15 May 1995 17:21:03 +0200 Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.6.10/8.6.6) with ESMTP id RAA19294 for ; Mon, 15 May 1995 17:04:24 +0200 Received: from uu3.psi.com (uu3.psi.com [38.145.250.2]) by nez-perce.inria.fr (8.6.10/8.6.9) with SMTP id RAA24521 for ; Mon, 15 May 1995 17:04:11 +0200 Received: from flavors.com by uu3.psi.com (5.65b/4.0.071791-PSI/PSINet) via SMTP; id AA28807 for caml-light@pauillac.inria.fr; Mon, 15 May 95 11:02:53 -0400 Received: from [204.5.215.14] by flavors.com with SMTP (MailShare 1.0b8); Mon, 15 May 1995 11:02:33 -0400 Message-Id: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Date: Mon, 15 May 1995 11:01:21 -0400 To: Graham White , caml-light@pauillac.inria.fr From: e@flavors.com (Doug Currie, Flavors Technology, Inc.) Subject: Re: Suggestion for Caml Light 0.7 for Mac Sender: weis At 3:58 PM 95.05.12, Graham White wrote: >>Regarding the announcement of the release of Caml Light 0.7 beta 4 >> >>> The Macintosh version has not been recompiled yet. >> >>I don't know how easy it would be to do this but as a Mac user of >>Caml Light I find it very inconvenient to keep switching between >>the Caml application and my editor. Would it be possible >>to make Caml Light scriptable by AppleScript, and to maybe log its top-level >>output to a file for easy error location? The simplest interface to Caml Light >>would just be a script command which accepts a string and treats it as if it >>were top level input. Even better, the command could return the >>top-level output as a string to the calling application. >Probably an even better way would be to have input and output to Caml via >apple events, so that you could run it using Alpha as a shell. You would >then have all the facilities of Alpha, and input and output to Caml would >appear in Alpha windows. I've just been working with Tom Kiffe on doing >this with CMacTeX, and it's really quite easy; if anyone wants more >details, I can send them. The evaluation mechanism described by Claudio Russo would be difficult to add. It is very hard to tell when Caml Light is finished with a command. For the toplevel, one could detect the prompt string to see when Caml Light was done, but this doesn't work for all situations, e.g., user written parsers, error messages, etc. A stream based approach might work; perhaps this is what Graham White is describing. In a stream based approach there is no necessary correspondence between AppleEvents sent and received. The editor and Caml Light simply package up characters into messages and send them off. Perhaps they do this for every character, or every line, or upon command. One difficulty with this approach is that the correspondence between user input and Caml output is lost. The two streams either go to two windows, or the streams are intermixed haphazardly. Presumably you'd like Caml Light to continue supporting Compile File and Load File menu commands. I also find it convenient to select some text in an edit buffer and send it to Caml Light as input, receiving output in another window. Does Alpha do this, too? I have integrated a multi-window editor and interaction window with Caml Light on the Mac which addresses all these issues, except "I want to use my editor as an interaction window." It has different styles for user and Caml typed text in the same window, supports user and Caml typing simultaneously without intermixing the strings, and is not subject to the far-too-frequent 32K Mac edit buffer limitation. This Caml Light front end also currently supports the "dosc" DoScript AppleEvent which will send a text string or a file as input to Caml Light; the output, unfortunately, is currently sent to the interaction window. I have given my Caml Light Mac front end to INRIA for their use as they see fit. At some point in the future I may be able to add the stream based AppleEvents, but not real soon. The sources are included, however, and I would invite anyone interested to give it a try. e