[squeak-dev] About Compiler-cmm.131

Chris Muller asqueaker at gmail.com
Wed Mar 3 16:25:26 UTC 2010


I saw them, I just thought it would be easier to merge/compare your
changes (and maintain your initials) via MC rather than
cut-and-paste..

I'll check them out..

On Wed, Mar 3, 2010 at 10:21 AM, Juan Vuletich <juan at jvuletich.org> wrote:
> Chris Muller wrote:
>>
>> Great so that's one vote for.  But I am not seeing your tweaks, did
>> you update the inbox?
>>
>>
>
> They are right there in the body of the message. In case there's a problem
> with your mail client, see
> http://permalink.gmane.org/gmane.comp.lang.smalltalk.squeak.general/143213 .
>
> Cheers,
> Juan Vuletich
>
>> On Wed, Mar 3, 2010 at 6:32 AM, Juan Vuletich <juan at jvuletich.org> wrote:
>>
>>>
>>> Hi Chris,
>>>
>>> Chris Muller wrote:
>>>
>>>>
>>>> Hi, I've just posted refinements to the inbox for pretty-print to
>>>> provide Rectangular Block and Indented Control Flow as suggested by
>>>> Ward Cunningham at:
>>>>
>>>>       http://c2.com/ppr/formatting.html#2
>>>>
>>>> These formatting rules maximize readability while balancing screen
>>>> space (and methods should be short anyway).  However, I did only push
>>>> these to the inbox for now, due to the potentially combustible nature
>>>> of this sort of change.
>>>>
>>>> Unless there are major objections, I'd like to copy these to the trunk
>>>> so we can all enjoy gorgeous Rectangular Block formatting.
>>>>
>>>>  - Chris
>>>>
>>>>
>>>
>>> Thanks! I love it! I did a couple of tweaks I hope you'll like:
>>>
>>> 1) Separate lines for block
>>>  a) if block has arguments (as if it had temps)
>>>  b) if the single statement is complex (as if it had many statements)
>>>
>>> 2) Brace arrays formatted as rectangluar blocks
>>>
>>> !BlockNode methodsFor: 'printing' stamp: 'jmv 3/3/2010 09:09'!
>>> printOn: aStream indent: level
>>>  | separateLines |
>>>  aStream
>>>       nextPut:  $[ ;
>>>       space.
>>>  self
>>>      printArgumentsOn:  aStream
>>>      indent:  level.
>>>  separateLines := (self
>>>      printTemporaries: temporaries
>>>      on:  aStream
>>>      doPrior:  [ ] ) or: [ arguments size > 0 ].
>>>  separateLines ifTrue:
>>>      [ "If args+temps > 0 and statements > 1 (or just one complex
>>> statement), put all statements on separate lines"
>>>      (statements size >  1 or: [ statements size = 1 and: [statements
>>> first
>>> isComplex]])
>>>          ifTrue:  [ aStream crtab:  level ]
>>>          ifFalse:  [ aStream space] ] .
>>>  self
>>>      printStatementsOn:  aStream
>>>      indent:  level.
>>>  aStream
>>>       space ;
>>>       nextPut:  $]! !
>>>
>>>
>>> !BraceNode methodsFor: 'printing' stamp: 'jmv 3/3/2010 08:58'!
>>> printOn: aStream indent: level
>>>  aStream
>>>       crtab: level+1.
>>>  aStream nextPut: ${.
>>>  1
>>>      to: elements size
>>>      do:
>>>          [ : i |
>>>          (elements at: i)
>>>              printOn: aStream
>>>              indent: level.
>>>          i < elements size ifTrue:
>>>              [ aStream
>>>                   nextPutAll: '. ' ;
>>>                   crtab: level+1 ] ].
>>>  aStream nextPut: $}! !
>>>
>>> BTW, according to http://c2.com/ppr/formatting.html#2, the author is Kent
>>> Beck.
>>>
>>> Cheers,
>>> Juan Vuletich
>>>
>>>
>>>
>
>
>



More information about the Squeak-dev mailing list