Re: [xml-dev] An approach to describing the relationships between units-of-measure
by John Cowan other posts by this author
Jul 21 2003 12:20PM messages near this date
Re: [xml-dev] An approach to describing the relationships between
units-of-measure
|
Re: [xml-dev] An approach to describing the relationships between units-of-measure
Emmanuil Batsis (Manos) scripsit:
> Thus, the signature to kilometer indicates a function signature where
> two parameters are passed, one for the number to convert and one for the
> type to convert from:
>
> function kilometer(someNumber, someType)
> {
> if(someType.equals("meters"))
> return fromMetersToKilometers(someNumber);
> // rest of elseif statements mapped to expected
> // input types here
> }
>
> which is bad, as the kilometer function can only accept a finite number
> of input types at first glance.
This is a classic case for the double-dispatching pattern that is used
in Smalltalk for mixed-mode arithmetic. Google for "double dispatch"
for details. But in fact there is a nonarbitrary choice, namely meters,
the SI unit of distance, for the pivot. The Kilometer object can ask
the Distance object to convert itself to meters, and then all it has
to know is one fact: 1 km = 1000 m.
--
John Cowan <jcowan@[...].com>
http://www.reutershealth.com http://www.ccil.org/~cowan
.e'osai ko sarji la lojban.
Please support Lojban! http://www.lojban.org
-----------------------------------------------------------------
The xml-dev list is sponsored by XML.org <http://www.xml.org> , an
initiative of OASIS <http://www.oasis-open.org>
The list archives are at http://lists.xml.org/archives/xml-dev/
To subscribe or unsubscribe from this list use the subscription
manager: <http://lists.xml.org/ob/adm.pl>
Thread:
Roger L. Costello
=?ISO-8859-1?Q?Bill_de_h=D3ra?=
Emmanuil Batsis (Manos)
John Cowan
David Carlisle
Thomas B. Passin
|