[squeak-dev] What is the task of NullEncoder?

David T. Lewis lewis at mail.msen.com
Fri Sep 29 23:42:35 UTC 2017


On Fri, Sep 29, 2017 at 04:37:16PM +0200, Tobias Pape wrote:
> Hi Hannes
> 
> > On 29.09.2017, at 15:21, H. Hirzel <hannes.hirzel at gmail.com> wrote:
> > 
> > And there is no 'FlattenEncoder' in Pharo 6
> 
> > 
> > On 9/29/17, H. Hirzel <hannes.hirzel at gmail.com> wrote:
> >> We have
> >> 
> >> NullEncoder
> >>    FlattenEncoder
> >>        Canvas
> 
> So here's the Thing: I looked in 3.8, and there's: 
> 
> Object
>  NullEncoder 		- Morphic-Postscript Filters
>   FlattenEncoder	- Morphic-Postscript Filters
>    Canvas		- Morphic-Support
>     PostscriptCanvas	- Morphic-Postscript Canvases
> 
> But also note that they all have a callback via class>>filterSelector:
> 
> NullEncoder>>filterSelector		^ #writeOnFilterStream:
> FlattenEncoder>>filterSelector		^ #flattenOnStream:
> Canvas>>filterSelector			^ #drawOnCanvas:
> PostscriptCanvas>>filterSelector	^ #fullDrawPostscriptOn:
> 
> I think part of that happened because this all shared common functionallity, In the sense that all those things "Put objects onto another thing with encoding inbetween".
> Thinking of things like a n-dimensonal stream or so???
> 
> I checked and It is like that even in Squeak 3.6, 3.0, 2.8. 
> Squeak 1.13 does not have any of those, and it has no Morphic.
> 
> Self Morphic does not have such Encoders, tho.
> 
> In the end it all seems to be related to the PostScript Canvas, which, understandably, has to have access to certain objects and actually has to "encode" them into a file.
> 
> Best regards
> 	-Tobias
> 

According to the update stream history at http://files.squeak.org/history,
NullEncoder and friends were added in  1466EncodingFilters-MPW.cs by MPW:

   Object subclass: #NullEncoder
   NullEncoder subclass: #FlattenEncoder
   FlattenEncoder subclass: #ByteEncoder
   ByteEncoder subclass: #PrintableEncoder
   PrintableEncoder subclass: #PrintEncoder
   PrintableEncoder subclass: #PropertyListEncoder
   PrintableEncoder subclass: #StoreEncoder

According to SqueakMap, MPW is Mark McCahill (mccahill at duke.edu).

According to Wikipedia, Mark McCahill at Duke is this guy: https://en.wikipedia.org/wiki/Mark_P._McCahill

According to the method time stamps, these classes date back to January 1901, so probably actually 2001.

Dave



More information about the Squeak-dev mailing list