appending PROLOG definitions
The "last definition wins" rule allows for a straightforward
modification of parameter values in a non-interactive environment by
appending the desired definition to an existing fcl file. This
technique does not work for PROLOG variables: given a file like
#---------------- BEGIN_PROLOG aFileList : [ "a" ] END_PROLOG x.f : @local::aFileList y.f : @local::aFileList #----------------
neither pre-pending nor appending to the file of a fragment like
#================ BEGIN_PROLOG aFileList : [ "b" ] END_PROLOG #================
will have the effect of setting x.f and y.f to [ "b" ].
Per our discussion, please change behavior of fhicl to allow an
appended PROLOG to re-define an earlier PROLOG variable as seen by the
non-PROLOG body of the file.
#3 Updated by Christopher Green about 5 years ago
- Status changed from Assigned to Feedback
Per email and other discussions:
The allowed syntax will be as follows:
var [BINDING_MODIFIER]: valwith
BINDING_MODIFIER := @protect_ignore | @protect_error
The default protection status of a binding will be inherited from its containing assignment if there is one, and binding modifiers may only increase the protection (
<none>) relative to that inherited from above.
Note that there shall be no space between any specified binding modifier and its trailing
Does this sound reasonable?