Markus Roberts wrote:
>>> BTW, I'm wondering how puppetdoc will deal with future
>>> "interpretation" :-(
>>
>> A simple way would be to just "ignore" that in puppetdoc. Then strings
>> only show the variable name and that's it.
>>
>> For a more intimate support, you can evaluate the future down to either
>> the value, if it is known, or the expression the future holds, if parts
>> of it are not know. The latter may happen if the future references
>> (transitively) a facter fact or a function like extlookup or a module
>> that is not parsed in this puppetdoc run (if that's even possible).
>>
>>
>> So I think that should not be a big problem if the future allows access
>> to its (semantical) structure.
> 
> I'm leaning towards the mapping to the variable name for static
> analysis approach.  As you note, it's much simpler to implement and
> has the added advantage of being easy to explain and think about.
> Partial expansion has a number of drawbacks 1) harder to code, 2) how
> deeply do you expand? 3) how do you explain the expansion rule without
> introducing the notion of time? 4) what do you do about the loss of
> human-directed semantic information in variable names, etc.? 5) how do
> you prevent the leakage of implementation details?  And so forth.

1) so is life, but the futures resolver probably will have the necessary 
code (yes, I can talk, not having to implement it...)

2) interesting question! I'd suppose "as far as possible" would be my 
first choice. differentiating between stuff within and outside the 
current module my second.

3) how would time figure into it here? afaict only function calls and 
facter content would be able to be time dependent. both of which should 
probably not be expanded anyways.

4) I envisioned having the expanded information in a popup/tooltip 
"behind" the actual variable name. So readers can fetch the information 
on a need to know basis.

5) mark stuff as private, but that's a completely different beast.


Regards, DavidS

--

You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.


Reply via email to