develooper Front page | perl.bootstrap | Postings from July 2000

Re: Working Group Proposal

From:
horos
Date:
July 24, 2000 16:58
Subject:
Re: Working Group Proposal
Message ID:
200007242358.QAA23290@earth.he.net
try #2, warning, feature request ahead..

> >I think we need a method to make perl both really small and large at the same 
> >time.   I'm open to suggestions, but I think that being big and monolithic 
> >has a lot of drawbacks if perl is to spread.. Linux does it right, I think, by 
> >allowing modules to be imported/exported from the kernel at will.
> 
> Which is what all the "in the core" debates were about - do it as a module
> not in the core. Then we have debates about which modules are bundled.

Well, what I was thinking was more along the lines of redefining what it 
means to be 'in the core'. 

Right now, the keywords/functions are immutable. You get all of them, whether
you like it or not. Say you have an application for perl where the only thing
you need is 'open' and 'close', along with a simplified array/hash 
implementation with limits on the size of the arrays. IMO, you should be able
to configure at compile time:

Include keyword 'open' in perl library? [y]
	Include support for 'http' in 'open' [y]
	Include support for 'ftp' in 'open' [y]
	Overload 'open' with other support (https, etc)? [n];

Include keyword 'close' in perl library? [y]
Include keyword 'select' in perl library? [y] n 
...

Use default hashing algorithm that comes with perl?[y] n
	module that implements hashing algorithm 
				[../my/simple/hashing/function.c ]

Use default array algorithm that comes with perl?[y] n
	module that implements array algorithm 
				[../my/simple/array/function.c ]
....

Use default regex algorithm that comes with perl?[y] 
	Include feature X inside of regular expressions[y] n
	Include feature Y inside of regular expressions[y] n
	Include feature Z inside of regular expressions[y] n

....
Modules that you wish to link with perl(modules that are imported upon startup)
[ strict warn ]

etc, etc, etc.

So, what is really 'in the core' is just the syntax and the C code for 
parsing/interpreting that syntax. The 'outer core' (what we call the 
distribution now) would be intelligent defaults for these answers. The 
'outer outer' core would be a pdk of some sort.

Ed



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About