[Prev][Next][Index][Thread]
Namespaces, Flexibility & Dylan
-
To: info-dylan@ai.mit.edu
-
Subject: Namespaces, Flexibility & Dylan
-
From: dauclair@hotmail.com
-
Date: Sat, 29 Jul 2000 00:00:01 -0400 (EDT)
-
Organization: Deja.com - Before you buy.
-
Xref: traf.lcs.mit.edu comp.lang.dylan:12518
Just finished work on a(n intentionally limited) UML->HTML
parser/generator (which I use as a CGI executable). A problem I had
was UML concepts had the same names as Dylan ones (particularly,
<class>).
This problem was a fruitful one, as it led me to discover how libraries
and modules work as an advanced namespace system. In my UML-parser
module, I added 'use dylan, rename: { <class> => <dylan-class> };' and,
thereafter, UML and Dylan <class> objects where able to co-exist
peacefully (I needed to use both in my system).
Coming from using C++'s 'namespace' keyword, and Java's 'package'
concept (anyone use the Java ORB and need to specify what Object
(org.omg.CORBA.Object or java.lang.Object) they mean?), this
functionality is simple, easy to use, and revolutionary.
-----
So, I showed the company owner the UML diagrams served from the Dylan
CGI. She made made some recommendations for changes, which, because I
had made these configurable as run-time parameters, I was able to
implement in 30 seconds, with no down time.
That's another beautiful thing about Dylan: its flexibility.
Certainly, other programming languages allow seperating
responsibilities between compile- and run-time roles, but in Dylan I
find I can leverage these roles more effectively.
Some happy thoughts of a Dylan programmer.
Sincerely,
Douglas M. Auclair
Sent via Deja.com http://www.deja.com/
Before you buy.