I don't see the point in providing site wide settings for this. Each
Pike application might for some reason use a partially different
namespace than the standard one. So let there be some method for it to
define a namespace mapping, preferably only once and not in each
source file. There might also be a reason for doing the mapping only
once for a group of related applications.
But doing it on a site wide level would mean that all pike
applications on the site are treated as a single group (unless those
that doesn't use the site wide pike installation, of course). That
strikes me as a totally arbitrary grouping; I see no reason to expect
that all applications that happen to be installed on a site should
want to use the same nonstandard namespace.
/ Martin Stjernholm, Roxen IS
Previous text:
>2002-09-03 18:35:
>Subject: the Pike module system
>--------------------------------------------------------------------
>
>>>that warning about clashes on the global level would be enough, but it
>>>might be useful if Pike warned about method arguments and local variables
>>>shadowing some global identifier.
>>
>>No. Not per default, maybe if supplying a flag, like -Wclobber. I
>>quite often overload lfuns (which are present globally) and I don't
>>want Pike to complain on that.
>Yep, that makes sense, sure.
>
>>>>should themselfs make sure they contain all dependencies they need. As
>>>>nilsson said earlier, it would not be fun to every now and then get
>>>>complaints to pike fora that certain programs fail miserably, just
>>>I'm sorry, but I don't understand this argument. The impression I get is
>>>that you (plural) are promoting a language that is to resolve all the
>>>user's problems and, IMHO (and some people I talked to about the issue)
>>>Pike should stay a general purpose language that gives its users maximum
>>>flexibility in choosing the ways to solve one problem. As I said - the
>>>autoloading _feature_ would be fully under the control of the site
>>>administrator or the individual user - no upstream default autoloads,
>>>nothing like that. Why would such a _feature_ be bad?
>>
>>There is nothing bad as such to the feature (other than that it's
>>redundant in some sense). The problem is that given such a feature
>It is very useful for site-wide policy setting - we've just talked about it
>on IRC, people seem to like the idea and find it useful.
>
>>programmers will start writing code depending on autoloaded modules,
>that's ok, as long as it is a site policy. Pike docs should describe only
>the autoload feature, not that any modules are available through it. Don't
>assume all users are dummies.
>
>>or that certain compatability code has been run, etc. In doing so, the
>>will make sure the program won't work unless that code has been
>again, it's ok if it is a site-wide policy. Change the scale of your point
>of view - look at it from the site standpoint, not from the language
>implementor's standpoint.
>
>>run. The most common user will, when a script fails, not ask the
>>administrator, but rather ask in relevant Pike fora, just to make the
>>people in those fora reply "go blame your system administrator", and
>That's what FAQ is for... Also, I assume that people will read docs - they
>should stress that relying on any modules being autoloaded is WRONG.
>
>>pike will get bad karma since people then find the people in pike fora
>>unfriendly and non-helpful. I don't want this to happen. The good
>oh, come on! What kind of bad karma if the docs make things clear?
>
>>thing with Pike is that it's a portable envirnoment in which you can
>>be sure that the program works, given that the dependincies made
>>explicitly in your code are met. These explicit dependencies will be
>>even easier to trace given a hierarcical third party module tree with
>>clear delegations -- and people on the lists can give the more
>>informative answer: Check the pike module repository for that and that
>>module, install it and it will work.
>>
>>Anything unclear in that?
>No, it's perfectly clear, but I've got a feeling that I didn't make myself
>clear enough. This is only a feature, not a way to free users from checking
>whether the module they need is loaded, that's first. Second, pike loads
>the modules on demand - your hypothetical situation will have no place,
>because if some module isn't auto-loaded, it will be loaded when the user
>accesses it for the first time. Third, the autoload feature is good for
>setting up some kind of widely understood environment - setting some
>site-specific variables, setting up security contexts etc.; Fourth, the
>autoload feature might be used by the site administrator to show some
>motd-like thing (a stupid example made up ad hoc :))
>
>>>Let me give you one ad-hoc example - what if the administrator was
>>>able to autoload a simple module, loaded each time pike is used, which
>>>would set the default security settings? Resource limits, pike security -
>>>anything?
>>
>>That's really nothing that should be done in Pike, especially since
>>a user can upload his own pike to the system and easily circumvent
>>such things.
>Come on, that can be avoided _easily_ by a half-experienced programmer and
>is really of no importance here. And pike-security cannot be set up outside
>of the pike context.
>
>>No, to be honest, I don't see any use for your autoload feature.
>>Especially if the hierarcical delegated module system becomes a
>>reality. If any module is moved within the base modules of pike, that
>>should be reflected in the current compatability system.
>Compatibility should be thrown away at some point, otherwise it doesn't
>make sense to introduce improvements.
>
> / Marek Habersack (Grendel)
>