- From: Sean B. Palmer <sean@mysterylights.com>
- Date: Sat, 1 Dec 2001 03:33:21 -0000
- To: "Tim Berners-Lee" <timbl@w3.org>, "Dan Connolly" <connolly@w3.org>
- Cc: <www-archive@w3.org>
- Message-ID: <00a201c17a19$2b544a80$cc560150@localhost>
Hi,
* sbp thought of doing an arithmetic built-in next: cwm_math.py
* tim says go ahead!
Done, <<cwm_math.py>>. CWM can now do addition, multiplication,
subtraction, division, remainders, negation, exponentiation, count the
members in a DAML list, and do the normal truth checking functions,
only sub classed for numeric values (cf. list of actual property names
[1]).
I hope you don't mind, but I simply nicked a SWAP namespace:-
http://www.w3.org/2000/10/swap/math#
I've written up the schema, and attached it as <<math.n3>>.
The test file is also attached as <<math-test.n3>>, the output as
<<math-test-out.n3>> (command line at [2]). The "biggest" test is:-
[[[
{ :x math:sumOf ([ math:quotientOf ("7" "2") ]
[ math:exponentiationOf ([ math:remainderOf ("7" "2")]
"10000000") ]
[ is math:memberCount of ("a" "b" "c" "d" "e") ]) } log:implies
{ :x :valueOf "(7 / 2) + ((7 % 2)^10000000) + 5 [should be 9.5]" } .
]]]
which gives the correct output:-
[[[
"9.5" :valueOf "(7 / 2) + ((7 % 2)^10000000) + 5 [should be 9.5] .
]]]
<<llyn.py>> is also attached, since I needed to modify it to recognize
the built-ins. Note also the development process [3].
Cheers,
[1] List of the properties: sumOf, differenceOf, productOf,
quotientOf, remainderOf, negationOf, exponentiationOf, memberCount,
greaterThan, notGreaterThan, lessThan, notLessThan, equalTo,
notEqualTo.
[2] python cwm.py math-test.n3 -think -purge > math-test-out.n3
[3] http://ilrt.org/discovery/chatlogs/rdfig/2001-12-01.txt 01:20:58
--
Kindest Regards,
Sean B. Palmer
@prefix : <http://webns.net/roughterms/> .
:Sean :hasHomepage <http://purl.org/net/sbp/> .
Attachments
- text/plain attachment: cwm_math.py
- text/plain attachment: math.n3
- text/plain attachment: math-test.n3
- text/plain attachment: math-test-out.n3
- text/plain attachment: llyn.py
Received on Friday, 30 November 2001 22:35:22 UTC