It would be nice to be able to set a custom function to private or public access.
Private setting means can only be called from another custom function.
Public means can be called from anywhere.
Display in controls as appropriate for setting.
Your arguments always make sense so im curious
In retrospect, I think I may have been hasty to down-vote this; I may go back and clear out my vote (presuming that's a thing I can do?).
I presume your intention here is to inherit the public/private/(protected) distinctions from some object oriented languages. (The pun with "inherit" is unintentional, but I like it.) To folks familiar with such encapsulation features in object oriented languages, there could be some initial confusion without an accompanying notion of a class or library of custom functions. (I think custom function libraries or packages would be great, by the way.) To the less cosmopolitan majority of FileMaker developers, this could easily be confused for a security feature.
A more practical concern I have is that this could inadvertently make it harder to write custom functions that would use private sub-functions. Developers routinely write custom functions by prototyping them in the data viewer, or even in a script for especially complicated functions, so that there's a rapid feedback loop between edits to the calculation and the results; and I can't encourage folks to do this enough. If a custom function is going to use a private sub-function, it can't be prototyped as quickly unless the whole custom function interface is completely modified, perhaps to be more similar to the script workspace.
Maybe private custom functions could be a net win, but I don't think so except as part of an ensemble of other features.
"I presume your intention here is to inherit the public/private/(protected) distinctions from some object oriented languages. (The pun with "inherit" is unintentional, but I like it.).."
That was exactly my intent.
In my current project i've inherited a well thought out but voluminous stack of custom functions that were built with a modular approach. The distinction between public and private is relegated to a naming convention i.e cf_ for public and cfp_ for private because FM does not have the built in ability to specify access controls on a custom function. All CF's are public.
Retrieving data ...