Downsizing Squeak (was: Re: Scamper removal)

Lic. Edgar J. De Cleene edgardec2001 at yahoo.com.ar
Sun Mar 30 10:28:11 UTC 2003


On 29/03/03 12:14, "Adam Spitz" <aspitz at student.math.uwaterloo.ca> wrote:

> Has anybody been working on removing Scamper from the image? (I did a
> quick search of the places that I forgot to search when I asked about
> Celeste, but didn't find anything.) If not, here's a first cut at it:
> 
> http://minnow.cc.gatech.edu/squeak/uploads/14/ScamperRemoval.sar
> http://minnow.cc.gatech.edu/squeak/uploads/14/ScamperInstall.sar
> 
> A few notes:
> 
> - I'm removing all the stuff in the Network-HTML* categories (like the
> HTML parser), as well as Scamper itself. Eventually we'll probably want
> to split them into separate packages, but that can be done by whoever
> ends up being the package maintainer.
> 
> - I've gotta be missing something, because I'm ending up with a couple
> of obsolete classes (AnObsoleteHtmlParser class and AnObsoleteScamper
> class) being left in the image. I don't know how to fix this.

In cooking SqueakLight , I find also what if only cut a category , like I
see in SystemOrganization removeCategoriesMatching: 'Speech-*' (just by
example
In the atached file you could see what I found using my tool RemovalThings
Of course , if you don't remove all methods referencing deleted clases
....you en whit AnObsoletexxx.
I'm working on more safe methods of removal and post all soon.

Cheers.
Edgar

-------------- next part --------------
Object subclass: #InformAbout
	instanceVariableNames: ''
	classVariableNames: ''
	poolDictionaries: ''
	category: 'RemovalThings'!

"-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "!

InformAbout class
	instanceVariableNames: ''!

!InformAbout class methodsFor: 'as yet unclassified' stamp: 'edc 3/29/2003 07:41'!
classInThisCategorie: aCategory

| newBrowser catList |

	newBrowser _ Browser new.
	catList _ newBrowser systemCategoryList.
	newBrowser systemCategoryListIndex: 
		(catList indexOf: aCategory asSymbol ifAbsent: [^ self inform: 'No such category']).
^ newBrowser classList.! !

!InformAbout class methodsFor: 'as yet unclassified' stamp: 'edc 3/30/2003 07:18'!
informCategories: aString 
	| categorieList classList aStream associationList actualClass |
	aStream _ WriteStream on: String new.
	categorieList _ SystemOrganization categoriesMatching: aString.
	categorieList
		do: [:aCategorie | aStream print: aCategorie;
				 cr].
	aStream print: 'This are the categories matching ' , aString;
		 cr.
	categorieList
		do: [:aCategorie | 
			classList _ self classInThisCategorie: aCategorie.
	aStream tab; tab; print: '=== Class ========= Method ==='; cr.
			classList
				do: [:aClass | 
					aStream tab; print: aClass; cr.
					
				
					actualClass _ Smalltalk
								atOrBelow: aClass
								ifAbsent: [^ nil].
					associationList _ Smalltalk
								allCallsOn: (Smalltalk associationAt: actualClass theNonMetaClass name).
					associationList
						do: [:aAssociation | 
							aStream tab; tab; print: aAssociation classSymbol asString.
							aStream tab; tab; print: aAssociation methodSymbol asString; cr].
					aStream print: 'This are the associations in class '.
						aStream print: aClass asString;
						 cr].aStream print: 'This are the classes in ' , aCategorie asString;
						 cr.].
	StringHolder new contents: aStream contents;
		 openLabel: aString , ' Use in this image '! !
-------------- next part --------------
#'Speech-TTS'
#'Speech-Support'
#'Speech-Gestures'
#'Speech-Klatt'
#'Speech-Phonetics'
#'Speech-Events'
#'Speech-Phoneme Recognizer'
'This are the categories matching Speech*'
		'=== Class ========= Method ==='
	#Clause
		'Speaker'		'clauseFromString:'
'This are the associations in class ''Clause'
	#DurationsVisitor
		'Speaker'		'initialize'
'This are the associations in class ''DurationsVisitor'
	#F0RenderingVisitor
		'Speaker'		'initialize'
'This are the associations in class ''F0RenderingVisitor'
	#IntonationVisitor
		'Speaker'		'initialize'
'This are the associations in class ''IntonationVisitor'
	#Phrase
		'Speaker'		'phraseFromString:'
'This are the associations in class ''Phrase'
	#Speaker
'This are the associations in class ''Speaker'
	#Syllable
		'Speaker'		'syllabizationOf:'
'This are the associations in class ''Syllable'
	#UtteranceVisitor
'This are the associations in class ''UtteranceVisitor'
	#Word
		'Speaker'		'wordFromString:'
'This are the associations in class ''Word'
'This are the classes in Speech-TTS'
		'=== Class ========= Method ==='
	#CosineInterpolator
		'DECTalkReader'		'initialize'
		'F0RenderingVisitor'		'clause:'
'This are the associations in class ''CosineInterpolator'
	#DECTalkReader
		'DECTalkReader'		'silentNightDuetExample4'
		'DECTalkReader'		'silentNightDuetExample3'
		'DECTalkReader'		'silentNightDuetExample2'
		'DECTalkReader'		'silentNightDuetExample'
'This are the associations in class ''DECTalkReader'
	#PHOReader
'This are the associations in class ''PHOReader'
'This are the classes in Speech-Support'
		'=== Class ========= Method ==='
	#EyeMorph
		'FaceMorph'		'initialize'
'This are the associations in class ''EyeMorph'
	#FaceMorph
		'HeadMorph'		'initialize'
'This are the associations in class ''FaceMorph'
	#GesturalVoice
		'DECTalkReader'		'silentNightDuetExample4'
		'Speaker'		'newHead'
		'Speaker'		'makeGestural'
		'GesturalEvent'		'voice'
'This are the associations in class ''GesturalVoice'
	#HeadMorph
		'GesturalVoice'		'newHead'
'This are the associations in class ''HeadMorph'
	#LipsMorph
		'FaceMorph'		'initialize'
'This are the associations in class ''LipsMorph'
'This are the classes in Speech-Gestures'
		'=== Class ========= Method ==='
	#KlattFrame
		'KlattSynthesizerPlugin'		'initialize'
		'KlattFrameMorph'		'addSlidersForParameters:'
		'KlattFrameMorph'		'frame:'
		'KlattSegment'		'methodPrintOn:'
		'KlattVoice'		'defaultPatternFrame'
'This are the associations in class ''KlattFrame'
	#KlattFrameMorph
		'KlattFrame'		'edit'
		'KlattVoice'		'editor'
'This are the associations in class ''KlattFrameMorph'
	#KlattSegment
		'KlattSegmentSet'		'segmentFromArray:'
'This are the associations in class ''KlattSegment'
	#KlattSegmentParameter
		'KlattSegmentSet'		'parameterFromArray:'
'This are the associations in class ''KlattSegmentParameter'
	#KlattSegmentSet
		'KlattVoice'		'initialize'
'This are the associations in class ''KlattSegmentSet'
	#KlattSynthesizer
		'KlattFrame'		'play'
		'KlattFrame'		'example1'
		'KlattFrame'		'example3'
		'KlattFrame'		'example2'
		'KlattFrameMorph'		'playTest'
		'KlattVoice'		'initialize'
'This are the associations in class ''KlattSynthesizer'
	#KlattVoice
		'DECTalkReader'		'silentNightDuetExample4'
		'DECTalkReader'		'silentNightDuetExample3'
		'DECTalkReader'		'silentNightDuetExample2'
		'DECTalkReader'		'silentNightDuetExample'
		'Speaker'		'woman'
		'Speaker'		'kid'
		'Speaker'		'bicyclic'
		'Speaker'		'pressed'
		'Speaker'		'creaky'
		'Speaker'		'whispery'
		'Speaker'		'default'
		'Speaker'		'bigMan'
		'Speaker'		'child'
		'Speaker'		'breathy'
		'Speaker'		'notPressed'
		'Speaker'		'fly'
		'Speaker'		'exorsist'
		'Voice'		'default'
		'Speaker'		'edit'
'This are the associations in class ''KlattVoice'
	#LiljencrantsFant
		'KlattFrameMorph'		'step'
'This are the associations in class ''LiljencrantsFant'
'This are the classes in Speech-Klatt'
		'=== Class ========= Method ==='
	#Phoneme
		'PhonemeSet'		'initialize'
'This are the associations in class ''Phoneme'
	#PhonemeSet
		'LipsMorph'		'initialize'
		'PhoneticRule'		'fromArray:'
		'PhoneticRule'		'spanish'
		'PhoneticTranscriber'		'spanish'
		'PhoneticTranscriber'		'english'
		'DurationsVisitor'		'default'
		'DECTalkReader'		'initialize'
		'KlattSegmentSet'		'initializeArpabet'
		'PHOReader'		'initialize'
		'PhoneticEvent'		'asPHOString'
'This are the associations in class ''PhonemeSet'
	#PhoneticRule
		'PhoneticTranscriber'		'spanish'
		'PhoneticTranscriber'		'english'
		'PhoneticRule'		'species'
'This are the associations in class ''PhoneticRule'
	#PhoneticTranscriber
		'Speaker'		'initialize'
'This are the associations in class ''PhoneticTranscriber'
'This are the classes in Speech-Phonetics'
		'=== Class ========= Method ==='
	#CompositeEvent
		'Clause'		'events'
		'DECTalkReader'		'initialize'
		'PHOReader'		'events'
		'Phrase'		'events'
		'Speaker'		'say:'
		'Syllable'		'events'
		'Word'		'events'
'This are the associations in class ''CompositeEvent'
	#CompositeVoice
		'Speaker'		'findAVoice:'
		'Voice'		'+'
'This are the associations in class ''CompositeVoice'
	#GazeGesturalEvent
'This are the associations in class ''GazeGesturalEvent'
	#GesturalEvent
'This are the associations in class ''GesturalEvent'
	#MoodGesturalEvent
'This are the associations in class ''MoodGesturalEvent'
	#PhoneticEvent
		'DECTalkReader'		'read'
		'PHOReader'		'nextEvent'
		'Speaker'		'eventsFromString:'
		'Syllable'		'events'
'This are the associations in class ''PhoneticEvent'
	#TalkGesturalEvent
		'GesturalVoice'		'playPhoneticEvent:at:'
'This are the associations in class ''TalkGesturalEvent'
	#Voice
		'VoiceEvent'		'voice'
		'GesturalEvent'		'voice'
'This are the associations in class ''Voice'
	#VoiceEvent
'This are the associations in class ''VoiceEvent'
'This are the classes in Speech-Events'
		'=== Class ========= Method ==='
	#PhonemeRecognizerMorph
'This are the associations in class ''PhonemeRecognizerMorph'
	#PhonemeRecord
		'PhonemeRecord'		'initialize'
		'PhonemeRecognizerMorph'		'matchSoundFile'
		'PhonemeRecognizerMorph'		'addPhoneme'
		'PhonemeRecognizerMorph'		'initialize'
		'PhonemeRecognizerMorph'		'startRecognizing'
		'PhonemeRecognizerMorph'		'findMatchFor:samplingRate:'
'This are the associations in class ''PhonemeRecord'
'This are the classes in Speech-Phoneme Recognizer'


More information about the Squeak-dev mailing list