[squeak-dev] [Seaside] About loading Seaside into Squeak6.0a-17082 ....

Tobias Pape Das.Linux at gmx.de
Thu Apr 27 06:22:06 UTC 2017


> On 27.04.2017, at 00:23, Edgar De Cleene <edgardec2005 at gmail.com> wrote:
> 
> So you are saying 5.1 could load Seaside with Grease loaded first ?

Should work out of the box (grease would be loaded nevertheless with Seaside)

> If this works, I could load it in the in the works FunSqueakRos5dot1 and then fix the references to BlockContext an MethodContext , put the relevant .mcz into Ladrillos repository we at using in squeak source with Hannes.
> 
> And we could have a Squeak loadable Seaside in 6.0.

Sorry, I don't understand what process you are proposing…

Best regards
	-Tobias


> 
> 
>> On Apr 26, 2017, at 18:26, Tobias Pape <Das.Linux at gmx.de> wrote:
>> 
>> Hi
>>> On 26.04.2017, at 22:31, Dale Henrichs <dale.henrichs at gemtalksystems.com> wrote:
>>> 
>>> 
>>> On 04/26/2017 11:08 AM, Tobias Pape wrote:
>>>> Hi,
>>>> (cc squeak-dev)
>>>> 
>>>>> On 26.04.2017, at 19:52, Esteban A. Maringolo <emaringolo at gmail.com> wrote:
>>>>> 
>>>>> You should have a GRSqueakPlatform as subclass, and then evaluate
>>>>> "GRSqueakPlatform select", this will create and assign the new
>>>>> instance as GRPlatform singleton.
>>>>> 
>>>> Sadly, in his image won't be a GRSqueakPlatform.
>>>> Why? because (SystemVersion current version asString) returns 'Squeak6.0alpha', but
>>>> MetacelloSqueakPlatform>>defaultPlatformAttributes does not know about that.
>>>> And ConfigurationOfGrease>>baseline117: only has an idea of #'squeak4.x' and #'squeak5.x'.
>>>> 
>>>> I've no good idea how to fix that yet.
>>> submit a pull request for the Metacello project on github[1] and update the method MetacelloSqueakPlatform>>defaultPlatformAttributes[2] with your new Squeak versions added to the list ...
>>> 
>>> If you want to avoid having to update Metacello for each new Squeak release, add something along the lines of what pharo has been doing for a few years[3] ... then you only need to remember to update that method ... but at least it will be part of the base image ...
>>> 
>>> For GemStone I've included code to generate the default attributes for GemStone based on the GemStone version number ...
>>> 
>> 
>> Hey Dale, those are good ideas and I've thought about that, too.
>> However, that does not help on its own. because even if this brought us, eg, #'squeak6.x' or #'squeak6alpha', Grease would pick none of them.
>> 
>> So, this could work:
>> 1. have an extraction like gemstone below, but
>> 2. ALSO identify as #'squeakTrunk' if version string ends in 'alpha', and
>> 3. Change grease baseline 117 (or push number here?) the specific line from #'squeak5.x' to
>>  a. either #( 'squeak5.x' 'squeak6.x')
>>  b. or #( 'squeak5.x' 'squeakTrunk')
>>  c. or have #'squeak6.x' separate.
>> 
>> @squeak-dev: hoping you are ok with (1), are you ok with (2)?
>> @seaside-dev: would you rather like (3a), (3b), or (3c)?
>> 
>> Best regards
>> 	-Tobias
>> 
>> 
>> 
>>> Dale
>>> 
>>> [1] https://github.com/dalehenrich/metacello-work
>>> [2] https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-Platform.squeak.package/MetacelloSqueakPlatform.class/instance/defaultPlatformAttributes.st#L11-L19
>>> [3] https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-PharoCommonPlatform.package/MetacelloPharoCommonPlatform.class/instance/defaultPlatformAttributes.st#L4-L5
>>> [4] https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-Platform.gemstone.package/MetacelloGemStonePlatform.class/instance/extractAtrributesFrom..st
>>>> 
>>>> Any takers?
>>>> 
>>>> best regards
>>>> 	-Tobias
>>>> 
>>>> 
>>>>> Regards.
>>>>> Esteban A. Maringolo
>>>>> 
>>>>> 
>>>>> 2017-04-26 14:27 GMT-03:00 H. Hirzel <hannes.hirzel at gmail.com>:
>>>>>> The issue is that
>>>>>> 
>>>>>>    GRPlatform current
>>>>>> 
>>>>>> 
>>>>>> returns nil.
>>>>>> 
>>>>>> On 4/26/17, H. Hirzel <hannes.hirzel at gmail.com> wrote:
>>>>>>> After replacing
>>>>>>> 
>>>>>>>     #greaseInteger
>>>>>>> 
>>>>>>> with
>>>>>>> 
>>>>>>>    #asInteger
>>>>>>> 
>>>>>>> I get an error in
>>>>>>> 
>>>>>>> 
>>>>>>> WAKeyGenerator>>initialize
>>>>>>> 
>>>>>>> initialize
>>>>>>>     super initialize.
>>>>>>>     self generator: GRPlatform current newRandom.
>>>>>>>     self space:
>>>>>>> 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-'
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> So there are issues with the Grease compatibility layer.
>>>>>>> 
>>>>>>> Maybe the configuration map loads the wrong version?
>>>>>>> 
>>>>>>> 
>>>>>>> Suggestions?
>>>>>>> 
>>>>>>> 
>>>>>>> On 4/26/17, H. Hirzel <hannes.hirzel at gmail.com> wrote:
>>>>>>>> Hello
>>>>>>>> 
>>>>>>>> Loading Seaside into Squeak6.0a-17082 .... gives the following error
>>>>>>>> 
>>>>>>>> Character(Object)>>doesNotUnderstand: #greaseInteger
>>>>>>>> 
>>>>>>>> Details [1]
>>>>>>>> 
>>>>>>>> Is there a particular Squeak6.0a version where Seaside loads fine?
>>>>>>>> http://files.squeak.org/6.0alpha/
>>>>>>>> 
>>>>>>>> Any suggestions how a fix to Grease should look like?
>>>>>>>> 
>>>>>>>> Regards
>>>>>>>> --Hannes
>>>>>>>> 
>>>>>>>> ---------------------------------------------------------------------------------------------
>>>>>>>> Character(Object)>>doesNotUnderstand: #greaseInteger
>>>>>>>>       Receiver: Character null
>>>>>>>>       Arguments and temporary variables:
>>>>>>>>               aMessage:       greaseInteger
>>>>>>>>               exception:      MessageNotUnderstood:
>>>>>>>> Character>>greaseInteger
>>>>>>>>               resumeValue:    nil
>>>>>>>>       Receiver's instance variables:
>>>>>>>> Character null
>>>>>>>> 
>>>>>>>> WAUrlEncoder class>>encode:on:
>>>>>>>>       Receiver: WAUrlEncoder
>>>>>>>>       Arguments and temporary variables:
>>>>>>>>               aCharacter:     Character null
>>>>>>>>               aStream:        a WriteStream
>>>>>>>>               printer:        a GRNumberPrinter
>>>>>>>>       Receiver's instance variables:
>>>>>>>>               superclass:     WATableBasedEncoder
>>>>>>>>               methodDict:     a MethodDictionary()
>>>>>>>>               format:         65538
>>>>>>>>               instanceVariables:      nil
>>>>>>>>               organization:   ('as yet unclassified')
>>>>>>>> 
>>>>>>>>               subclasses:     nil
>>>>>>>>               name:   #WAUrlEncoder
>>>>>>>>               classPool:      nil
>>>>>>>>               sharedPools:    nil
>>>>>>>>               environment:    Smalltalk
>>>>>>>>               category:       #'Seaside-Core-Document'
>>>>>>>>               table:  #(nil nil nil nil nil nil nil nil nil nil nil
>>>>>>>> nil nil nil
>>>>>>>> nil nil nil ni...etc...
>>>>>>>> 
>>>>>>>> WAUrlEncoder class>>initializeTable
>>>>>>>>       Receiver: WAUrlEncoder
>>>>>>>>       Arguments and temporary variables:
>>>>>>>>               stream:         a WriteStream
>>>>>>>>               characterLimit:         255
>>>>>>>>               index:  0
>>>>>>>>               character:      Character null
>>>>>>>>               value:  nil
>>>>>>>>       Receiver's instance variables:
>>>>>>>>               superclass:     WATableBasedEncoder
>>>>>>>>               methodDict:     a MethodDictionary()
>>>>>>>>               format:         65538
>>>>>>>>               instanceVariables:      nil
>>>>>>>>               organization:   ('as yet unclassified')
>>>>>>>> 
>>>>>>>>               subclasses:     nil
>>>>>>>>               name:   #WAUrlEncoder
>>>>>>>>               classPool:      nil
>>>>>>>>               sharedPools:    nil
>>>>>>>>               environment:    Smalltalk
>>>>>>>>               category:       #'Seaside-Core-Document'
>>>>>>>>               table:  #(nil nil nil nil nil nil nil nil nil nil nil
>>>>>>>> nil nil nil
>>>>>>>> nil nil nil ni...etc...
>>>>>>>> 
>>>>>> _______________________________________________
>>>>>> seaside mailing list
>>>>>> seaside at lists.squeakfoundation.org
>>>>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>>>> _______________________________________________
>>>>> seaside mailing list
>>>>> seaside at lists.squeakfoundation.org
>>>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>>> _______________________________________________
>>>> seaside mailing list
>>>> seaside at lists.squeakfoundation.org
>>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>> 
>>> _______________________________________________
>>> seaside mailing list
>>> seaside at lists.squeakfoundation.org
>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> 
> 



More information about the Squeak-dev mailing list