• Jay's Code for Dylan


Development Tools

BBEdit/TextWrangler language module for Dylan

This is Version 2.1 of a codeless language module to let BBEdit and TextWrangler understand a bit of Dylan syntax. It color-codes strings, comments, and keywords, and it provides popup navigation to classes and methods declared in the file.

Download the file (make sure the saved file name ends in ".plist"), and then copy it to either ~/Library/Application Support/TextWrangler/Language Modules (for just one user) or /Library/Application Support/TextWrangler/Language Modules (for all users on the machine). If you have BBEdit instead of TextWrangler, use it's Application Support subdirectory instead.
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.

Due to the limitations of BBEdit's codeless language modules, the module can only pick up definitions that follow the two keywords "class" and "method". If you prefer to pick up other definitions (e.g. "function") instead of "class", edit the plist file and change the value of key "Prefix for Procedures".

Dylan Code

Finalization library for d2c

This is a simple Gwydion Dylan (d2c) library that adds semi-automatic finalization to the garbage collector.

Download the source code for the library. It is licensed under LGPL.

It has the same API as Open Dylan. See the OD docs for reference.

There are a few small differences from Open Dylan.

Building the library

Source for the library are in several Dylan files and one Melange file. The Dylan logic uses two routines exported from the Boehm GC library. The Melange file generates almost-correct code, so the actual GC logic is hand-coded.

Invoke "make compile" to build the library.

Testing the library

A small test script exercises the finalization logic. Source code is test-finalization.dylan, and "make test" builds it. The test script shows that heap-allocated objects are indeed finalized correctly, both in manual garbage collects and in automatic collects. Stack-allocated objects are not finalized.


This page is part of Jay's Code
© .
Last Modified: 21 May 2006.