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.
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".
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.
Common-Extensions library.
automatic-finalization-enabled?, drain-finalization-queue)
are present but do nothing.
debug-finalization (registration-hook, finalization-hook)finalize-when-unreachable() and finalize() are called.
The hook functions should accept a single <raw-pointer> parameter.
Returns the old hooks. Pass #f to uninstall.
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.
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.