FileOut/FileIn problem

Jarvis, Robert P. (Contingent) Jarvisb at timken.com
Wed May 16 12:53:58 UTC 2001


Take a look at

	http://www.smalltalksystems.com/publications/pools.doc

This is Juanita Ewing's paper on pools.  At the very end she says

	Because pools are data, avoid pools whenever possible.
	Instead, create a class that encapsulates the data in
	the pool and replace existing pool variable references
	with messages.  Your code reuse and ability to store
	your application in source form will improve.

HTH

Bob Jarvis
Compuware @ Timken

> -----Original Message-----
> From: Joshua Channing Gargus [mailto:schwa at cc.gatech.edu]
> Sent: Wednesday, May 16, 2001 8:46 AM
> To: Squeak Mailing List
> Subject: FileOut/FileIn problem
> 
> 
> Hi,
> 
> I'm running into a problem that I'm sure some long-time Smalltalker
> will be able to easily help me with.
> 
> I've done a port of Cassowary 
> (http://www.cs.washington.edu/research/constraints/cassowary/)
> to Squeak, and all is well in the image that I ported it in.  However,
> when I try to file it out and file it in to a clean image, problems 
> arise.  The problem has to do with pool variables; when I run the 
> demos, I get a walkback resulting from a nil value from a value in
> the pool.  However, if I inspect the variable in the debugger 
> (highlight it with the cursor, and Alt-i), it is what it should be.
> 
> I think that this problem results from me transcribing the Cassowary
> classes in alphabetical order instead of the order necessary to 
> ensure proper pool initialization.
> 
> I can fix this problem by recompiling two classes as follows:
> ClSimplexSolver compileAll. ClSymbolicWeight compileAll
> I guess I could put this in the postscript, but I'd rather learn
> what the problem is and fix it rather than work around it.
> 
> I'm attaching my changesets.  Experience this bug by:
> 
> 1. File in Cassowary.1.cs
> 2. File in Cassowary-Demo.1.cs
> 3. Evaluate 'ClCrossedQuadDemo new openInWorld'
> 
> nil gets sent the message negated.  This is because Squeak thinks that
> ClEpsilon (actually 'ClConstants at: #ClEpsilon') is nil.  However,
> inspecting the value of ClEpsilon shows that it is 1.0e-8, as 
> it should
> be.
> 
> I hope someone can help me, as I'd really like to make this cool 
> constraint framework available!
> 
> Thanks,
> Schwa
> 





More information about the Squeak-dev mailing list