Marlais Sourceforge Project

Marlais is an interactor for the Dylan Programming Language (more information is available on Dylan at Functional Objects, Inc. and at the Gwydion Dylan Maintainers' Website).

Marlais was first developed by Brent Benson. Then, Dr. Wilson took up development with others and hosts Marlais up to version 0.5.12 at this web site. Douglas M. Auclair now heads this project, and maintains a page on Dylan at geocities.

The Plan

Marlais is in great shape ... it can load in and interpret Dylan files, and it can start and interactive session from scratch. It is, however, based on a Dylan spec of 6 years ago, so this project will bring Marlais up to speed in the following ways:
  1. First, we'll fix any inconsistancies of the functions defined in the Dylan Reference Manual (DRM), chapter 12. Actually, this task isn't so herculean, as most of the function and class bindings are correct, see the bindings list for what needs to be done.
  2. Next, we'll implement as much as the common-dylan spec described in the Common Dylan and Functional Extensions Reference
  3. Finally, we'll implement the hygenic macro system, and then, reimplement the basic "syntax" using macros and in accordance with chapter 14 of the DRM.
The above listed items are what I see as priorities. After that, we'll take on other Marlais issues as they occur to the group.

The SourceForge Logo project page is at https://sourceforge.net/projects/marlais/ -- this is where the source code and binaries for Windows and up to MacOS 8.x [0] are available (Unix users must build their own binaries, please).

The source code in CVS is browsable on the Web here.

If you wish to join the coding effort, please email me with your sourceforge username, and I'll add you to the list of people who can access and edit the Marlais source code.


News

August 29, 2001 I've completed a beta of the Common-Dylan specification's IO library (well, it works. It's not a library per se (as Marlais doesn't support libraries yet) but a collection of modules).
August 27, 2001 Jaime E. Vargas ported Marlais to Mac OS-X. There were a couple of tweeks needed (specifically number.c, error.c, and Makefile, all of which can be obtained from the CVS source tree) that make the call for a configure file a bit more urgent.
August 24, 2001 Released Marlais 0.6.4. This release fixes the issue between DEFINE-CONSTANT forms and the top-level-values binding mechanism. Did some code cleanup as well (removed more classic syntax code and some factored out code for defining methods).
August 23, 2001 Released Marlais 0.6.3 -- a bug-fix for concatenate that affected lists and strings (which, accidentally, affected format and friends). Also, added some new command-line switches -- -h for help, -e to execute Dylan expressions, and -v to print version number. Eliminated quit and bye in favor of EOF or BRK exits by the user (to assist CGI programming, file scripts and -e evals automatically exit unless the user uses -s (stay) that keeps the interactor running).
August 22, 2001 Released Marlais 0.6.2 -- this release no longer includes the Boehm GC but does have instructions on how to get it. This release includes closer conformance to the DRM, reduced/refactored source code, and better top-level bindings.
August 21, 2001 Marlais used to support the "classic syntax" (a la Scheme). I eliminated the code that supported it, as DRM-compliant Dylan no longer allows that. Also fixed the multiple-return-value issue, but still must fix the constant bindings of constants. This should not be too difficult, given DEFINE-CONSTANT is not supposed to return values.
August 20, 2001Did a comparison study of Marlais' Dylan module binding to that required by the DRM. Happily, Marlais is pretty close to the standard.
July 6, 2001Release Marlais 0.6.1 -- added parsing for Windows '\r' characters, integrated Boehm 5.3 GC, and Andreas's constants work.
July 3, 2001Andreas Bogk added a first go of top-level enumerated constants of returned values. "Normal" returned values are bound properly. What needs work is how user constant definitions are bound and that multiply-returned values are bound to multiple constants.
June 28, 2001Downloaded the latest Boehm GC and installed on my local copy of marlais. I'll do a new release once I tag the old sources and upload the new gc sources.

Notes

0MacMarlais under MacOS 9 bombs and demands you restart your computer -- avoid MacMarlais for MacOS 9 or build it from the sources with CodeWarrior, post it to ftp://upload.sourceforge.net/incoming as "anonymous", and send me an email so I can add it to the releases.

Mail Lists

marlais-hackers Discussion list for developers working on the Marlais source code
marlais-chatter Output from CVS to show who's done what to which source file