Changeset 4496 for trunk/examples

Show
Ignore:
Timestamp:
10/10/08 10:01:30 (3 months ago)
Author:
pmoura
Message:

Improved performance of the object initialization and release predicates defined in the category "initialization" of the "roots" example.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/examples/roots/initialization.lgt

    r4495 r4496  
    33 
    44    :- info([ 
    5         version is 1.1, 
     5        version is 1.11, 
    66        author is 'Paulo Moura', 
    7         date is 2008/10/9, 
     7        date is 2008/10/10, 
    88        comment is 'Object initialization protocol.']). 
    9  
    10     :- uses(list, [select/3]). 
    119 
    1210    :- public(init/1). 
     
    10098         argnames is ['Options', 'Defaults', 'Result']]). 
    10199 
     100    :- uses(list, [select/3]). 
     101 
    102102    init(Options) :- 
    103103        valid_init_options(Options), 
     
    111111    valid_init_options([]). 
    112112    valid_init_options([Option| Options]) :- 
    113         ::valid_init_option(Option), 
     113        ::valid_init_option(Option) -> 
    114114        valid_init_options(Options). 
    115115 
     
    118118    process_init_options([]). 
    119119    process_init_options([Option| Options]) :- 
    120         once(::process_init_option(Option)), 
     120        ::process_init_option(Option) -> 
    121121        process_init_options(Options). 
    122122 
     
    137137    valid_free_options([]). 
    138138    valid_free_options([Option| Options]) :- 
    139         ::valid_free_option(Option), 
     139        ::valid_free_option(Option) -> 
    140140        valid_free_options(Options). 
    141141 
     
    144144    process_free_options([]). 
    145145    process_free_options([Option| Options]) :- 
    146         once(::process_free_option(Option)), 
     146        ::process_free_option(Option) -> 
    147147        process_free_options(Options). 
    148148