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 <beard@cs.ucdavis.edu>
Subject: Re: already prepared marlais 0.3?
Message-ID: <Cr0CnD.K1@ucdavis.edu>
X-Xxmessage-Id: <AA193AC7EC01FA47@modem71.ucdavis.edu>
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