From beard@cs.ucdavis.edu Tue Jun 7 14:31:02 EDT 1994 Article: 2067 of comp.lang.dylan Xref: glinda.oz.cs.cmu.edu comp.lang.dylan:2067 Newsgroups: comp.lang.dylan Path: honeydew.srv.cs.cmu.edu!fs7.ece.cmu.edu!europa.eng.gtefsd.com!library.ucla.edu!news.ucdavis.edu!modem71.ucdavis.edu!beard From: Patrick C. Beard Subject: Re: already prepared marlais 0.3? Message-ID: X-Xxmessage-Id: X-Xxdate: Mon, 6 Jun 1994 04:42:47 GMT Sender: usenet@ucdavis.edu (News Guru) Organization: Dept. of Computer Science, U.C. Davis X-Newsreader: Nuntius Version 1.2 References: <01HD8A7WLZ429I4S0T@ttacs.ttu.edu> Date: Tue, 7 Jun 1994 03:35:37 GMT Lines: 33 In article <01HD8A7WLZ429I4S0T@ttacs.ttu.edu> Don Winiecki, IBDON@ttacs1.ttu.edu writes: >My current research may be facilitated by some experiments with Marlais 0.3 >but my current setup doesn't allow me to compile the code provided here on >the FTP site. Does someone have a prepared Marlais that I can run on 386 >class machines or on Macintosh `030 machines? I'm more than happy with my >current set of tools (LISP) but have never gotten the hang of CLOS. > >Marlais (nee Dylan) could be an up. > >thanks in advance. Well, this is as good a time as any to announce this. Over the last two days I: 1) Ported v4.1 of the Boehm collector used by Marlais to Symantec/THINK C. I've sent my version to Hans Boehm, who is right now integrating my changes into the main sources. 2) Brought Marlais 0.3 up with it, and it seems to be running fine. Just using the console interface for now. When I get time, I might go for an integrated editor interface. Marlais is a nice piece of work. I've been trying examples from the first Dylan book, and a lot of it just works. I suppose this is the reason I've been posting so much to this group. The excitement is building. How should I distribute this? Would it be appropriate to put on cambridge.apple.com? // // Patrick C. Beard // Dept. of Computer Science, U. C. Davis // beard@cs.ucdavis.edu // Article 2100 of comp.lang.dylan: Xref: glinda.oz.cs.cmu.edu comp.lang.dylan:2100 Path: honeydew.srv.cs.cmu.edu!das-news.harvard.edu!noc.near.net!news.cambridge.apple.com!straz@cambridge.apple.com Message-ID: <9406081820.AA14866@cambridge.apple.com> X-Sender: straz@ministry.cambridge.apple.com Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: binary Date: Wed, 8 Jun 1994 14:21:50 -0400 Original-To: announce-dylan@cambridge.apple.com From: straz@cambridge.apple.com (Steve Strassmann) Subject: MacMarlais 0.3 now available Newsgroups: comp.lang.dylan Followup-To: poster Distribution: world Sender: list-admin@news.cambridge.apple.com Approved: comp.lang.dylan@news.cambridge.apple.com Lines: 48 Thanks to Patrick C. Beard of UC Davis, we now have a Mac version of Marlais, available by anonymous ftp from cambridge.apple.com:pub/dylan/Marlais/macmarlais-0.3.hqx Please keep in mind that this still only supports the old lisp-like syntax; it does not yet support the newer, official algebraic syntax. Below is the readme file: ---------- This is a port of v0.3 Marlais to the Macintosh. The code is mostly unchanged except for a few bug fixes/enhancements that I made. One addition is a file called os_dep.c which contains a function called initialize_os(), to do platform specific initializations. On UNIX, this could be left empty. I also had to add some GNU getopt() code, which uses GC_malloc() for alloca! I also added type discrimination to setter methods so that if a slot of a class has a specific type, the setter generic function descriminates on it. This should prevent putting garbage into slots. Building Marlais 0.3 with Symantec's THINK C -------------------------------------------- This was built with v7.0.2 of THINK C. You'll need at least v7.x to use my projects that I supply. I've included v4.1 of the garbage collector, but it is precompiled into the project file gc.lib.<. If you keep the collector in a sub-folder of marlais-0.3, the collector's folder needs to be shielded, i.e., surrounded by (), as I've provided it. This is because both Marlais and the collector have some filenames that are the same. The collector is configured to allocate memory from temporary memory rather than the application heap. This allows the built Marlais to get by with a 768k application partition. It allocates a 256k stack, and uses the rest of the space for its code. All memory allocation beyond that is done using the collector. Happy Dylaning! Patrick C. Beard beard@cs.ucdavis.edu June 8, 1994 Article 2171 of comp.lang.dylan: Xref: glinda.oz.cs.cmu.edu comp.lang.dylan:2171 Path: honeydew.srv.cs.cmu.edu!das-news.harvard.edu!noc.near.net!news.cambridge.apple.com!straz@cambridge.apple.com Message-ID: <9406132036.AA06160@cambridge.apple.com> X-Sender: straz@ministry.cambridge.apple.com Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: binary Date: Mon, 13 Jun 1994 16:37:57 -0400 Original-To: announce-dylan@cambridge.apple.com From: straz@cambridge.apple.com (Steve Strassmann) Subject: MacMarlais v0.3.1 Original-Cc: rms@gnu.ai.mit.edu (Richard Stallman) Newsgroups: comp.lang.dylan Followup-To: poster Distribution: world Sender: list-admin@news.cambridge.apple.com Approved: comp.lang.dylan@news.cambridge.apple.com Lines: 94 There is now a very slightly newer version of MacMarlais on our anonymous ftp site, cambridge.apple.com:/pub/dylan/Marlais/macmarlais-0.31.hqx The previous version, 0.3, contained some GNU code (getopt, for command-line options) that wasn't really being used, but nevertheless was included in a manner incompatible with the terms of the GNU Public License. At the request of the GNU folk, MacMarlais 0.3.1 does not contain any GNU code. We apologize for any inconvenience. Marlais 0.3 never contained any GNU code; this issue only affects the Macintosh-specific port of Marlais 0.3. If you already have the non-Mac version of Marlais 0.3, you should not be affected by this. Marlais is a simple-minded interpreter for a program language strongly resembling Dylan. It is not intended as a final release, but rather to fill a perceived void where Dylan implementations are concerned. This is a "hackers release" and is intended as a vehicle for education, experimentation and also to encourage people to port it to different architectures, add features, and fix bugs. Marlais is alpha software and should not be used by people desiring reliability!!! Please note that this version supports the older lisp-like syntax, not the newer, official algebraic syntax. ------------ Here's the new README.MacMarlais README.MacMarlais ----------------- This is a port of v0.3 Marlais to the Macintosh. The code is mostly unchanged except for a few bug fixes/enhancements that I made. One addition is a file called os_dep.c which contains a function called initialize_os(), to do platform specific initializations. On UNIX, this could be left empty. No GNU code was used in the porting of this software. The Macintosh doesn't even have a command line! I also added type discrimination to setter methods so that if a slot of a class has a specific type, the setter generic function descriminates on it. This prevents putting garbage into slots. It doesn't tell you this if you try; you just get an error telling you that no generic function exists for the type of value you are trying to store. MacMarlais 0.3.1 Enhancements ----------------------------- * Stack checking - For the most part, and operation that would blow the stack will now be abored. * Command-period - This sends a signal to abort out of control programs. Only works currently during printing to the console. * Miscellaneous changes for better string performance. Symbols are now interned in the case they were entered with, but are compared case-insensitively. * reverse, reverse! - now works for strings. This required some changes in init.dyl. * find-method now implemented. Building Marlais 0.3.1 with Symantec's THINK C ---------------------------------------------- This was built with v7.0.2 of THINK C. You'll need at least v7.x to use the projects that I supply. I've included v4.1 of the garbage collector precompiled into the project file gc.lib.<. The sources are in a separate archive called gc4.1-mac.sit. The sources aren't needed to build MacMarlais. If you keep the collector in asub-folder of marlais-0.3, the collector's folder needs to be shielded, i.e., surrounded by (). This is because both Marlais and the collector have some filenames that are the same. The collector is configured to allocate memory from temporary memory rather than the application heap. This allows the built Marlais to get by with a 768k application partition. It allocates a 256k stack, and uses the rest of the space for its code. All memory allocation beyond that is done using the collector. Happy Dylaning! Patrick C. Beard beard@cs.ucdavis.edu June 13, 1994