flora-commits Mailing List for Flora-2
Brought to you by:
kifer
You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(59) |
Jun
(43) |
Jul
(4) |
Aug
(4) |
Sep
(102) |
Oct
(20) |
Nov
(47) |
Dec
(32) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(24) |
Feb
(34) |
Mar
(72) |
Apr
(36) |
May
(10) |
Jun
(46) |
Jul
(36) |
Aug
(24) |
Sep
(37) |
Oct
(27) |
Nov
(43) |
Dec
(40) |
| 2004 |
Jan
(35) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(30) |
Aug
(83) |
Sep
(68) |
Oct
(38) |
Nov
(3) |
Dec
(7) |
| 2005 |
Jan
(9) |
Feb
(31) |
Mar
(46) |
Apr
(73) |
May
(21) |
Jun
(1) |
Jul
(32) |
Aug
(33) |
Sep
(3) |
Oct
(28) |
Nov
(4) |
Dec
(23) |
| 2006 |
Jan
(22) |
Feb
(2) |
Mar
(12) |
Apr
(23) |
May
(73) |
Jun
(14) |
Jul
|
Aug
(20) |
Sep
(14) |
Oct
(5) |
Nov
|
Dec
(14) |
| 2007 |
Jan
(54) |
Feb
(81) |
Mar
(286) |
Apr
(313) |
May
(154) |
Jun
(85) |
Jul
(8) |
Aug
(11) |
Sep
(12) |
Oct
(14) |
Nov
(6) |
Dec
(6) |
| 2008 |
Jan
|
Feb
|
Mar
(1) |
Apr
(12) |
May
(4) |
Jun
|
Jul
(13) |
Aug
(22) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(46) |
Jun
(43) |
Jul
(46) |
Aug
(9) |
Sep
(13) |
Oct
(31) |
Nov
(42) |
Dec
(18) |
| 2014 |
Jan
(7) |
Feb
(7) |
Mar
(11) |
Apr
(13) |
May
(16) |
Jun
(6) |
Jul
(17) |
Aug
|
Sep
(2) |
Oct
|
Nov
(1) |
Dec
|
| 2015 |
Jan
|
Feb
(17) |
Mar
(4) |
Apr
(3) |
May
(2) |
Jun
(3) |
Jul
(2) |
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(2) |
| 2017 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
| 2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
1
|
2
|
3
|
4
|
5
|
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
|
13
|
14
|
15
|
16
|
17
|
18
(1) |
19
|
|
20
|
21
(2) |
22
(5) |
23
(3) |
24
|
25
|
26
(2) |
|
27
|
28
|
29
(3) |
30
(3) |
31
(1) |
|
|
|
From: Michael K. <ki...@us...> - 2006-08-31 15:24:50
|
Update of /cvsroot/flora/flora2/docs In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv25658/docs Modified Files: flora-flrxml.tex Log Message: typo Index: flora-flrxml.tex =================================================================== RCS file: /cvsroot/flora/flora2/docs/flora-flrxml.tex,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- flora-flrxml.tex 24 May 2006 20:23:56 -0000 1.9 +++ flora-flrxml.tex 31 Aug 2006 15:24:38 -0000 1.10 @@ -15,10 +15,10 @@ \section{Summary of the Predicates} \begin{longtable}[l]{ll} - {\bf \%load\_xml\_file/3}&Parse XML data into \FLORA objects\\ - {\bf \%load\_sgml\_file/3}&Parse SGML data into \FLORA objects\\ - {\bf \%load\_html\_file/3}&Parse HTML data into \FLORA objects\\ - {\bf \%load\_xhtml\_file/3}&Parse XHTML data into \FLORA objects\\ + {\bf \%load\_xml\_structure/3}&Parse XML data into \FLORA objects\\ + {\bf \%load\_sgml\_structure/3}&Parse SGML data into \FLORA objects\\ + {\bf \%load\_html\_structure/3}&Parse HTML data into \FLORA objects\\ + {\bf \%load\_xhtml\_structure/3}&Parse XHTML data into \FLORA objects\\ {\bf \%parse\_xpath\_xml/3}&Apply an XPath expression to an XML document and parse the result\\ {\bf \%parse\_xpath\_sgml/4}&Apply an XPath expression to an SGML |
|
From: Michael K. <ki...@us...> - 2006-08-30 03:51:33
|
Update of /cvsroot/flora/flora2/closure In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv8769/closure Modified Files: flrtypes.fli Log Message: fix Index: flrtypes.fli =================================================================== RCS file: /cvsroot/flora/flora2/closure/flrtypes.fli,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- flrtypes.fli 30 Aug 2006 03:12:41 -0000 1.14 +++ flrtypes.fli 30 Aug 2006 03:51:31 -0000 1.15 @@ -21,7 +21,7 @@ %% Restrictions on C1, C2 are precautions against infinite loops %% due to things like (symbol,(symbol,(symbol,...)...)) FLTRAILERPREFIX(isa)(X, (C1,C2),_Caller) :- - (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->true + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->fail ; (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)), (C2 \= (_,_), C2 \= (_;_), C2 \= (_-_) -> true ; ground(C2)), @@ -31,7 +31,7 @@ %% The glb rule FLTRAILERPREFIX(sub)(X, (C1,C2),_Caller) :- - (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->true + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->fail ; (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)), (C2 \= (_,_), C2 \= (_;_), C2 \= (_-_) -> true ; ground(C2)), @@ -41,13 +41,13 @@ ). FLTRAILERPREFIX(sub)((C1,C2),C1,_Caller) :- - (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->true + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->fail ; (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)) ). FLTRAILERPREFIX(sub)((C1,C2),C2,_Caller) :- - (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->true + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->fail ; (C2 \= (_,_), C2 \= (_;_), C2 \= (_-_) -> true ; ground(C2)) ). @@ -55,7 +55,7 @@ %% Restrictions on C1, C2 are precautions against infinite loops %% due to things like (symbol,(symbol,(symbol,...)...)) FLTRAILERPREFIX(isa)(X, (C1;C2),_Caller) :- - (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->true + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->fail ; ( (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)), @@ -68,7 +68,7 @@ %% The lub rule FLTRAILERPREFIX(sub)((C1;C2),X,_Caller) :- - (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->true + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->fail ; (C1 \= (_;_), C1 \= (_,_), C1 \= (_-_) -> true ; ground(C1)), (C2 \= (_;_), C2 \= (_,_), C2 \= (_-_) -> true ; ground(C2)), @@ -78,13 +78,13 @@ ). FLTRAILERPREFIX(sub)(C1,(C1;C2),_Caller) :- - (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->true + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->fail ; (C1 \= (_;_), C1 \= (_,_), C1 \= (_-_) -> true ; ground(C1)) ). FLTRAILERPREFIX(sub)(C2,(C1;C2),_Caller) :- - (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->true + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->fail ; (C2 \= (_;_), C2 \= (_,_), C2 \= (_-_) -> true ; ground(C2)) ). @@ -93,7 +93,7 @@ %% C2 must be ground, since they are under NOT %% (semantics for non-ground NOT is NOT EXISTS) FLTRAILERPREFIX(isa)(X, (C1-C2),_Caller) :- - (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->true + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->fail ; ground(C2), isa(X,C1,_Caller), @@ -101,7 +101,7 @@ ). FLTRAILERPREFIX(sub)((C1-C2),C1,_Caller) :- - (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->true + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->fail ; (C1 \= (_-_), C1 \= (_;_), C1 \= (_,_) -> true ; ground(C1)) ). |
|
From: Michael K. <ki...@us...> - 2006-08-30 03:32:00
|
Update of /cvsroot/flora/flora-testsuite/general_tests In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv814/general_tests Added Files: guizhen_old guizhen.flr Log Message: new tests --- NEW FILE: guizhen.flr --- ?- flOptimize(class_expressions). ?- debug[%ignore_undefcheck((?:'expr:RDQL-Condition', ?:'expr:DRS-Condition', ?:'grounding:DirectInputMessageMap', ?:'grounding:XSLTInputMessageMap', ?:'process:Split-Join', ?:'grounding:DirectOutputMessageMap', ?:'grounding:XSLTOutputMessageMap', ?:'grounding:WsdlGrounding', ?:'process:Any-Order', ?:'process:Choice', ?:'process:Sequence')@ _@)]@flora(sys). ?- debug[%ignore_undefcheck((?:'swrlb:lessThan', ?:B, ?:A, ?[?->?], ?:'expr:SPARQL-Condition', ?:'process:Split', ?:'expr:SWRL-FOL-Condition', ?:'expr:KIF-Condition')@ _@)]@flora(sys). ?y:'grounding:WsdlAtomicProcessGrounding' :- ?y['grounding:wsdlPort' -> ?_x]. ?y:'expr:Expression' :- ?_x['process:computedEffect' -> ?y]. ?y:'process:Parameter' :- ?_x['process:toParam' -> ?y]. ?y:'grounding:WsdlAtomicProcessGrounding' :- ?_x['grounding:hasAtomicProcessGrounding' -> ?y], ?_x:'grounding:WsdlGrounding'. ?y:'process:Parameter' :- ?y['process:parameterType' -> ?_x]. ?y:'process:Binding' :- ?y['process:valueData' -> ?_x]. 'a1'['food' -> 17]. ?_x:'service:ServiceModel' :- (?_x:'process:AtomicProcess'; ?_x:'process:SimpleProcess'; ?_x:'process:CompositeProcess'). ?_x:'list:List' :- ?_x:'process:ControlConstructList'. ?y:'grounding:WsdlMessageMap' :- ?y['grounding:wsdlMessagePart' -> ?_x]. ?y:'xsd:anyURI' :- ?_x['grounding:wsdlInputMessage' -> ?y]. ?y:'service:Service' :- ?_x['service:describes' -> ?y]. ?y['service:presents' -> ?_x] :- ?_x['service:presentedBy' -> ?y]. ?y:'service:Service' :- ?y['service:describedBy' -> ?_x]. ?y:'process:Produce' :- ?y['process:producedBinding' -> ?_x]. ?_x:'process:ControlConstruct' :- ?_x:'process:Perform'. ?y:'profile:Profile' :- ?y['profile:hasResult' -> ?_x]. ?y:'process:Output' :- ?_x['grounding:owlsParameter' -> ?y], ?_x:'grounding:OutputMessageMap'. ?_x['process:valueSpecifier' -> ?y] :- ?_x['process:valueFunction' -> ?y]. ?_x:'process:Parameter' :- ?_x:'process:Input'. ?y:'xsd:anyURI' :- ?_x['expr:refURI' -> ?y]. ?y:'grounding:WsdlAtomicProcessGrounding' :- ?y['grounding:wsdlOperation' -> ?_x]. ?y['process:realizes' -> ?_x] :- ?_x['process:realizedBy' -> ?y]. ?y:'process:ControlConstructBag' :- ?_x['process:components' -> ?y], ?_x:'process:Choice'. ?y:'grounding:WsdlOperationRef' :- ?y['grounding:portType' -> ?_x]. ?y:'process:If-Then-Else' :- ?y['process:else' -> ?_x]. ?_x['expr:expressionLanguage' -> 'expr:RDQL'] :- ?_x:'expr:RDQL-Expression'. ?_x:'process:Parameter' :- ?_x:'process:Output'. ?y['service:provides' -> ?_x] :- ?_x['service:providedBy' -> ?y]. 'expr:RDQL'['expr:refURI' -> "http://www.w3.org/Submission/2004/SUBM-RDQL-20040109/"]. ?_x['expr:expressionLanguage' -> 'expr:DRS'] :- ?_x:'expr:DRS-Expression'. 'list:nil':'list:List'. ?y:'expr:Condition' :- ?_x['process:untilCondition' -> ?y]. ?y:'expr:Condition' :- ?_x['process:hasPrecondition' -> ?y]. ?y:'time:IntervalThing' :- ?_x['process:timeout' -> ?y]. ?y:'xsd:anyURI' :- ?_x['process:valueType' -> ?y]. ?y:'xsd:boolean' :- ?_x['process:invocable' -> ?y]. ?_x['process:hasParticipant' -> ?y] :- ?_x['process:performedBy' -> ?y]. ?y['service:describedBy' -> ?_x] :- ?_x['service:describes' -> ?y]. ?y:'service:ServiceGrounding' :- ?_x['service:supports' -> ?y]. ?y:'process:CompositeProcess' :- ?y['process:collapsesTo' -> ?_x]. ?y:'service:Service' :- ?_x['service:supportedBy' -> ?y]. ?_x:'process:ControlConstruct' :- ?_x:'process:Split'. ?y:'grounding:AtomicProcessGrounding' :- ?y['grounding:owlsProcess' -> ?_x]. ?y:'process:AtomicProcess' :- ?_x['process:realizedBy' -> ?y]. ?y:'profile:Profile' :- ?y['profile:serviceClassification' -> ?_x]. 'Local_3':'process:Local'. ?y:'process:Binding' :- ?y['process:valueForm' -> ?_x]. ?y:'grounding:WsdlOperationRef' :- ?y['grounding:operation' -> ?_x]. ?_x['bar' -> ?y] :- ?_x['foo' -> ?y]. 'myAtomicProcess1':'process:AtomicProcess'. ?y:'xsd:anyURI' :- ?_x['grounding:wsdlOutputMessage' -> ?y]. ?_x:'expr:UnquotedExpression' :- ?_x:'expr:SWRL-Expression'. ?y:'process:ControlConstruct' :- ?_x['process:then' -> ?y]. ?y:'xsd:anyURI' :- ?_x['grounding:wsdlVersion' -> ?y]. ?y:'process:Binding' :- ?y['process:valueSource' -> ?_x]. 'SWRL-Condition_5':'expr:SWRL-Condition'. ?_x['process:valueSpecifier' -> ?y] :- ?_x['process:valueType' -> ?y]. ?_x:'grounding:MessageMap' :- ?_x:'grounding:InputMessageMap'. 'outOutput1'['process:parameterType' -> ':C']. ?y:'grounding:Grounding' :- ?y['grounding:hasAtomicProcessGrounding' -> ?_x]. ?y['service:presentedBy' -> ?_x] :- ?_x['service:presents' -> ?y]. ?_x:'owl:Thing' :- ?_x:'E'. ?y:'profile:ServiceCategory' :- ?_x['profile:serviceCategory' -> ?y]. ?y:'service:ServiceProfile' :- ?y['service:presentedBy' -> ?_x]. ?y['process:expandsTo' -> ?_x] :- ?_x['process:collapsesTo' -> ?y]. ?_x:'service:ServiceProfile' :- ?_x:'profile:Profile'. ?_x:'grounding:AtomicProcessGrounding' :- ?_x:'grounding:WsdlAtomicProcessGrounding'. 'a1':'A'. ?y['service:describes' -> ?_x] :- ?_x['service:describedBy' -> ?y]. ?y:'grounding:WsdlAtomicProcessGrounding' :- ?y['grounding:wsdlOutput' -> ?_x]. ?y:'process:Repeat-Until' :- ?y['process:untilProcess' -> ?_x]. ?y:'profile:Profile' :- ?y['profile:hasParameter' -> ?_x]. ?_x:'D' :- ?_x:'A'. ?X['foo' -> ?Y] :- ?X:'A', ?Y:'D'. ?_x:'process:Iterate' :- ?_x:'process:Repeat-While'. ?y:'profile:Profile' :- ?y['profile:textDescription' -> ?_x]. ?y:'expr:Condition' :- ?_x['profile:hasPrecondition' -> ?y]. ?_x['expr:expressionData' -> ?y] :- ?_x['expr:expressionBody' -> ?y]. ?y:'service:Service' :- ?_x['service:provides' -> ?y]. ?y:'grounding:WsdlAtomicProcessGrounding' :- ?y['grounding:wsdlInputMessage' -> ?_x]. ?y:'expr:Expression' :- ?y['expr:expressionLanguage' -> ?_x]. ?_x:'expr:Condition' :- ?_x:'expr:SWRL-Condition'. ?y:'xsd:anyURI' :- ?_x['grounding:wsdlPort' -> ?y]. ?y['service:supportedBy' -> ?_x] :- ?_x['service:supports' -> ?y]. ?y:'rdf:XMLLiteral' :- ?_x['process:valueFunction' -> ?y]. ?y:'process:Perform' :- ?y['process:hasDataFrom' -> ?_x]. ?_x['process:hasParameter' -> ?y] :- ?_x['process:hasInput' -> ?y]. 'Result_6':'process:Result'. ?_x:'swrl:Variable' :- ?_x:'process:Parameter'. ?y:'process:Parameter' :- ?_x['process:theVar' -> ?y]. ?y['service:provides' -> ?_x] :- ?_x['service:providedBy' -> ?y]. ?y:'process:Parameter' :- ?y['process:parameterValue' -> ?_x]. ?_x:'process:ControlConstruct' :- ?_x:'process:Split-Join'. ?y:'process:ValueOf' :- ?_x['process:valueSource' -> ?y]. ?_x:'expr:Condition' :- ?_x:'expr:SWRL-FOL-Condition'. ?y:'service:Service' :- ?_x['service:presentedBy' -> ?y]. ?_x:'list:List' :- ?_x:'process:ControlConstructBag'. ?y:'process:SimpleProcess' :- ?y['process:realizedBy' -> ?_x]. ?_x:'grounding:WsdlMessageMap' :- (?_x:'grounding:DirectOutputMessageMap'; ?_x:'grounding:XSLTOutputMessageMap'). ?_x:'grounding:MessageMap' :- ?_x:'grounding:WsdlMessageMap'. ?y:'expr:Condition' :- ?_x['process:ifCondition' -> ?y]. ?y:'process:CompositeProcess' :- ?y['process:computedEffect' -> ?_x]. ?y:'process:SimpleProcess' :- ?y['process:expandsTo' -> ?_x]. 'Result_6'['process:hasEffect' -> 'SWRL-Expression_7']. ?_x['foo' -> ?z] :- ?_x['foo' -> ?y], ?y['foo' -> ?z]. ?y['service:presentedBy' -> ?_x] :- ?_x['service:presents' -> ?y]. ?_x:'grounding:Grounding' :- ?_x:'grounding:WsdlGrounding'. ?y:'expr:QuotedExpression' :- ?y['expr:variableBinding' -> ?_x]. ?_x:'grounding:InputMessageMap' :- (?_x:'grounding:DirectInputMessageMap'; ?_x:'grounding:XSLTInputMessageMap'). ?y:'service:ServiceModel' :- ?y['service:describes' -> ?_x]. ?y:'process:Participant' :- ?_x['process:hasParticipant' -> ?y]. ?y:'process:Result' :- ?y['process:hasResultVar' -> ?_x]. ?_x:'expr:SWRL-FOL-Expression' :- ?_x:'expr:SWRL-FOL-Condition'. ?y:'expr:UnquotedExpression' :- ?y['expr:expressionObject' -> ?_x]. ?y:'profile:ServiceParameter' :- ?y['profile:sParameter' -> ?_x]. ?y:'process:ControlConstructList' :- ?_x['list:rest' -> ?y], ?_x:'process:ControlConstructList'. ?y['barinv2' -> ?_x] :- ?_x['barinv' -> ?y]. ?y:'expr:Expression' :- ?_x['process:computedPrecondition' -> ?y]. 'process:TheParentPerform':'process:Perform'. ?_x:'process:Parameter' :- ?_x:'process:Local'. ?y:'expr:Condition' :- ?_x['process:inCondition' -> ?y]. ?y:'C' :- ?_x['foo' -> ?y], ?_x:'A'. ?_x:'process:ControlConstruct' :- ?_x:'process:If-Then-Else'. ?y:'service:Service' :- ?y['service:presents' -> ?_x]. ?y:'process:ControlConstructBag' :- ?_x['process:components' -> ?y], ?_x:'process:Any-Order'. ?_x:'expr:RDQL-Expression' :- ?_x:'expr:RDQL-Condition'. 'd1':'D'. 'expr:AlwaysTrue':'expr:Condition'. ?y['service:supports' -> ?_x] :- ?_x['service:supportedBy' -> ?y]. ?y:'service:Service' :- ?y['service:providedBy' -> ?_x]. ?y:'xsd:anyURI' :- ?_x['grounding:wsdlService' -> ?y]. ?y:'process:CompositeProcess' :- ?y['process:invocable' -> ?_x]. 'expr:KIF'['expr:refURI' -> "http://logic.stanford.edu/kif/kif.html"]. ?y:'process:Perform' :- ?y['process:process' -> ?_x]. ?y:'profile:ServiceCategory' :- ?y['profile:code' -> ?_x]. ?y:'A' :- ?y['bar' -> ?_x]. 'expr:DRS'['expr:refURI' -> "http://cs-www.cs.yale.edu/homes/dvm/daml/drsonto040520.owl"]. ?y:'process:CompositeProcess' :- ?y['process:computedInput' -> ?_x]. ?_x:'expr:Expression' :- ?_x:'expr:Condition'. ?y:'xsd:anyURI' :- ?_x['profile:serviceProduct' -> ?y]. ?y:'process:Parameter' :- ?_x['profile:hasParameter' -> ?y]. ?y:'grounding:AtomicProcessGrounding' :- ?_x['grounding:hasAtomicProcessGrounding' -> ?y]. ?y:'service:ServiceGrounding' :- ?y['service:supportedBy' -> ?_x]. ?_x['expr:expressionBody' -> ?y] :- ?_x['expr:expressionData' -> ?y]. ?y:'expr:VariableBinding' :- ?_x['expr:variableBinding' -> ?y]. ?y:'service:ServiceProfile' :- ?_x['service:presents' -> ?y]. ?_x['process:hasClient' -> 'process:TheClient'] :- ?_x:'process:AtomicProcess'. ?_x['expr:expressionLanguage' -> 'expr:SPARQL'] :- ?_x:'expr:SPARQL-Expression'. ?y:'profile:Profile' :- ?y['profile:serviceParameter' -> ?_x]. ?_x['profile:hasParameter' -> ?y] :- ?_x['profile:hasInput' -> ?y]. ?y:'D' :- ?_x['bar' -> ?y]. 'myAtomicProcess1'['process:hasPrecondition' -> 'SWRL-Condition_5']. ?_x:'expr:QuotedExpression' :- ?_x:'expr:RDQL-Expression'. 'expr:SWRL'['expr:refURI' -> "http://www.w3.org/2003/11/swrl"]. ?y:'process:Repeat-While' :- ?y['process:whileCondition' -> ?_x]. 'expr:KIF':'expr:LogicLanguage'. ?y:'profile:Profile' :- ?y['profile:serviceName' -> ?_x]. ?y:'process:Binding' :- ?_x['process:withOutput' -> ?y]. 'process:TheClient':'process:Participant'. ?_x:'expr:Condition' :- ?_x:'expr:RDQL-Condition'. ?y:'xsd:anyURI' :- ?_x['profile:serviceClassification' -> ?y]. ?_x['process:hasParameter' -> ?y] :- ?_x['process:hasLocal' -> ?y]. ?y['bar' -> ?_x] :- ?_x['bar' -> ?y]. ?y:'expr:LogicLanguage' :- ?_x['expr:expressionLanguage' -> ?y]. ?_x:'process:ControlConstruct' :- ?_x:'process:Produce'. ?y:'drs:Formula' :- ?_x['expr:expressionObject' -> ?y], ?_x:'expr:DRS-Expression'. ?y:'process:Result' :- ?y['process:withOutput' -> ?_x]. ?y:'process:Output' :- ?_x['process:hasOutput' -> ?y]. ?_x['process:hasParticipant' -> ?y] :- ?_x['process:hasClient' -> ?y]. ?y:'swrl:AtomList' :- ?_x['expr:expressionObject' -> ?y], ?_x:'expr:SWRL-Expression'. ?y:'process:Input' :- ?_x['process:hasInput' -> ?y]. ?_x:'expr:DRS-Expression' :- ?_x:'expr:DRS-Condition'. 'expr:RDQL':'expr:LogicLanguage'. ?y['process:realizes' -> ?_x] :- ?_x['process:realizedBy' -> ?y]. ?_x['grounding:xsltTransformation' -> ?y] :- ?_x['grounding:xsltTransformationURI' -> ?y]. ?y:'process:ControlConstruct' :- ?_x['process:else' -> ?y]. ?y['process:collapsesTo' -> ?_x] :- ?_x['process:expandsTo' -> ?y]. 'c1':'C'. ?_x:'process:ControlConstruct' :- ?_x:'process:Iterate'. ?_x:'expr:UnquotedExpression' :- ?_x:'expr:DRS-Expression'. ?y:'process:ControlConstruct' :- ?_x['list:first' -> ?y], ?_x:'process:ControlConstructBag'. ?y:'process:CompositeProcess' :- ?y['process:computedOutput' -> ?_x]. ?y:'expr:VariableBinding' :- ?y['expr:theObject' -> ?_x]. ?y:'process:ValueOf' :- ?y['process:fromProcess' -> ?_x]. ?y:'process:If-Then-Else' :- ?y['process:then' -> ?_x]. ?y:'process:ControlConstructBag' :- ?_x['process:components' -> ?y], ?_x:'process:Split'. 'expr:DRS':'expr:LogicLanguage'. ?y:'process:Output' :- ?_x['profile:hasOutput' -> ?y]. ?_x:'expr:SWRL-Expression' :- ?_x:'expr:SWRL-Condition'. 'expr:SWRL':'expr:LogicLanguage'. ?y:'profile:Profile' :- ?y['profile:serviceProduct' -> ?_x]. ?y:'grounding:MessageMap' :- ?y['grounding:owlsParameter' -> ?_x]. ?_x:'E' :- ?_x:'A'. ?y:'xsd:anyURI' :- ?_x['grounding:portType' -> ?y]. ?_x:'expr:QuotedExpression' :- ?_x:'expr:KIF-Expression'. ?_x:'expr:Expression' :- ?_x:'expr:QuotedExpression'. ?y:'rdf:XMLLiteral' :- ?_x['process:parameterValue' -> ?y]. ?y:'profile:ServiceParameter' :- ?_x['profile:serviceParameter' -> ?y]. ?y:'process:Perform' :- ?_x['process:fromProcess' -> ?y]. ?y['service:supportedBy' -> ?_x] :- ?_x['service:supports' -> ?y]. 'SWRL-Expression_7':'expr:SWRL-Expression'. 'process:TheServer':'process:Participant'. ?y:'profile:Profile' :- ?y['profile:serviceCategory' -> ?_x]. ?y:'process:Input' :- ?_x['profile:hasInput' -> ?y]. ?y:'owl:Thing' :- ?_x['profile:sParameter' -> ?y]. ?y:'expr:VariableBinding' :- ?y['expr:theVariable' -> ?_x]. ?_x:'process:ControlConstruct' :- ?_x:'process:Any-Order'. ?y:'process:ValueOf' :- ?y['process:theVar' -> ?_x]. 'expr:SWRL-FOL'['expr:refURI' -> "http://www.w3.org/Submission/2005/01/"]. ?y:'xsd:anyURI' :- ?_x['process:parameterType' -> ?y]. ?y:'process:ControlConstructBag' :- ?_x['process:components' -> ?y], ?_x:'process:Split-Join'. ?_x:'owl:Thing' :- ?_x:'C'. ?y:'grounding:WsdlAtomicProcessGrounding' :- ?y['grounding:wsdlDocument' -> ?_x]. ?y:'process:ControlConstruct' :- ?_x['process:composedOf' -> ?y]. ?_x:'process:ControlConstruct' :- ?_x:'process:Choice'. ?y:'process:CompositeProcess' :- ?_x['process:expandsTo' -> ?y]. ?y:'xsd:anyURI' :- ?_x['grounding:xsltTransformationURI' -> ?y]. ?_x:'expr:Condition' :- ?_x:'expr:DRS-Condition'. ?y:'process:ControlConstruct' :- ?_x['list:first' -> ?y], ?_x:'process:ControlConstructList'. ?y:'expr:Expression' :- ?_x['process:hasEffect' -> ?y]. ?y:'process:Binding' :- ?y['process:valueType' -> ?_x]. ?y:'expr:Expression' :- ?_x['process:computedInput' -> ?y]. ?y:'process:Binding' :- ?_x['process:producedBinding' -> ?y]. ?y:'process:Binding' :- ?y['process:valueSpecifier' -> ?_x]. ?y:'process:SimpleProcess' :- ?_x['process:collapsesTo' -> ?y]. ?y:'process:ControlConstruct' :- ?y['process:timeout' -> ?_x]. 'outOutput1':'process:Output'. ?_x['profile:hasParameter' -> ?y] :- ?_x['profile:hasOutput' -> ?y]. ?y:'process:AtomicProcess' :- ?_x['grounding:owlsProcess' -> ?y]. ?y:'process:Result' :- ?_x['process:hasResult' -> ?y]. ?y:'xsd:anyURI' :- ?_x['grounding:wsdlMessagePart' -> ?y]. ?y:'process:ControlConstructBag' :- ?_x['list:rest' -> ?y], ?_x:'process:ControlConstructBag'. 'e3':'E'. ?y:'process:ControlConstructList' :- ?_x['process:components' -> ?y], ?_x:'process:Sequence'. ?y:'profile:Profile' :- ?y['profile:contactInformation' -> ?_x]. ?y:'process:Result' :- ?y['process:hasEffect' -> ?_x]. ?_x:'expr:Condition' :- ?_x:'expr:KIF-Condition'. ?y:'xsd:anyURI' :- ?_x['grounding:operation' -> ?y]. 'e2':'E'. ?_x['expr:expressionLanguage' -> 'expr:SWRL-FOL'] :- ?_x:'expr:SWRL-FOL-Expression'. ?_x:'expr:QuotedExpression' :- ?_x:'expr:SPARQL-Expression'. 'process:ThisPerform':'process:Perform'. ?y:'grounding:WsdlAtomicProcessGrounding' :- ?y['grounding:wsdlService' -> ?_x]. ?y['bar' -> ?_x] :- ?_x['bar' -> ?y]. ?y:'expr:LogicLanguage' :- ?y['expr:refURI' -> ?_x]. ?y:'process:Parameter' :- ?_x['grounding:owlsParameter' -> ?y]. ?y['service:providedBy' -> ?_x] :- ?_x['service:provides' -> ?y]. ?y:'process:Repeat-Until' :- ?y['process:untilCondition' -> ?_x]. ?y['service:describedBy' -> ?_x] :- ?_x['service:describes' -> ?y]. ?y['barinv' -> ?_x] :- ?_x['barinv2' -> ?y]. ?_x['grounding:xsltTransformation' -> ?y] :- ?_x['grounding:xsltTransformationString' -> ?y]. 'inInput1'['process:parameterType' -> ':A']. ?y:'process:ResultVar' :- ?_x['process:hasResultVar' -> ?y]. ?y:'process:Result' :- ?_x['profile:hasResult' -> ?y]. ?_x:'service:ServiceGrounding' :- ?_x:'grounding:Grounding'. ?y:'profile:Profile' :- ?y['profile:hasPrecondition' -> ?_x]. ?y:'process:ControlConstruct' :- ?_x['process:untilProcess' -> ?y]. ?_x:'process:Parameter' :- ?_x:'process:ResultVar'. ?y['process:realizedBy' -> ?_x] :- ?_x['process:realizes' -> ?y]. ?y:'process:ControlConstruct' :- ?_x['process:whileProcess' -> ?y]. ?y['service:supports' -> ?_x] :- ?_x['service:supportedBy' -> ?y]. 'a1'['bar' -> 'd1']. ?_x:'expr:Expression' :- ?_x:'expr:UnquotedExpression'. ?y:'grounding:WsdlAtomicProcessGrounding' :- ?y['grounding:wsdlInput' -> ?_x]. ?y:'grounding:WsdlOperationRef' :- ?_x['grounding:wsdlOperation' -> ?y]. ?y:'grounding:WsdlAtomicProcessGrounding' :- ?y['grounding:wsdlVersion' -> ?_x]. ?_x:'process:Iterate' :- ?_x:'process:Repeat-Until'. ?y:'xsd:string' :- ?_x['grounding:xsltTransformationString' -> ?y]. ?y['service:describes' -> ?_x] :- ?_x['service:describedBy' -> ?y]. ?y:'xsd:anyURI' :- ?_x['grounding:wsdlDocument' -> ?y]. 'expr:SPARQL':'expr:LogicLanguage'. ?_x:'expr:KIF-Expression' :- ?_x:'expr:KIF-Condition'. ?_x:'expr:QuotedExpression' :- ?_x:'expr:SWRL-FOL-Expression'. ?y:'profile:ServiceCategory' :- ?y['profile:taxonomy' -> ?_x]. ?y:'list:List' :- ?y['list:rest' -> ?_x]. ?y:'process:AtomicProcess' :- ?y['process:realizes' -> ?_x]. 'expr:SPARQL'['expr:refURI' -> "http://www.w3.org/TR/rdf-sparql-query/"]. ?y:'service:Service' :- ?y['service:supports' -> ?_x]. ?_x['foo' -> 'c1'] :- ?_x:'A'. 'myAtomicProcess1'['process:hasResult' -> 'Result_6']. ?y:'process:CompositeProcess' :- ?y['process:composedOf' -> ?_x]. ?y:'expr:Condition' :- ?_x['process:whileCondition' -> ?y]. ?_x['expr:expressionLanguage' -> 'expr:KIF'] :- ?_x:'expr:KIF-Expression'. ?y:'list:List' :- ?y['list:first' -> ?_x]. ?y:'process:Binding' :- ?y['process:toParam' -> ?_x]. ?y:'expr:QuotedExpression' :- ?y['expr:expressionData' -> ?_x]. 'inInput1':'process:Input'. ?_x:'grounding:MessageMap' :- ?_x:'grounding:OutputMessageMap'. ?_x:'expr:SPARQL-Expression' :- ?_x:'expr:SPARQL-Condition'. ?y:'profile:ServiceCategory' :- ?y['profile:value' -> ?_x]. ?y:'process:Local' :- ?_x['process:hasLocal' -> ?y]. ?y['process:realizedBy' -> ?_x] :- ?_x['process:realizes' -> ?y]. ?_x:'expr:Condition' :- ?_x:'expr:SPARQL-Condition'. ?y['process:collapsesTo' -> ?_x] :- ?_x['process:expandsTo' -> ?y]. 'e1':'E'. ?_x:'grounding:OutputMessageMap' :- (?_x:'grounding:DirectOutputMessageMap'; ?_x:'grounding:XSLTOutputMessageMap'). ?X:'A' :- [?X, 17]:'swrlb:lessThan'. ?y['process:expandsTo' -> ?_x] :- ?_x['process:collapsesTo' -> ?y]. 'myAtomicProcess1'['process:hasOutput' -> 'outOutput1']. ?y['bar' -> ?_x] :- ?_x['bar' -> ?y]. ?y:'process:CompositeProcess' :- ?y['process:computedPrecondition' -> ?_x]. ?y:'expr:Expression' :- ?_x['process:computedOutput' -> ?y]. ?y:'profile:Profile' :- ?y['profile:has_process' -> ?_x]. ?_x['expr:expressionLanguage' -> 'expr:SWRL'] :- ?_x:'expr:SWRL-Expression'. ?_x:'grounding:WsdlMessageMap' :- (?_x:'grounding:DirectInputMessageMap'; ?_x:'grounding:XSLTInputMessageMap'). ?_x:'A' :- ?_x:'B'. ?y:'grounding:WsdlMessageMap' :- ?y['grounding:xsltTransformation' -> ?_x]. ?y:'process:SimpleProcess' :- ?_x['process:realizes' -> ?y]. 'SWRL-Condition_5'['expr:expressionObject' -> ${'inInput1':'C'}]. ?y:'process:Repeat-While' :- ?y['process:whileProcess' -> ?_x]. ?_x['process:performedBy' -> 'process:TheServer'] :- ?_x:'process:AtomicProcess'. ?y:'process:Binding' :- ?y['process:valueFunction' -> ?_x]. ?y:'process:Input' :- ?_x['grounding:owlsParameter' -> ?y], ?_x:'grounding:InputMessageMap'. 'expr:SWRL-FOL':'expr:LogicLanguage'. ?y['service:providedBy' -> ?_x] :- ?_x['service:provides' -> ?y]. ?X['food' -> 5] :- ?X:'E'. 'myAtomicProcess1'['process:hasInput' -> 'inInput1']. ?_x:'owl:Thing' :- ?_x:'A'. ?y['service:presents' -> ?_x] :- ?_x['service:presentedBy' -> ?y]. ?y:'rdf:XMLLiteral' :- ?_x['process:valueForm' -> ?y]. ?y['barinv2' -> ?_x] :- ?_x['barinv' -> ?y]. ?_x:'process:ControlConstruct' :- ?_x:'process:Sequence'. ?y:'profile:ServiceCategory' :- ?y['profile:categoryName' -> ?_x]. ?y:'process:Parameter' :- ?_x['process:hasParameter' -> ?y]. ?y:'process:If-Then-Else' :- ?y['process:ifCondition' -> ?_x]. ?y:'grounding:WsdlAtomicProcessGrounding' :- ?y['grounding:wsdlOutputMessage' -> ?_x]. ?_x['process:hasParameter' -> ?y] :- ?_x['process:hasOutput' -> ?y]. ?y['barinv' -> ?_x] :- ?_x['barinv2' -> ?y]. ?y:'process:Result' :- ?y['process:inCondition' -> ?_x]. ?y:'process:Binding' :- ?_x['process:hasDataFrom' -> ?y]. ?y:'profile:ServiceParameter' :- ?y['profile:serviceParameterName' -> ?_x]. ?y:'service:ServiceModel' :- ?_x['service:describedBy' -> ?y]. ?_x['process:valueSpecifier' -> ?y] :- ?_x['process:valueForm' -> ?y]. 'SWRL-Expression_7'['expr:expressionObject' -> ${'outOutput1':'E'}]. %pretest :- myAtomicProcess1[?_x -> ?y], %writeln(?_x = ?y)@flora(io), fail. %pretest :- true. %test :- tell(temp)@prolog(), debug[%check_undefined(on)]@flora(sys), %pretest, debug[%check_undefined(off)]@flora(sys), !, abolish_all_tables, %pretest, told@prolog(). --- NEW FILE: guizhen_old --- process:performedBy = process:TheServer process:hasClient = process:TheClient process:hasParameter = outOutput1 process:hasParameter = inInput1 process:hasParticipant = process:TheClient process:hasParticipant = process:TheServer process:hasPrecondition = SWRL-Condition_5 process:hasResult = Result_6 process:hasOutput = outOutput1 process:hasInput = inInput1 process:performedBy = process:TheServer process:hasClient = process:TheClient process:hasParameter = outOutput1 process:hasParameter = inInput1 process:hasParticipant = process:TheClient process:hasParticipant = process:TheServer process:hasPrecondition = SWRL-Condition_5 process:hasResult = Result_6 process:hasOutput = outOutput1 process:hasInput = inInput1 |
|
From: Michael K. <ki...@us...> - 2006-08-30 03:12:49
|
Update of /cvsroot/flora/flora2/closure In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv25911/closure Modified Files: flrtypes.fli Log Message: bugfix Index: flrtypes.fli =================================================================== RCS file: /cvsroot/flora/flora2/closure/flrtypes.fli,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- flrtypes.fli 29 Aug 2006 17:57:19 -0000 1.13 +++ flrtypes.fli 30 Aug 2006 03:12:41 -0000 1.14 @@ -21,66 +21,90 @@ %% Restrictions on C1, C2 are precautions against infinite loops %% due to things like (symbol,(symbol,(symbol,...)...)) FLTRAILERPREFIX(isa)(X, (C1,C2),_Caller) :- - \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), - (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)), - (C2 \= (_,_), C2 \= (_;_), C2 \= (_-_) -> true ; ground(C2)), - isa(X,C1,_Caller), - isa(X,C2,_Caller). + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->true + ; + (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)), + (C2 \= (_,_), C2 \= (_;_), C2 \= (_-_) -> true ; ground(C2)), + isa(X,C1,_Caller), + isa(X,C2,_Caller) + ). %% The glb rule FLTRAILERPREFIX(sub)(X, (C1,C2),_Caller) :- - \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), - (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)), - (C2 \= (_,_), C2 \= (_;_), C2 \= (_-_) -> true ; ground(C2)), - sub(X,C1,_Caller), - sub(X,C2,_Caller), - X \= (C1,C2), X \= (C2,C1). + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->true + ; + (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)), + (C2 \= (_,_), C2 \= (_;_), C2 \= (_-_) -> true ; ground(C2)), + sub(X,C1,_Caller), + sub(X,C2,_Caller), + X \= (C1,C2), X \= (C2,C1) + ). FLTRAILERPREFIX(sub)((C1,C2),C1,_Caller) :- - \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), - (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)). + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->true + ; + (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)) + ). + FLTRAILERPREFIX(sub)((C1,C2),C2,_Caller) :- - \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), - (C2 \= (_,_), C2 \= (_;_), C2 \= (_-_) -> true ; ground(C2)). + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->true + ; + (C2 \= (_,_), C2 \= (_;_), C2 \= (_-_) -> true ; ground(C2)) + ). %% Restrictions on C1, C2 are precautions against infinite loops %% due to things like (symbol,(symbol,(symbol,...)...)) FLTRAILERPREFIX(isa)(X, (C1;C2),_Caller) :- - \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), - ( - (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)), - isa(X,C1,_Caller) + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->true ; - (C2 \= (_,_), C2 \= (_;_), C2 \= (_-_) -> true ; ground(C2)), - isa(X,C2,_Caller) + ( + (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)), + isa(X,C1,_Caller) + ; + (C2 \= (_,_), C2 \= (_;_), C2 \= (_-_) -> true ; ground(C2)), + isa(X,C2,_Caller) + ) ). %% The lub rule FLTRAILERPREFIX(sub)((C1;C2),X,_Caller) :- - \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), - (C1 \= (_;_), C1 \= (_,_), C1 \= (_-_) -> true ; ground(C1)), - (C2 \= (_;_), C2 \= (_,_), C2 \= (_-_) -> true ; ground(C2)), - sub(C1,X,_Caller), - sub(C2,X,_Caller), - X \= (C1;C2), X \= (C2;C1). + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->true + ; + (C1 \= (_;_), C1 \= (_,_), C1 \= (_-_) -> true ; ground(C1)), + (C2 \= (_;_), C2 \= (_,_), C2 \= (_-_) -> true ; ground(C2)), + sub(C1,X,_Caller), + sub(C2,X,_Caller), + X \= (C1;C2), X \= (C2;C1) + ). + FLTRAILERPREFIX(sub)(C1,(C1;C2),_Caller) :- - \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), - (C1 \= (_;_), C1 \= (_,_), C1 \= (_-_) -> true ; ground(C1)). + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->true + ; + (C1 \= (_;_), C1 \= (_,_), C1 \= (_-_) -> true ; ground(C1)) + ). + FLTRAILERPREFIX(sub)(C2,(C1;C2),_Caller) :- - \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), - (C2 \= (_;_), C2 \= (_,_), C2 \= (_-_) -> true ; ground(C2)). + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->true + ; + (C2 \= (_;_), C2 \= (_,_), C2 \= (_-_) -> true ; ground(C2)) + ). %% C2 must be ground, since they are under NOT %% (semantics for non-ground NOT is NOT EXISTS) FLTRAILERPREFIX(isa)(X, (C1-C2),_Caller) :- - \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), - ground(C2), - isa(X,C1,_Caller), - FLORA_TNOT(isa(X,C2,_Caller)). + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->true + ; + ground(C2), + isa(X,C1,_Caller), + FLORA_TNOT(isa(X,C2,_Caller)) + ). + FLTRAILERPREFIX(sub)((C1-C2),C1,_Caller) :- - \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), - (C1 \= (_-_), C1 \= (_;_), C1 \= (_,_) -> true ; ground(C1)). + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME')->true + ; + (C1 \= (_-_), C1 \= (_;_), C1 \= (_,_) -> true ; ground(C1)) + ). /********************* End of standard type definitions *******************/ |
|
From: Michael K. <ki...@us...> - 2006-08-29 17:57:21
|
Update of /cvsroot/flora/flora2/closure In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv30256 Modified Files: flrtypes.fli Log Message: reverted to the previous version Index: flrtypes.fli =================================================================== RCS file: /cvsroot/flora/flora2/closure/flrtypes.fli,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- flrtypes.fli 29 Aug 2006 06:13:13 -0000 1.12 +++ flrtypes.fli 29 Aug 2006 17:57:19 -0000 1.13 @@ -21,90 +21,66 @@ %% Restrictions on C1, C2 are precautions against infinite loops %% due to things like (symbol,(symbol,(symbol,...)...)) FLTRAILERPREFIX(isa)(X, (C1,C2),_Caller) :- - (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), ! - ; - (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)), - (C2 \= (_,_), C2 \= (_;_), C2 \= (_-_) -> true ; ground(C2)), - isa(X,C1,_Caller), - isa(X,C2,_Caller) - ). + \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), + (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)), + (C2 \= (_,_), C2 \= (_;_), C2 \= (_-_) -> true ; ground(C2)), + isa(X,C1,_Caller), + isa(X,C2,_Caller). %% The glb rule FLTRAILERPREFIX(sub)(X, (C1,C2),_Caller) :- - (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), ! - ; - (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)), - (C2 \= (_,_), C2 \= (_;_), C2 \= (_-_) -> true ; ground(C2)), - sub(X,C1,_Caller), - sub(X,C2,_Caller), - X \= (C1,C2), X \= (C2,C1) - ). + \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), + (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)), + (C2 \= (_,_), C2 \= (_;_), C2 \= (_-_) -> true ; ground(C2)), + sub(X,C1,_Caller), + sub(X,C2,_Caller), + X \= (C1,C2), X \= (C2,C1). FLTRAILERPREFIX(sub)((C1,C2),C1,_Caller) :- - (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), ! - ; - (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)) - ). - + \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), + (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)). FLTRAILERPREFIX(sub)((C1,C2),C2,_Caller) :- - (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), ! - ; - (C2 \= (_,_), C2 \= (_;_), C2 \= (_-_) -> true ; ground(C2)) - ). + \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), + (C2 \= (_,_), C2 \= (_;_), C2 \= (_-_) -> true ; ground(C2)). %% Restrictions on C1, C2 are precautions against infinite loops %% due to things like (symbol,(symbol,(symbol,...)...)) FLTRAILERPREFIX(isa)(X, (C1;C2),_Caller) :- - (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), ! + \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), + ( + (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)), + isa(X,C1,_Caller) ; - ( - (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)), - isa(X,C1,_Caller) - ; - (C2 \= (_,_), C2 \= (_;_), C2 \= (_-_) -> true ; ground(C2)), - isa(X,C2,_Caller) - ) + (C2 \= (_,_), C2 \= (_;_), C2 \= (_-_) -> true ; ground(C2)), + isa(X,C2,_Caller) ). %% The lub rule FLTRAILERPREFIX(sub)((C1;C2),X,_Caller) :- - (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), ! - ; - (C1 \= (_;_), C1 \= (_,_), C1 \= (_-_) -> true ; ground(C1)), - (C2 \= (_;_), C2 \= (_,_), C2 \= (_-_) -> true ; ground(C2)), - sub(C1,X,_Caller), - sub(C2,X,_Caller), - X \= (C1;C2), X \= (C2;C1) - ). - + \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), + (C1 \= (_;_), C1 \= (_,_), C1 \= (_-_) -> true ; ground(C1)), + (C2 \= (_;_), C2 \= (_,_), C2 \= (_-_) -> true ; ground(C2)), + sub(C1,X,_Caller), + sub(C2,X,_Caller), + X \= (C1;C2), X \= (C2;C1). FLTRAILERPREFIX(sub)(C1,(C1;C2),_Caller) :- - (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), ! - ; - (C1 \= (_;_), C1 \= (_,_), C1 \= (_-_) -> true ; ground(C1)) - ). - + \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), + (C1 \= (_;_), C1 \= (_,_), C1 \= (_-_) -> true ; ground(C1)). FLTRAILERPREFIX(sub)(C2,(C1;C2),_Caller) :- - (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), ! - ; - (C2 \= (_;_), C2 \= (_,_), C2 \= (_-_) -> true ; ground(C2)) - ). + \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), + (C2 \= (_;_), C2 \= (_,_), C2 \= (_-_) -> true ; ground(C2)). %% C2 must be ground, since they are under NOT %% (semantics for non-ground NOT is NOT EXISTS) FLTRAILERPREFIX(isa)(X, (C1-C2),_Caller) :- - (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), ! - ; - ground(C2), - isa(X,C1,_Caller), - FLORA_TNOT(isa(X,C2,_Caller)) - ). - + \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), + ground(C2), + isa(X,C1,_Caller), + FLORA_TNOT(isa(X,C2,_Caller)). FLTRAILERPREFIX(sub)((C1-C2),C1,_Caller) :- - (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), ! - ; - (C1 \= (_-_), C1 \= (_;_), C1 \= (_,_) -> true ; ground(C1)) - ). + \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), + (C1 \= (_-_), C1 \= (_;_), C1 \= (_,_) -> true ; ground(C1)). /********************* End of standard type definitions *******************/ |
|
From: Michael K. <ki...@us...> - 2006-08-29 06:13:15
|
Update of /cvsroot/flora/flora2/closure In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv19009/closure Modified Files: flrtypes.fli Log Message: small optimization Index: flrtypes.fli =================================================================== RCS file: /cvsroot/flora/flora2/closure/flrtypes.fli,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- flrtypes.fli 21 Aug 2006 13:32:00 -0000 1.11 +++ flrtypes.fli 29 Aug 2006 06:13:13 -0000 1.12 @@ -21,66 +21,90 @@ %% Restrictions on C1, C2 are precautions against infinite loops %% due to things like (symbol,(symbol,(symbol,...)...)) FLTRAILERPREFIX(isa)(X, (C1,C2),_Caller) :- - \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), - (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)), - (C2 \= (_,_), C2 \= (_;_), C2 \= (_-_) -> true ; ground(C2)), - isa(X,C1,_Caller), - isa(X,C2,_Caller). + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), ! + ; + (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)), + (C2 \= (_,_), C2 \= (_;_), C2 \= (_-_) -> true ; ground(C2)), + isa(X,C1,_Caller), + isa(X,C2,_Caller) + ). %% The glb rule FLTRAILERPREFIX(sub)(X, (C1,C2),_Caller) :- - \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), - (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)), - (C2 \= (_,_), C2 \= (_;_), C2 \= (_-_) -> true ; ground(C2)), - sub(X,C1,_Caller), - sub(X,C2,_Caller), - X \= (C1,C2), X \= (C2,C1). + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), ! + ; + (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)), + (C2 \= (_,_), C2 \= (_;_), C2 \= (_-_) -> true ; ground(C2)), + sub(X,C1,_Caller), + sub(X,C2,_Caller), + X \= (C1,C2), X \= (C2,C1) + ). FLTRAILERPREFIX(sub)((C1,C2),C1,_Caller) :- - \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), - (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)). + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), ! + ; + (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)) + ). + FLTRAILERPREFIX(sub)((C1,C2),C2,_Caller) :- - \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), - (C2 \= (_,_), C2 \= (_;_), C2 \= (_-_) -> true ; ground(C2)). + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), ! + ; + (C2 \= (_,_), C2 \= (_;_), C2 \= (_-_) -> true ; ground(C2)) + ). %% Restrictions on C1, C2 are precautions against infinite loops %% due to things like (symbol,(symbol,(symbol,...)...)) FLTRAILERPREFIX(isa)(X, (C1;C2),_Caller) :- - \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), - ( - (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)), - isa(X,C1,_Caller) + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), ! ; - (C2 \= (_,_), C2 \= (_;_), C2 \= (_-_) -> true ; ground(C2)), - isa(X,C2,_Caller) + ( + (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)), + isa(X,C1,_Caller) + ; + (C2 \= (_,_), C2 \= (_;_), C2 \= (_-_) -> true ; ground(C2)), + isa(X,C2,_Caller) + ) ). %% The lub rule FLTRAILERPREFIX(sub)((C1;C2),X,_Caller) :- - \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), - (C1 \= (_;_), C1 \= (_,_), C1 \= (_-_) -> true ; ground(C1)), - (C2 \= (_;_), C2 \= (_,_), C2 \= (_-_) -> true ; ground(C2)), - sub(C1,X,_Caller), - sub(C2,X,_Caller), - X \= (C1;C2), X \= (C2;C1). + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), ! + ; + (C1 \= (_;_), C1 \= (_,_), C1 \= (_-_) -> true ; ground(C1)), + (C2 \= (_;_), C2 \= (_,_), C2 \= (_-_) -> true ; ground(C2)), + sub(C1,X,_Caller), + sub(C2,X,_Caller), + X \= (C1;C2), X \= (C2;C1) + ). + FLTRAILERPREFIX(sub)(C1,(C1;C2),_Caller) :- - \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), - (C1 \= (_;_), C1 \= (_,_), C1 \= (_-_) -> true ; ground(C1)). + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), ! + ; + (C1 \= (_;_), C1 \= (_,_), C1 \= (_-_) -> true ; ground(C1)) + ). + FLTRAILERPREFIX(sub)(C2,(C1;C2),_Caller) :- - \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), - (C2 \= (_;_), C2 \= (_,_), C2 \= (_-_) -> true ; ground(C2)). + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), ! + ; + (C2 \= (_;_), C2 \= (_,_), C2 \= (_-_) -> true ; ground(C2)) + ). %% C2 must be ground, since they are under NOT %% (semantics for non-ground NOT is NOT EXISTS) FLTRAILERPREFIX(isa)(X, (C1-C2),_Caller) :- - \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), - ground(C2), - isa(X,C1,_Caller), - FLORA_TNOT(isa(X,C2,_Caller)). + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), ! + ; + ground(C2), + isa(X,C1,_Caller), + FLORA_TNOT(isa(X,C2,_Caller)) + ). + FLTRAILERPREFIX(sub)((C1-C2),C1,_Caller) :- - \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), - (C1 \= (_-_), C1 \= (_;_), C1 \= (_,_) -> true ; ground(C1)). + (flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), ! + ; + (C1 \= (_-_), C1 \= (_;_), C1 \= (_,_) -> true ; ground(C1)) + ). /********************* End of standard type definitions *******************/ |
|
From: Michael K. <ki...@us...> - 2006-08-29 06:13:06
|
Update of /cvsroot/flora/flora2/syslib In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv18632/syslib Modified Files: flrdecode.P Log Message: bugfix Index: flrdecode.P =================================================================== RCS file: /cvsroot/flora/flora2/syslib/flrdecode.P,v retrieving revision 1.45 retrieving revision 1.46 diff -u -d -r1.45 -r1.46 --- flrdecode.P 19 Jun 2006 21:38:21 -0000 1.45 +++ flrdecode.P 29 Aug 2006 06:12:57 -0000 1.46 @@ -1020,6 +1020,14 @@ decode_literal_internal(Left,LeftCode,0,Depth1), decode_literal_internal(Right,RightCode,0,Depth1). +%% var commalist - protects the next two clauses from meaningless unification +decode_literal_internal((L,R),[ReifyStart,'(',[LCode,', '|RCode],')',ReifyEnd],Level,Depth) :- + (var(L) ; var(R)), + !, + ReifyStart='',ReifyEnd='', + Depth1 is Depth+1, + decode_literal_internal(L,LCode,Level,Depth1), + decode_literal_internal(R,RCode,Level,Depth1). %% Call prolog predicate in a different module; must be before commalist %% We loose the module name in decoding |
|
From: Michael K. <ki...@us...> - 2006-08-26 03:40:31
|
Update of /cvsroot/flora/flora2/docs In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv5804/docs Modified Files: Makefile Log Message: Index: Makefile =================================================================== RCS file: /cvsroot/flora/flora2/docs/Makefile,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- Makefile 20 May 2006 06:23:49 -0000 1.6 +++ Makefile 26 Aug 2006 03:40:18 -0000 1.7 @@ -1,5 +1,5 @@ -all: flora2.dvi flora2.pdf flora-packages.dvi flora-packages.pdf +all: flora2.pdf flora-packages.pdf flora2.dvi: flora2.tex @echo |
|
From: Michael K. <ki...@us...> - 2006-08-26 03:40:26
|
Update of /cvsroot/flora/flora2/demos In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv5804/demos Modified Files: owl_benchmark.flr Removed Files: owl_benchmark2_noeq.flr owl_benchmark2_eq.flr Log Message: --- owl_benchmark2_noeq.flr DELETED --- --- owl_benchmark2_eq.flr DELETED --- Index: owl_benchmark.flr =================================================================== RCS file: /cvsroot/flora/flora2/demos/owl_benchmark.flr,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- owl_benchmark.flr 22 Dec 2005 22:37:18 -0000 1.8 +++ owl_benchmark.flr 26 Aug 2006 03:40:18 -0000 1.9 @@ -187,15 +187,15 @@ // Infers all instances of a class from the rdf:type property. ?X : ?C :- ?X[rdf_type->?C], ?C : rdfs_Class, ?X : rdfs_Resource. -// Rule D10 +// Rule D10 - Expensive rule2 // Infers all instances of a class from the rdfs:domain property. ?X : ?C :- ?X[?P->?_], ?P[rdfs_domain->?C]. -// Rule D11 +// Rule D11 - Expensive rule1 // Infers all instances of a class from the rdfs:range property. ?X : ?C :- ?X[?_->?O], ?O[rdfs_range->?C]. -// Rule D12 +// Rule D12 - Built into F-logic // Defines inheritence over the property of a class. // If C1 is a subclass of of C2 and C2 has property P with range O, // then C1 also has property P with range O. @@ -783,5 +783,8 @@ //?- flOptimize(local_override). ?- flOptimize(class_expressions). // runs out of memory without this optimization -?- (nl, writeln('*** This query runs for a veeeery loooong tiiiime'))@prolog(), +?- (nl, writeln('*** This query runs for 3-4 minutes'))@prolog(), ?X : owl_Class. + +?- (nl, writeln('*** This query also runs for a very long time, if run first'))@prolog(), + ?X[owl_equivalentProperty->?Y]. |
|
From: Michael K. <ki...@us...> - 2006-08-23 05:11:50
|
Update of /cvsroot/flora/flora-website In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv15597 Modified Files: release_notes.html index.php florabar.php Log Message: Index: florabar.php =================================================================== RCS file: /cvsroot/flora/flora-website/florabar.php,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- florabar.php 7 Jul 2005 23:22:52 -0000 1.5 +++ florabar.php 23 Aug 2006 05:11:48 -0000 1.6 @@ -8,38 +8,12 @@ </pre> - -<p> - Project information: -</p> -<ul> -<li> -<a href="florahome.php" target="right_window">Home</a> -</li> -<br> -<br> -<li> -<a href="http://sourceforge.net/projects/flora/" - target="right_window">General FLORA-2 project page</a> -</li> -<li> -<a href="download.php" target="right_window">Download</a> -</li> -<li> -<a href="documentation.php" target="right_window">Documentation</a> -</li> -<li> -<a href="http://sourceforge.net/mail/?group_id=50604" target="right_window">Mailing lists</a> -</li> -<li> -<a href="http://sourceforge.net/tracker/?atid=460329&group_id=50604&func=browse" target="right_window">Bug tracking</a> -</li> -</ul> <p> - -</p> -<p> - Technical information: + <em> + <font color="darkblue"> + Technical info + </font> + </em> </p> <ul> <li> @@ -52,34 +26,25 @@ <a href="aboutTR.php" target="right_window">About Transaction Logic</a> </li> <li> - <a href="aboutFlora.php" target="right_window">Papers about FLORA-2</a> + <a href="aboutFlora.php" target="right_window">FLORA-2 system</a> </li> <li> - <a href="relatedWorks.php" target="right_window">Other related work</a> + <a href="relatedWorks.php" target="right_window">Related work</a> </li> </ul> -<pre> - -</pre> <hr> -<ul> -<p> -<A HREF="contactus.php" target="right_window">Contact us</a> -</p> -</ul> -<ul> <p> <A HREF="acknowledgements.html" target="right_window">Acknowledgements</a> </p> -</ul> + <pre> </pre> -<P> +<p> <?php include "counter.php"; ?> <?php $number = CounterImage(); ?> <IMG SRC="<?php echo($number); ?>" ALIGN="left"> @@ -88,7 +53,7 @@ <pre> </pre> -<P> +<p> <table> <tr> <td> Index: release_notes.html =================================================================== RCS file: /cvsroot/flora/flora-website/release_notes.html,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- release_notes.html 17 Oct 2005 02:25:47 -0000 1.27 +++ release_notes.html 23 Aug 2006 05:11:48 -0000 1.28 @@ -10,7 +10,7 @@ <hr> <a name="release"/> <center> - <h1> Release Notes for Version 0.95 (Androcymbium)</h1> + <h1> Release Notes for Version 0.96 (Androcymbium)</h1> </center> <h3>General</h3> @@ -41,16 +41,27 @@ It is now possible to specify the type (signature) of a Boolean method. </li> <li> - A new Java API and a bi-directional interface to Protege. + Cardinality constraints can now be specified in class signatures. + This automatically generates a file that contains constraints that can + be checked at run time. + </li> + <li> + The user can now specify insert/delete hooks. These are + methods/predicates that will be called on each insert/delete. + </li> + <li> + A new Java API </li> </ul> <h3>Backward Incompatibility</h3> - <ul> - <i>Major incompatible change of syntax</i>: Some aspects of the syntax + <p> + <i>Major incompatible changes of syntax</i>: Some aspects of the syntax has been aligned with other rule languages for the Web and with F-logic based systems. There is a Perl script in the <tt>Misc</tt> subdirectory, which can greatly simplify conversion of the old FLORA-2 programs. + </p> + <ul> <li> Variables now start with ? and uppercase alphanumeric atoms do not need to be quoted. @@ -59,6 +70,16 @@ Transactional methods are now designated with the prefix % instead of #. </li> + <li> + The <tt>equality(flogic)</tt> option in the <tt>setsemantics</tt> + directive has been deprecated. + </li> + <li> + The meaning of path expressions in the head of a rule has changed: + they no longer create a new skolem term if the path expression does + not have a value. Instead, the body of the rule is considered false in + such a case. + </li> </ul> <pre> Index: index.php =================================================================== RCS file: /cvsroot/flora/flora-website/index.php,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- index.php 23 Mar 2003 23:23:59 -0000 1.8 +++ index.php 23 Aug 2006 05:11:48 -0000 1.9 @@ -7,8 +7,12 @@ <frameset cols="20%,80%" frameborder="yes" border="1" framespacing="0"> <frame SRC="florabar.php" NAME="left_window" SCROLLING="auto" NORESIZE MARGINWIDTH="15" MARGINHEIGHT="15"> - <frame SRC="florahome.php" NAME="right_window" - MARGINWIDTH="15" MARGINHEIGHT="15"> + <frameset rows="7%,93%" frameborder="yes" border="1" framespacing="0"> + <frame SRC="floratop.html" NAME="top_window" SCROLLING="no" + NORESIZE MARGINWIDTH="15" MARGINHEIGHT="15"> + <frame SRC="florahome.php" NAME="right_window" + MARGINWIDTH="15" MARGINHEIGHT="15"> + </frameset> </frameset> </head> <body> |
|
From: Michael K. <ki...@us...> - 2006-08-23 02:08:11
|
Update of /cvsroot/flora/flora-testsuite/general_tests In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv7121/general_tests Modified Files: pps.flr Added Files: rector_old rector.flr Log Message: new test --- NEW FILE: rector_old --- hand(left) hand(right) hand - $VAR(0)@prolog() ($VAR(0)@prolog(), hand) (hand, $VAR(0)@prolog()) hand(left) hand(right) hand - $VAR(0)@prolog() ($VAR(0)@prolog(), hand) (hand, $VAR(0)@prolog()) Index: pps.flr =================================================================== RCS file: /cvsroot/flora/flora-testsuite/general_tests/pps.flr,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- pps.flr 22 Dec 2005 23:31:10 -0000 1.12 +++ pps.flr 23 Aug 2006 02:08:04 -0000 1.13 @@ -1,5 +1,6 @@ // pps.flr -- a parts production system + /* Following are the steps to get the results: 1. start flora2 shell. --- NEW FILE: rector.flr --- hand::body_part. hand[pairedness*->paired]. // second phrase required to avoid infinite descent. ?X(right)[side*->right]::?X :- ?X::body_part[pairedness*->paired], not ?X[side*->?_]. // second phrase required to avoid infinite descent. ?X(left)[side*->left]::?X :- ?X::body_part[pairedness*->paired], not ?X[side*->?_]. ?- writeln('\n Kinds of hands') @ prolog(). %pretest :- ?HP::hand, numbervars(?HP)@prolog(num_vars), flora_write_oid(?HP)@prolog(flrdecode), nl@prolog(), fail. %pretest :- true. %test :- tell(temp)@prolog(), debug[%check_undefined(on)]@flora(sys), %pretest, debug[%check_undefined(off)]@flora(sys), !, abolish_all_tables, %pretest, told@prolog(). |
|
From: Michael K. <ki...@us...> - 2006-08-23 02:08:07
|
Update of /cvsroot/flora/flora-testsuite In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv7121 Modified Files: testsuite.sh testall.sh Log Message: new test Index: testall.sh =================================================================== RCS file: /cvsroot/flora/flora-testsuite/testall.sh,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- testall.sh 21 Jun 2004 05:39:14 -0000 1.3 +++ testall.sh 23 Aug 2006 02:08:05 -0000 1.4 @@ -47,11 +47,11 @@ added_tests=$1 shift ;; - *-only*) - shift - only_tests=$1 - shift - ;; +# *-only*) +# shift +# only_tests=$1 +# shift +# ;; *) break ;; @@ -59,11 +59,10 @@ done if test -z "$1" -o $# -gt 1; then - echo "Usage: testall.sh [-opts opts] [-exclude \"excl_list\"] [-add \"added_tests\"] [-only \"test-list\"] floradir" + echo "Usage: testall.sh [-opts opts] [-exclude \"excl_dirs\"] [-add \"added_tests\"] floradir" echo "where: opts -- options to pass to PROLOG executable" - echo " excl_list -- quoted, space-separated list of tests to NOT run" - echo " add_list -- list of additional tests to run" - echo " only_list -- run only this list of tests" + echo " excl_dirs -- quoted, space-separated list of tests to NOT run" + echo " add_dirs -- list of additional dirs in which to run tests" echo " floradir -- full path name of FLORA installation directory" exit fi @@ -88,12 +87,7 @@ # regmatch_tests: don't pass on solaris default_testlist="general_tests apptests exporttest" -if test -z "$only_tests"; then - testlist="$default_testlist $added_tests" -else - testlist=$only_tests -fi - echo $testlist +testlist="$default_testlist $added_tests" # Run each test in $testlist except for the tests in $excluded_tests for tst in $testlist ; do Index: testsuite.sh =================================================================== RCS file: /cvsroot/flora/flora-testsuite/testsuite.sh,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- testsuite.sh 18 May 2002 16:08:36 -0000 1.1.1.1 +++ testsuite.sh 23 Aug 2006 02:08:05 -0000 1.2 @@ -29,15 +29,13 @@ # log for possible errors. #================================================================== -#Usage: testsuite.sh [-opts opts] [-tag tag] [-exclude exclude_list] \ -# [-add add_list] [-only test_list] [-mswin] path +#Usage: testsuite.sh [-opts opts] [-tag tag] [-exclude exclude_dirs] \ +# [-add add_dirs] [-mswin] path # where: opts -- options to pass to PROLOG executable # tag -- the configuration tag to use -# exclude_list -- the list of tests (in quotes) to NOT run -# add_list -- ilist of test directories to adds -# (which are normally not tested) -# test_list -- the list of tests TO run; replaces default, -# both -exclude and -only can be specified at once +# exclude_dirs -- the list of tests (in quotes) to NOT run +# add_dirs -- list of test directories to add +# to the normally tested directories # path -- full path name of the FLORA installation directory # The -mswin option says to run tests under MS Windows # If tag specified, this is the tag to use to @@ -79,11 +77,11 @@ shift ;; - *-only*) - shift - only_tests=$1 - shift - ;; +# *-only*) +# shift +# only_tests=$1 +# shift +# ;; *-tag*) shift @@ -117,12 +115,11 @@ # install dir argument if test $# -gt 1; then - echo "Usage: testsuite.sh [-opts opts] [-tag tag] [-exclude \"excl_list\"] [-add \"add_list\"] [-only \"test_list\"] [-mswin] path" + echo "Usage: testsuite.sh [-opts opts] [-tag tag] [-exclude \"excl_dirs\"] [-add \"add_dirs\"] [-mswin] path" echo "where: opts -- options to pass to PROLOG" echo " tag -- the configuration tag to use" - echo " excl_list -- the list of tests to NOT run" - echo " add_list -- the list of additional tests to run" - echo " test_list -- run only these tests" + echo " excl_dirs -- the dirs in which not to run tests" + echo " add_dirs -- list of dirs to add to the normally tested dirs" echo " path -- full path name of the FLORA installation directory" exit fi @@ -217,7 +214,7 @@ fi ./testall.sh -opts "$options" -exclude "$excluded_tests" \ - -add "$added_tests" -only "$only_tests" \ + -add "$added_tests" \ $FLORADIR >> $LOG_FILE 2>&1 |
|
From: Michael K. <ki...@us...> - 2006-08-22 16:32:51
|
Update of /cvsroot/flora/flora2/java/API In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv3827/java/API Modified Files: build.sh Log Message: trailer optimization Index: build.sh =================================================================== RCS file: /cvsroot/flora/flora2/java/API/build.sh,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- build.sh 24 May 2006 20:33:56 -0000 1.1 +++ build.sh 22 Aug 2006 16:32:31 -0000 1.2 @@ -31,5 +31,6 @@ rm -f net/sourceforge/flora/javaAPI/util/*.class rm -f net/sourceforge/flora/javaAPI/src/*.class +# add -Xlint when we convert to Java 1.5 completely ${JAVA_BIN}/javac -classpath ..:../interprolog.jar net/sourceforge/flora/javaAPI/util/*.java net/sourceforge/flora/javaAPI/src/*.java |
|
From: Michael K. <ki...@us...> - 2006-08-22 16:32:43
|
Update of /cvsroot/flora/flora2/java/API/examples In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv3827/java/API/examples Modified Files: buildExample.sh Log Message: trailer optimization Index: buildExample.sh =================================================================== RCS file: /cvsroot/flora/flora2/java/API/examples/buildExample.sh,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- buildExample.sh 2 Jun 2006 04:52:17 -0000 1.2 +++ buildExample.sh 22 Aug 2006 16:32:31 -0000 1.3 @@ -37,4 +37,5 @@ ../../../runflora -e "flLoad('${FLORA_FILE}'>>example),flLoad(javaAPI),%write(${FLORA_CLASS},example,'${JAVA_FILE}'),flHalt." +# add -Xlint after convertion to Java 1.5 ${JAVA_BIN}/javac -classpath ..:../../interprolog.jar ${1}/*.java |
|
From: Michael K. <ki...@us...> - 2006-08-22 16:32:43
|
Update of /cvsroot/flora/flora2/closure In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv3827/closure Modified Files: flrnoeqltrailer_inh.fli flreqltrailer_inh.fli Log Message: trailer optimization Index: flrnoeqltrailer_inh.fli =================================================================== RCS file: /cvsroot/flora/flora2/closure/flrnoeqltrailer_inh.fli,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- flrnoeqltrailer_inh.fli 21 Aug 2006 13:32:00 -0000 1.9 +++ flrnoeqltrailer_inh.fli 22 Aug 2006 16:32:31 -0000 1.10 @@ -188,6 +188,7 @@ nonvar(M), % the cut above might not work under local scheduling flora_funct_arity(M,MethSign), IF_LOCAL_OVERRIDE_OPTIMIZATION(FLORA_TNOT(local_imvd(C,MethSign,CallerInfo))), + inheritance_sub(C,Super,CallerInfo), %% Optimization candidate_class_imvd(Super,MethSign,C,CallerInfo), inheritance_imvd(Super,M,V,CallerInfo), IF_NO_LOCAL_OVERRIDE_OPTIMIZATION(FLORA_TNOT(local_imvd(C,MethSign,CallerInfo))), @@ -212,6 +213,7 @@ nonvar(M), % the cut above might not work under local scheduling flora_funct_arity(M,MethSign), IF_LOCAL_OVERRIDE_OPTIMIZATION(FLORA_TNOT(local_imvd(C,MethSign,CallerInfo))), + inheritance_sub(C,Super,CallerInfo), %% Optimization candidate_class_imvd(Super,MethSign,C,CallerInfo), inheritance_imvddef(Super,M,CallerInfo), IF_NO_LOCAL_OVERRIDE_OPTIMIZATION(FLORA_TNOT(local_imvd(C,MethSign,CallerInfo))), @@ -244,6 +246,8 @@ nonvar(M), % the cut above might not work under local scheduling flora_funct_arity(M,MethSign), IF_LOCAL_OVERRIDE_OPTIMIZATION(FLORA_TNOT(local_mvd(O,MethSign,CallerInfo))), + %% DON'T uncomment: causes infinite loop in pps.flr/dyn_pps.flr + %%(nonvar(O) -> inheritance_isa(O,Super,CallerInfo) ; true), candidate_object_imvd(Super,MethSign,O,CallerInfo), inheritance_imvd(Super,M,V,CallerInfo), IF_NO_LOCAL_OVERRIDE_OPTIMIZATION(FLORA_TNOT(local_mvd(O,MethSign,CallerInfo))), @@ -268,6 +272,8 @@ nonvar(M), % the cut above might not work under local scheduling flora_funct_arity(M,MethSign), IF_LOCAL_OVERRIDE_OPTIMIZATION(FLORA_TNOT(local_mvd(O,MethSign,CallerInfo))), + %% DON'T uncomment: causes infinite loop in pps.flr/dyn_pps.flr + %%(nonvar(O) -> inheritance_isa(O,Super,CallerInfo) ; true), candidate_object_imvd(Super,MethSign,O,CallerInfo), inheritance_imvddef(Super,M,CallerInfo), IF_NO_LOCAL_OVERRIDE_OPTIMIZATION(FLORA_TNOT(local_mvd(O,MethSign,CallerInfo))), @@ -305,7 +311,9 @@ meth(O,M,CallerInfo) :- nonvar(M), % the cut above might not work under local scheduling flora_funct_arity(M,MethSign), - IF_LOCAL_OVERRIDE_OPTIMIZATION(FLORA_TNOT(local_meth(O,MethSign,CallerInfo))), /*was local_fd, typo?*/ + IF_LOCAL_OVERRIDE_OPTIMIZATION(FLORA_TNOT(local_meth(O,MethSign,CallerInfo))), + %% DON'T uncomment: causes infinite loop in pps.flr/dyn_pps.flr + %%(nonvar(O) -> inheritance_isa(O,Super,CallerInfo) ; true), candidate_object_imeth(Super,MethSign,O,CallerInfo), inheritance_imeth(Super,M,CallerInfo), IF_NO_LOCAL_OVERRIDE_OPTIMIZATION(FLORA_TNOT(local_meth(O,MethSign,CallerInfo))), /*was local_fd, typo?*/ @@ -337,6 +345,7 @@ nonvar(M), % the cut above might not work under local scheduling flora_funct_arity(M,MethSign), IF_LOCAL_OVERRIDE_OPTIMIZATION(FLORA_TNOT(local_imeth(C,MethSign,CallerInfo))), + inheritance_sub(C,Super,CallerInfo), %% Optimization candidate_class_imeth(Super,MethSign,C,CallerInfo), inheritance_imeth(Super,M,CallerInfo), IF_NO_LOCAL_OVERRIDE_OPTIMIZATION(FLORA_TNOT(local_imeth(C,MethSign,CallerInfo))), Index: flreqltrailer_inh.fli =================================================================== RCS file: /cvsroot/flora/flora2/closure/flreqltrailer_inh.fli,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- flreqltrailer_inh.fli 21 Aug 2006 13:32:00 -0000 1.8 +++ flreqltrailer_inh.fli 22 Aug 2006 16:32:31 -0000 1.9 @@ -368,6 +368,7 @@ nonvar(M), % the cut above might not work under local scheduling flora_funct_arity(M,MethSign), IF_LOCAL_OVERRIDE_OPTIMIZATION(FLORA_TNOT(local_imvd(C,MethSign,CallerInfo))), + inheritance_sub(C,Super,CallerInfo), %% Optimization candidate_class_imvd(Super,MethSign,C,CallerInfo), inheritance_imvd_eql(Super,M,V,CallerInfo), IF_NO_LOCAL_OVERRIDE_OPTIMIZATION(FLORA_TNOT(local_imvd(C,MethSign,CallerInfo))), @@ -392,6 +393,7 @@ nonvar(M), % the cut above might not work under local scheduling flora_funct_arity(M,MethSign), IF_LOCAL_OVERRIDE_OPTIMIZATION(FLORA_TNOT(local_imvd(C,MethSign,CallerInfo))), + inheritance_sub(C,Super,CallerInfo), %% Optimization candidate_class_imvd(Super,MethSign,C,CallerInfo), inheritance_imvddef_eql(Super,M,CallerInfo), IF_NO_LOCAL_OVERRIDE_OPTIMIZATION(FLORA_TNOT(local_imvd(C,MethSign,CallerInfo))), @@ -424,6 +426,8 @@ nonvar(M), % the cut above might not work under local scheduling flora_funct_arity(M,MethSign), IF_LOCAL_OVERRIDE_OPTIMIZATION(FLORA_TNOT(local_mvd(O,MethSign,CallerInfo))), + %% DON'T uncomment: causes infinite loop in pps.flr/dyn_pps.flr + %%(nonvar(O) -> inheritance_isa(O,Super,CallerInfo) ; true), candidate_object_imvd(Super,MethSign,O,CallerInfo), inheritance_imvd_eql(Super,M,V,CallerInfo), IF_NO_LOCAL_OVERRIDE_OPTIMIZATION(FLORA_TNOT(local_mvd(O,MethSign,CallerInfo))), @@ -448,6 +452,8 @@ nonvar(M), % the cut above might not work under local scheduling flora_funct_arity(M,MethSign), IF_LOCAL_OVERRIDE_OPTIMIZATION(FLORA_TNOT(local_mvd(O,MethSign,CallerInfo))), + %% DON'T uncomment: causes infinite loop in pps.flr/dyn_pps.flr + %%(nonvar(O) -> inheritance_isa(O,Super,CallerInfo) ; true), candidate_object_imvd(Super,MethSign,O,CallerInfo), inheritance_imvddef_eql(Super,M,CallerInfo), IF_NO_LOCAL_OVERRIDE_OPTIMIZATION(FLORA_TNOT(local_mvd(O,MethSign,CallerInfo))), @@ -485,7 +491,9 @@ meth(O,M,CallerInfo) :- nonvar(M), % the cut above might not work under local scheduling flora_funct_arity(M,MethSign), - IF_LOCAL_OVERRIDE_OPTIMIZATION(FLORA_TNOT(local_meth(O,MethSign,CallerInfo))),/*was local_fd, typo?*/ + IF_LOCAL_OVERRIDE_OPTIMIZATION(FLORA_TNOT(local_meth(O,MethSign,CallerInfo))), + %% DON'T uncomment: causes infinite loop in pps.flr/dyn_pps.flr + %%(nonvar(O) -> inheritance_isa(O,Super,CallerInfo) ; true), candidate_object_imeth(Super,MethSign,O,CallerInfo), inheritance_imeth_eql(Super,M,CallerInfo), IF_NO_LOCAL_OVERRIDE_OPTIMIZATION(FLORA_TNOT(local_meth(O,MethSign,CallerInfo))), /* was local_fd, typo?*/ @@ -516,6 +524,7 @@ nonvar(M), % the cut above might not work under local scheduling flora_funct_arity(M,MethSign), IF_LOCAL_OVERRIDE_OPTIMIZATION(FLORA_TNOT(local_imeth(C,MethSign,CallerInfo))), + inheritance_sub(C,Super,CallerInfo), %% Optimization candidate_class_imeth(Super,MethSign,C,CallerInfo), inheritance_imeth_eql(Super,M,CallerInfo), IF_NO_LOCAL_OVERRIDE_OPTIMIZATION(FLORA_TNOT(local_imeth(C,MethSign,CallerInfo))), |
|
From: Michael K. <ki...@us...> - 2006-08-22 16:32:42
|
Update of /cvsroot/flora/flora2 In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv3827 Modified Files: version.flh Log Message: trailer optimization Index: version.flh =================================================================== RCS file: /cvsroot/flora/flora2/version.flh,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- version.flh 10 Apr 2006 21:43:00 -0000 1.19 +++ version.flh 22 Aug 2006 16:32:31 -0000 1.20 @@ -1,2 +1,2 @@ -#define FLORA_VERSION '0.95devel (Androcymbium) of April 2006' +#define FLORA_VERSION '0.95devel (Androcymbium) of August 2006' |
|
From: Michael K. <ki...@us...> - 2006-08-22 16:32:40
|
Update of /cvsroot/flora/flora2/admin In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv3827/admin Modified Files: ReleaseTarBall.sh Log Message: trailer optimization Index: ReleaseTarBall.sh =================================================================== RCS file: /cvsroot/flora/flora2/admin/ReleaseTarBall.sh,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- ReleaseTarBall.sh 17 Apr 2006 20:53:55 -0000 1.11 +++ ReleaseTarBall.sh 22 Aug 2006 16:32:31 -0000 1.12 @@ -34,7 +34,8 @@ ./flora2/pkgs/*.flr ./flora2/pkgs/prolog/*.P\ ./flora2/syslib/*.P ./flora2/syslib/*.H ./flora2/syslib/*.sh \ ./flora2/syslib/Makefile ./flora2/syslib/NMakefile.mak \ - ./flora2/syslibinc/*.flh " + ./flora2/syslibinc/*.flh \ + ./flora2/java " curdir=`pwd` curdir=`basename $curdir` @@ -51,6 +52,7 @@ CVS *.conf *.log +.#* .cvsignore .excludedFiles *.zip |
|
From: Michael K. <ki...@us...> - 2006-08-21 13:32:09
|
Update of /cvsroot/flora/flora2/closure In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv5426/closure Modified Files: flrtypes.fli flrnoeqltrailer_inh.fli flrnoeqltrailer.fli flreqltrailer_inh.fli flreqltrailer.fli Log Message: fix in the optimization of class expressions Index: flrtypes.fli =================================================================== RCS file: /cvsroot/flora/flora2/closure/flrtypes.fli,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- flrtypes.fli 10 Apr 2006 21:43:00 -0000 1.10 +++ flrtypes.fli 21 Aug 2006 13:32:00 -0000 1.11 @@ -21,6 +21,7 @@ %% Restrictions on C1, C2 are precautions against infinite loops %% due to things like (symbol,(symbol,(symbol,...)...)) FLTRAILERPREFIX(isa)(X, (C1,C2),_Caller) :- + \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)), (C2 \= (_,_), C2 \= (_;_), C2 \= (_-_) -> true ; ground(C2)), isa(X,C1,_Caller), @@ -45,6 +46,7 @@ %% Restrictions on C1, C2 are precautions against infinite loops %% due to things like (symbol,(symbol,(symbol,...)...)) FLTRAILERPREFIX(isa)(X, (C1;C2),_Caller) :- + \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), ( (C1 \= (_,_), C1 \= (_;_), C1 \= (_-_) -> true ; ground(C1)), isa(X,C1,_Caller) @@ -72,6 +74,7 @@ %% C2 must be ground, since they are under NOT %% (semantics for non-ground NOT is NOT EXISTS) FLTRAILERPREFIX(isa)(X, (C1-C2),_Caller) :- + \+flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME'), ground(C2), isa(X,C1,_Caller), FLORA_TNOT(isa(X,C2,_Caller)). Index: flrnoeqltrailer_inh.fli =================================================================== RCS file: /cvsroot/flora/flora2/closure/flrnoeqltrailer_inh.fli,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- flrnoeqltrailer_inh.fli 10 Apr 2006 21:43:00 -0000 1.8 +++ flrnoeqltrailer_inh.fli 21 Aug 2006 13:32:00 -0000 1.9 @@ -66,11 +66,18 @@ silent_sub(S,C,CallerInfo), inferred_isa(O,S,CallerInfo). -%% The order of inferred_isa/silent_sub is important. Otherwise, it won't -%% return correct answers in cases like a:(b,c). ?- a:?X. isa(O,C,CallerInfo) :- - inferred_isa(O,S,CallerInfo), - silent_sub(S,C,CallerInfo). + ( + flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME') + -> + silent_sub(S,C,CallerInfo), + inferred_isa(O,S,CallerInfo) + ; + %% The order of inferred_isa/silent_sub is important. Otherwise, it + %% won't return correct answers in cases like a:(b,c). ?- a:?X. + inferred_isa(O,S,CallerInfo), + silent_sub(S,C,CallerInfo) + ). /***************************************************************************** Index: flrnoeqltrailer.fli =================================================================== RCS file: /cvsroot/flora/flora2/closure/flrnoeqltrailer.fli,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- flrnoeqltrailer.fli 10 Apr 2006 21:43:00 -0000 1.13 +++ flrnoeqltrailer.fli 21 Aug 2006 13:32:00 -0000 1.14 @@ -58,11 +58,18 @@ silent_sub(S,C,CallerInfo), inferred_isa(O,S,CallerInfo). -%% The order of inferred_isa/silent_sub is important. Otherwise, it won't -%% return correct answers in cases like a:(b,c). ?- a:?X. isa(O,C,CallerInfo) :- - inferred_isa(O,S,CallerInfo), - silent_sub(S,C,CallerInfo). + ( + flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME') + -> + silent_sub(S,C,CallerInfo), + inferred_isa(O,S,CallerInfo) + ; + %% The order of inferred_isa/silent_sub is important. Otherwise, it + %% won't return correct answers in cases like a:(b,c). ?- a:?X. + inferred_isa(O,S,CallerInfo), + silent_sub(S,C,CallerInfo) + ). /***************************************************************************** Index: flreqltrailer_inh.fli =================================================================== RCS file: /cvsroot/flora/flora2/closure/flreqltrailer_inh.fli,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- flreqltrailer_inh.fli 10 Apr 2006 21:43:00 -0000 1.7 +++ flreqltrailer_inh.fli 21 Aug 2006 13:32:00 -0000 1.8 @@ -104,11 +104,18 @@ silent_sub(S,C,CallerInfo), inferred_isa_eql(O,S,CallerInfo). -%% The order of inferred_isa/silent_sub is important. Otherwise, it won't -%% return correct answers in cases like a:(b,c). ?- a:?X. isa(O,C,CallerInfo) :- - inferred_isa_eql(O,S,CallerInfo), - silent_sub(S,C,CallerInfo). + ( + flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME') + -> + silent_sub(S,C,CallerInfo), + inferred_isa_eql(O,S,CallerInfo) + ; + %% The order of inferred_isa/silent_sub is important. Otherwise, it + %% won't return correct answers in cases like a:(b,c). ?- a:?X. + inferred_isa_eql(O,S,CallerInfo), + silent_sub(S,C,CallerInfo) + ). /***************************************************************************** Index: flreqltrailer.fli =================================================================== RCS file: /cvsroot/flora/flora2/closure/flreqltrailer.fli,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- flreqltrailer.fli 10 Apr 2006 21:43:00 -0000 1.24 +++ flreqltrailer.fli 21 Aug 2006 13:32:00 -0000 1.25 @@ -95,11 +95,18 @@ silent_sub(S,C,CallerInfo), inferred_isa_eql(O,S,CallerInfo). -%% The order of inferred_isa/silent_sub is important. Otherwise, it won't -%% return correct answers in cases like a:(b,c). ?- a:?X. isa(O,C,CallerInfo) :- - inferred_isa_eql(O,S,CallerInfo), - silent_sub(S,C,CallerInfo). + ( + flora_optimizer_registry(FLORA_CLASS_EXPRESSIONS,'FLORA_THIS_MODULE_NAME') + -> + silent_sub(S,C,CallerInfo), + inferred_isa_eql(O,S,CallerInfo) + ; + %% The order of inferred_isa/silent_sub is important. Otherwise, it + %% won't return correct answers in cases like a:(b,c). ?- a:?X. + inferred_isa_eql(O,S,CallerInfo), + silent_sub(S,C,CallerInfo) + ). /***************************************************************************** |
|
From: Michael K. <ki...@us...> - 2006-08-21 13:31:37
|
Update of /cvsroot/flora/flora2 In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv5385 Modified Files: flrwrapper.P Log Message: flora_decode_module_prefix: check if Funct is atom Index: flrwrapper.P =================================================================== RCS file: /cvsroot/flora/flora2/flrwrapper.P,v retrieving revision 1.35 retrieving revision 1.36 diff -u -d -r1.35 -r1.36 --- flrwrapper.P 17 May 2006 06:52:29 -0000 1.35 +++ flrwrapper.P 21 Aug 2006 13:31:26 -0000 1.36 @@ -443,6 +443,8 @@ "ModuleType" is either "usermodule" or "systemmodule". *****************************************************************************/ flora_decode_module_prefix(Funct,ModuleType,Flora_module_prefix_len_plus1) :- + %% Funct could be an int or float, so check + atom(Funct), %% Check if the functor begins with FLORA_PREFIX followed by an '. flora_match_substring(FLORA_PREFIX'',Funct,0), %% Check if it is followed by the type code of Flora module plus an '. |
|
From: Michael K. <ki...@us...> - 2006-08-18 04:19:56
|
Update of /cvsroot/flora/flora2/p2h In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv1943/p2h Modified Files: prolog2hilog.c Log Message: adjust for multithreading Index: prolog2hilog.c =================================================================== RCS file: /cvsroot/flora/flora2/p2h/prolog2hilog.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- prolog2hilog.c 1 Jun 2006 19:16:35 -0000 1.7 +++ prolog2hilog.c 18 Aug 2006 04:19:47 -0000 1.8 @@ -36,6 +36,7 @@ #include "cell_xsb.h" #include "error_xsb.h" #include "cinterf.h" +#include "context.h" #define FLORA_META_PREFIX "_$_$_flora'mod" #define FLORA_LIB_PREFIX "fllib" @@ -51,17 +52,17 @@ /* take hilog term and a hilog apply op and return prolog term. If the apply term is != the one used in the hilog term, assume it is already a prolog term and don't convert */ -static prolog_term hilog2prolog(prolog_term hterm, char *apply, int unify_vars); +static prolog_term hilog2prolog(CTXTdeclc prolog_term hterm, char *apply, int unify_vars); /* take prolog term and a symbol name of the apply operator and return hilog term. If prolog term already has the main functor==hilog apply, then don't convert. */ -static prolog_term prolog2hilog(prolog_term pterm, char *apply, int unify_vars); -static char *pterm2string(prolog_term term); +static prolog_term prolog2hilog(CTXTdeclc prolog_term pterm, char *apply, int unify_vars); +static char *pterm2string(CTXTdeclc prolog_term term); inline static int is_hilog(prolog_term term, char *apply_funct); inline static int is_special_form(prolog_term term); inline static int is_formula(prolog_term term); -static prolog_term map_special_form(prolog_term (*func)(), prolog_term term, char *apply, int unify_vars); -static prolog_term map_list(prolog_term func(), prolog_term term, char *apply, int unify_vars); +static prolog_term map_special_form(CTXTdeclc prolog_term (*func)(), prolog_term term, char *apply, int unify_vars); +static prolog_term map_list(CTXTdeclc prolog_term func(), prolog_term term, char *apply, int unify_vars); static char errormessage[300]; @@ -105,25 +106,25 @@ flora_plg2hlg(X, cde(f,a,cde(g,b,X))),Z) Will loop and eventually crash because X occurs in Pterm and in Hterm. */ -DllExport xsbBool call_conv flora_plg2hlg () { - prolog_term pterm = reg_term(1); - prolog_term hterm = reg_term(2); - prolog_term apply_t = reg_term(3); - int unify_vars = ptoc_int(4); /* whether to unify if both args are vars */ +DllExport xsbBool call_conv flora_plg2hlg (CTXTdecl) { + prolog_term pterm = extern_reg_term(1); + prolog_term hterm = extern_reg_term(2); + prolog_term apply_t = extern_reg_term(3); + int unify_vars = extern_ptoc_int(4); /* whether to unify if both args are vars */ prolog_term temp_term; char *apply; #ifdef P2HDEBUG_VERBOSE - xsb_dbgmsg("flora_plg2hlg: Arg1=%s", pterm2string(pterm)); - xsb_dbgmsg("flora_plg2hlg: Arg2=%s", pterm2string(hterm)); - xsb_dbgmsg("flora_plg2hlg: Arg3=%s", pterm2string(apply_t)); + xsb_dbgmsg("flora_plg2hlg: Arg1=%s", pterm2string(CTXTc pterm)); + xsb_dbgmsg("flora_plg2hlg: Arg2=%s", pterm2string(CTXTc hterm)); + xsb_dbgmsg("flora_plg2hlg: Arg3=%s", pterm2string(CTXTc apply_t)); #endif #ifdef P2HDEBUG if (!is_atom(apply_t)) { sprintf(errormessage, "p2h{?Plg,?Hlg}: The apply functor=%s is not an atom.", - pterm2string(apply_t)); + pterm2string(CTXTc apply_t)); abort_xsb(errormessage); } #endif @@ -133,7 +134,7 @@ /* both are variables */ if (is_var(pterm) && is_var(hterm)) { if (unify_vars) - return p2p_unify(pterm,hterm); + return extern_p2p_unify(pterm,hterm); else return TRUE; } @@ -141,14 +142,14 @@ /* if hilog is instantiated, convert from hilog to prolog and unify, because hilog->prolog conversion is more accurate */ if (!is_var(hterm)) { - temp_term = hilog2prolog(hterm, apply,unify_vars); - return p2p_unify(temp_term, pterm); + temp_term = hilog2prolog(CTXTc hterm, apply,unify_vars); + return extern_p2p_unify(temp_term, pterm); } /* hterm is a variable and pterm is not */ - temp_term = prolog2hilog(pterm, apply, unify_vars); + temp_term = prolog2hilog(CTXTc pterm, apply, unify_vars); - return p2p_unify(temp_term, hterm); + return extern_p2p_unify(temp_term, hterm); } static inline xsbBool is_scalar(prolog_term pterm) @@ -159,9 +160,9 @@ } -static prolog_term hilog2prolog(prolog_term hterm, char *apply, int unify_vars) +static prolog_term hilog2prolog(CTXTdeclc prolog_term hterm, char *apply, int unify_vars) { - prolog_term pterm = p2p_new(); + prolog_term pterm = extern_p2p_new(); prolog_term pfunctor; int arity, i; @@ -174,15 +175,15 @@ if (is_scalar(hterm)) return hterm; if (is_list(hterm)) - return map_list(hilog2prolog,hterm,apply,unify_vars); + return map_list(CTXTc hilog2prolog,hterm,apply,unify_vars); else if (is_special_form(hterm)) - return map_special_form(hilog2prolog,hterm,apply,unify_vars); + return map_special_form(CTXTc hilog2prolog,hterm,apply,unify_vars); #ifdef P2HDEBUG if (!is_functor(hterm)) { sprintf(errormessage, "p2h{?Plg,?Hlg}: ?Hlg=%s must be a HiLog term.", - pterm2string(hterm)); + pterm2string(CTXTc hterm)); abort_xsb(errormessage); } #endif @@ -192,40 +193,40 @@ /* Don't convert if formula (predicate or molecule) */ if (is_formula(hterm)) return hterm; - arity=p2c_arity(hterm); + arity=extern_p2c_arity(hterm); - pfunctor = p2p_arg(hterm,1); + pfunctor = extern_p2p_arg(hterm,1); if (!is_atom(pfunctor)) { sprintf(errormessage, "p2h{?Plg,?Hlg}: ?Hlg=%s is not convertible to Prolog.", - pterm2string(hterm)); + pterm2string(CTXTc hterm)); abort_xsb(errormessage); } if (arity > 1) - c2p_functor(string_val(pfunctor), arity-1, pterm); + extern_c2p_functor(string_val(pfunctor), arity-1, pterm); else return pfunctor; #ifdef P2HDEBUG_VERBOSE - xsb_dbgmsg("h2p start: Pterm=%s", pterm2string(pterm)); - xsb_dbgmsg("h2p start: Hterm=%s", pterm2string(hterm)); + xsb_dbgmsg("h2p start: Pterm=%s", pterm2string(CTXTc pterm)); + xsb_dbgmsg("h2p start: Hterm=%s", pterm2string(CTXTc hterm)); xsb_dbgmsg("h2p start: Apply=%s", apply); #endif for (i=2; i<=arity; i++) { - p2p_unify(hilog2prolog(p2p_arg(hterm,i), apply,unify_vars), - p2p_arg(pterm, i-1)); + extern_p2p_unify(hilog2prolog(CTXTc extern_p2p_arg(hterm,i), apply,unify_vars), + extern_p2p_arg(pterm, i-1)); #ifdef P2HDEBUG_VERBOSE - xsb_dbgmsg("h2p loop: Pterm=%s", pterm2string(pterm)); + xsb_dbgmsg("h2p loop: Pterm=%s", pterm2string(CTXTc pterm)); #endif } return pterm; } -static prolog_term prolog2hilog(prolog_term pterm, char *apply, int unify_vars) +static prolog_term prolog2hilog(CTXTdeclc prolog_term pterm, char *apply, int unify_vars) { - prolog_term hterm = p2p_new(); + prolog_term hterm = extern_p2p_new(); int arity, i; if (is_var(pterm)) { @@ -237,14 +238,14 @@ if (is_scalar(pterm)) return pterm; if (is_list(pterm)) - return map_list(prolog2hilog,pterm,apply, unify_vars); + return map_list(CTXTc prolog2hilog,pterm,apply, unify_vars); else if (is_special_form(pterm)) - return map_special_form(prolog2hilog,pterm,apply, unify_vars); + return map_special_form(CTXTc prolog2hilog,pterm,apply, unify_vars); if (!is_functor(pterm)) { sprintf(errormessage, "p2h{?Plg,?Hlg}: ?Plg=%s must be a Prolog term.", - pterm2string(pterm)); + pterm2string(CTXTc pterm)); abort_xsb(errormessage); } @@ -253,31 +254,31 @@ /* Don't convert if formula (predicate or molecule) */ if (is_formula(pterm)) return pterm; - arity = p2c_arity(pterm); - c2p_functor(apply,arity+1,hterm); - c2p_string(p2c_functor(pterm), p2p_arg(hterm,1)); /* set the functor arg */ + arity = extern_p2c_arity(pterm); + extern_c2p_functor(apply,arity+1,hterm); + extern_c2p_string(extern_p2c_functor(pterm), extern_p2p_arg(hterm,1)); /* set the functor arg */ #ifdef P2HDEBUG_VERBOSE - xsb_dbgmsg("p2h start: Pterm=%s", pterm2string(pterm)); - xsb_dbgmsg("p2h start: Hterm=%s", pterm2string(hterm)); + xsb_dbgmsg("p2h start: Pterm=%s", pterm2string(CTXTc pterm)); + xsb_dbgmsg("p2h start: Hterm=%s", pterm2string(CTXTc hterm)); xsb_dbgmsg("p2h start: Apply=%s", apply); #endif /* set the rest of the args */ for (i=1; i<=arity; i++) { - p2p_unify(prolog2hilog(p2p_arg(pterm,i),apply, unify_vars), p2p_arg(hterm,i+1)); + extern_p2p_unify(prolog2hilog(CTXTc extern_p2p_arg(pterm,i),apply, unify_vars), extern_p2p_arg(hterm,i+1)); #ifdef P2HDEBUG_VERBOSE - xsb_dbgmsg("p2h loop: Hterm=%s", pterm2string(hterm)); + xsb_dbgmsg("p2h loop: Hterm=%s", pterm2string(CTXTc hterm)); #endif } return hterm; } -static prolog_term map_list(prolog_term func(), prolog_term termList, char *apply, int unify_vars) +static prolog_term map_list(CTXTdeclc prolog_term func(), prolog_term termList, char *apply, int unify_vars) { prolog_term listHead, listTail; - prolog_term outList=p2p_new(), outListHead, outListTail; + prolog_term outList=extern_p2p_new(), outListHead, outListTail; prolog_term temp_term; xsbBool mustExit=FALSE; @@ -287,51 +288,51 @@ while (!is_nil(listTail) && !mustExit) { if (is_list(listTail)) { - c2p_list(outListTail); - listHead = p2p_car(listTail); - outListHead = p2p_car(outListTail); - temp_term = func(listHead,apply, unify_vars); - p2p_unify(outListHead, temp_term); - listTail = p2p_cdr(listTail); - outListTail = p2p_cdr(outListTail); + extern_c2p_list(outListTail); + listHead = extern_p2p_car(listTail); + outListHead = extern_p2p_car(outListTail); + temp_term = func(CTXTc listHead,apply, unify_vars); + extern_p2p_unify(outListHead, temp_term); + listTail = extern_p2p_cdr(listTail); + outListTail = extern_p2p_cdr(outListTail); } else { - p2p_unify(listTail,outListTail); + extern_p2p_unify(listTail,outListTail); mustExit = TRUE; } } if (is_nil(listTail)) - c2p_nil(outListTail); /* bind tail to nil */ + extern_c2p_nil(outListTail); /* bind tail to nil */ return outList; } -static prolog_term map_special_form(prolog_term (*func)(), prolog_term special_form, char *apply, int unify_vars) +static prolog_term map_special_form(CTXTdeclc prolog_term (*func)(), prolog_term special_form, char *apply, int unify_vars) { prolog_term formArg1_temp, formArg2_temp; - prolog_term out_form=p2p_new(), formArg1_out, formArg2_out; - char *functor = p2c_functor(special_form); + prolog_term out_form=extern_p2p_new(), formArg1_out, formArg2_out; + char *functor = extern_p2c_functor(special_form); - c2p_functor(functor, 2, out_form); - formArg1_out = p2p_arg(out_form,1); - formArg2_out = p2p_arg(out_form,2); - formArg1_temp = func(p2p_arg(special_form,1),apply, unify_vars); - formArg2_temp = func(p2p_arg(special_form,2),apply, unify_vars); - p2p_unify(formArg1_out,formArg1_temp); - p2p_unify(formArg2_out,formArg2_temp); + extern_c2p_functor(functor, 2, out_form); + formArg1_out = extern_p2p_arg(out_form,1); + formArg2_out = extern_p2p_arg(out_form,2); + formArg1_temp = func(extern_p2p_arg(special_form,1),apply, unify_vars); + formArg2_temp = func(extern_p2p_arg(special_form,2),apply, unify_vars); + extern_p2p_unify(formArg1_out,formArg1_temp); + extern_p2p_unify(formArg2_out,formArg2_temp); return out_form; } -static char *pterm2string(prolog_term term) +static char *pterm2string(CTXTdeclc prolog_term term) { static VarString *StrArgBuf; - prolog_term term2 = p2p_deref(term); + prolog_term term2 = extern_p2p_deref(term); XSB_StrCreate(&StrArgBuf); XSB_StrSet(StrArgBuf,""); - print_pterm(term2, 1, StrArgBuf); + extern_print_pterm(term2, 1, StrArgBuf); return StrArgBuf->string; } @@ -341,7 +342,7 @@ static int is_hilog(prolog_term term, char *apply_funct) { size_t length_diff; - char *func = p2c_functor(term); /* term functor */ + char *func = extern_p2c_functor(term); /* term functor */ length_diff = strlen(func) - strlen(apply_funct); @@ -360,7 +361,7 @@ char *functor; if (is_scalar(term) || is_list(term)) return FALSE; - functor = p2c_functor(term); + functor = extern_p2c_functor(term); return (strncmp(functor, FLORA_META_PREFIX, FLORA_META_PREFIX_LEN)==0) || @@ -375,7 +376,7 @@ char *functor; if (is_scalar(term) || is_list(term)) return FALSE; - functor = p2c_functor(term); + functor = extern_p2c_functor(term); if (strlen(functor)==1) { switch (*functor) { case ',': |