[
Lists Home |
Date Index |
Thread Index
]
Hi Roger,
Roger L. Costello wrote:
> Recall that <kilometer> may be considered as a function:
>
> kilometer(length(Yangtze)) --> 6340
>
> "kilometer maps the length of the Yangtze to 6340."
Does not feel right. For the above to be a meaningfull function, one
should assume that Yangtze has a length property in some internal
representation (attribute value) L so that length is
function length()
{
return this.L;
}
and kilometer is
function kilometer(someNumber)
{
return toKilometers(someNumber);
}
but parts of the equasion are missing:
1) What kind of unit is used to internally store L?
2) What formula should be used to convert L to kilometers in kilometer()?
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.
IMHO the above practically becomes something like:
L = length(Yangtze)
T = L.type()
kilometer(L,T)
> Issue #1: Above I said that:
<snip about="tolerance" eg="(6340 k, 3914 m) in {k, m | k = m * 1.62}"/>
Cause tolerance should be specified as above. If tolerance is just a
third parameter, it's power grows weaker while numbers get higher.
Unless tolerance is a float used to construct
k >= m * 1.61 && k >= m * 1.63
from
k, m | k = m * 1.62
as in
tolerance = 0.01
Very interesting approach. Please do give this stuff an online home or
something.
--
Manos Batsis
Netsmart S.A.
Snail mail:
Panepistimiou 58,
10678, Athens, Hellas
URL: http://www.netsmart.gr
Email: mbatsis at netsmart dot gr
Tel: (+30) 210 33 02 608
Fax: (+30) 210 33 02 658
FOAF: http://forte.netsmart.gr/foaf/manos_foaf.rdf
|