[Pharo-project] New to PHP 5.4: Traits

Stéphane Ducasse stephane.ducasse at inria.fr
Mon Nov 22 09:28:24 CET 2010

>> On 21 Nov 2010, at 21:47, jaayer wrote: 
>>> Excellent that other, lesser languages like PHP, Perl 6 and Scala have already adopted and standardized Traits while the reactionaries in the Smalltalk community still resist doing the same? 
>> Ignoring all the sarcasm in that comment: 
>> I don't see any form of standardization here. I am not aware that any of the other existing PHP implementations has picked up Traits so far. 
> PHP has no standard; the implementation is the standard, and Traits are being added to the implementation, hence, "standardization." My point remains; other languages are or have already adopted Traits while the Smalltalk community, from which the concept sprang, continues to drag its heels after nearly a decade since their introduction.
>> And well, it is about 3 years from the first implementation to a first release in an official alpha version of PHP. There is still a loooong way to go... 
> No, there isn't, at least not compared with the rate of Smalltalk's adoption of Traits. Face it. There are just too many Smalltalkers who seem to think the language is a complete revelation that no mortal has the right to amend. Other languages can grow to accommodate new features; Smalltalk, which went through a number major revisions in the 70s at PARC, remains frozen in the amber of 1980.

You are somehow right :).
Now some points if you want to help:
	- I would love to have more support for traits in pharo
			- using them
			- improving tool support
			- revisiting their implementation: this is on my todo since andreas (with a certain marketing effect) "cleaned"
			the version of squeak.
				- one question there is can we make traits pluggable on top of the core and does it make sense. 

	- we want other features like modules but but but but but
	but but but but we want to have the time to work and try out ideas (this is 8 years - yes I'm slow that we 
	started with classboxes - and classboxes does not look like the solution)
			- now the first step in that direction that we started in 2002 (but people did not understand it :))
			was to clean all the smalltalk reference
			- now we are working on making sure that we can have multiple systemDictionaries side by side
				it will support not only module design exploration but 
					- OOPAL bootstrap
					- atomic loading (like in VW)
					- Moose analysis (ie Moose/pharo1.1 should be able to analyse Moose/pharo1.3 unstable)
					- remote debugging/development

Now my problem is time. 					
So if people want to help please contact us and we could have a lot of fun.


More information about the Pharo-project mailing list