commits | 10 Feb 00:55
Favicon

Daily Commit Log

Changes to Trunk (http://source.squeak.org/trunk.html) in the last 24 hours:

http://lists.squeakfoundation.org/pipermail/packages/2012-February/005186.html

Name: Compiler-nice.223
Ancestors: Compiler-nice.222

Correct a bug (see http://code.google.com/p/pharo/issues/detail?id=4650)

self should: [Compiler evaluate: '$'] raise: Error.

I also simplified all the redundancy (aheadChar == DoItCharacter and: [source atEnd]) and replaced with
aheadChar == DoItCharacter.
Indeed, these were uggly incomplete guards trying to distinguish a DoItCharacter marking an end of stream
from a (Character value: 30 "ASCII character RS means Record Separator") encountered in source...
But they would not even handle the case when DoItCharacter is the last source character., except maybe the
uggliest contorsions in xDigit...

Instead I replaced the DoItCharacter marking the endOfStream by a character that we should never
encounter in source.
I have chosen 16r10FFFF which is the last unicode and will never be used to encode a character (as all ending
in FFFE and FFFF).
A different strategy would be to use a value greater than the last unicode, like 16r110000, and would also work...
Or use a different Object. In this later case, the object would have to understand charCode or we would have
to change more Scanner methods (at least typeTableAt:).

Note that with current Character implementation, (Character value: 16r10FFFF) ~~ (Character value: 16r10FFFF).
Since all tests are written with identity test aheadChar or hereChar == DoItCharacter, even if such
Character were encountered in source, it wouldn't be interpreted as an endOfStream mark, thus any
Character code > 255 could have been used, but this would be more fragile.
(Continue reading)

commits | 9 Feb 01:00
Favicon

The Trunk: Compiler-nice.223.mcz

Nicolas Cellier uploaded a new version of Compiler to project The Trunk:
http://source.squeak.org/trunk/Compiler-nice.223.mcz

==================== Summary ====================

Name: Compiler-nice.223
Author: nice
Time: 9 February 2012, 4:05:21.21 pm
UUID: 8c21622a-6317-4c71-ad1a-607ba1683e6c
Ancestors: Compiler-nice.222

Correct a bug (see http://code.google.com/p/pharo/issues/detail?id=4650)

self should: [Compiler evaluate: '$'] raise: Error.

I also simplified all the redundancy (aheadChar == DoItCharacter and: [source atEnd]) and replaced with
aheadChar == DoItCharacter.
Indeed, these were uggly incomplete guards trying to distinguish a DoItCharacter marking an end of stream
from a (Character value: 30 "ASCII character RS means Record Separator") encountered in source...
But they would not even handle the case when DoItCharacter is the last source character., except maybe the
uggliest contorsions in xDigit...

Instead I replaced the DoItCharacter marking the endOfStream by a character that we should never
encounter in source.
I have chosen 16r10FFFF which is the last unicode and will never be used to encode a character (as all ending
in FFFE and FFFF).
A different strategy would be to use a value greater than the last unicode, like 16r110000, and would also work...
Or use a different Object. In this later case, the object would have to understand charCode or we would have
to change more Scanner methods (at least typeTableAt:).

(Continue reading)

Janko Mivšek | 9 Feb 15:15
Picon
Gravatar

Smalltalk on Bacon conf?

Hi guys,

Maybe this two day conference "by developers for developers" is another
opportunity to show strengths of Smalltalk?

	Bacon http://devslovebacon.com/

BACON is a two-day, two-track technology conference on things developers
love. 20-21 April, 2012 London.

Thirty-two tasty sessions on topics including web development,
machine learning, astronomy, and electronic music.

Call for speakers

Bacon is a conference by developers for developers.

We are looking for a wide range of talks that focus on things developers
love, whether digital or analogue. Are you a developer by day and
electronic music superstar by night? Have you been working on some super
interesting code and want to share your findings?

Each speaker will have half an hour to deliver their talk and to gain
the eternal admiration and adoration of their peers.

Best regards
Janko

--

-- 
Janko Mivšek
(Continue reading)

Chris Cunnington | 8 Feb 15:43
Picon

Squeak Oversight Board minutes – 02/07/12

Attending: Chris Muller, Colin Putney, Randal Schwartz, Chris Cunnington

- This was mainly an idea session for things to do for Squeak 4.4

- Project ideas such as OmniBrowser, namespaces, and building small images (from a larger mother image) were explored

- The introduction of new ideas prompted discussion about the importance of moving in incremental steps when breaking backward compatibility, so that the entirety of the Squeak community can reasonably move forward in stepwise fashion.

- A general question of how Squeak is relevant in 2012 was posited. While advances to the vm and image create greater computing power, what could be the next killer app?


Ben Coman | 7 Feb 18:52

Resource Descriptor Framework


Is there much being done with Resource Description Framework in 
Squeak/Pharo?   I have some RDF data files that I need to load for my 
masters project and am seeking advice on how to approach this.  I am 
only just learning about RDF for the first time.   For anyone else 
interested the best short overview I found so far is  [ 
http://logicerror.com/semanticWeb-webdev ]

Apparently it this is a Simplified RDF Syntax as described at  [ 
http://www.langdale.com.au/CIMXML/PSModelExchange.pdf ]

A data file looks like like this...

<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
                xmlns:cim="http://iec.ch/TC57/2007/CIM-schema-cim12#">
    <cim:ACLineSegment rdf:ID="_7814201">
        <cim:Conductor.length>95</cim:Conductor.length>

<cim:IdentifiedObject.name>AMHE400MARCLINE</cim:IdentifiedObject.name>
        <cim:ConductingEquipment.BaseVoltage rdf:resource="#_400000302"/>
        <cim:Equipment.MemberOf_EquipmentContainer 
rdf:resource="#_487038201"/>
    </cim:ACLineSegment>

The most obvious project on Squeaksource is Rakaiko [a] which says "RDF 
is an essential part of the new web technologies and a fundamental layer 
of the semantic Web 2.0 [...]  This API, compliant with the W3C RDF 
specification will allow a developer to handle an RDF graph in its 
various forms (RDF/XML, N3, abstract graph). In other words, it would be 
the Squeak equivalent of the Jena Java RDF API."    However there has 
been no activity on Rakaiko since 2007 and there is no apparent 
documentation.   Has anyone used this and/or is this abandoned?  

Page 20 of "ESUG 2006 Welcome" mentions a "RDF Framework for 
Smalltalk."  Did anything come of this?

Alternatively I could fake it and learn just how to parse the XML 
directly and manually translate it into the class model.   (It seems 
processing an a RDF Schema might be able to automatically create the 
class definition as well as the instance creation )

There is PetitXML, which however is not included by 
ConfigurationOfPetitParser.24 loaded on Moose 4.6.  What is the status 
of PetitXML ?

Also Moose 4.6 has XML-Parser.   Which of XML-Parser or PetitXML would 
be the better approach ?

I've watched http://www.tudorgirba.com/blog/simple-xml-browser-with-glamour
but not sure whether than will help me actually load the data into a model.

You opinion of these various approaches would be appreciated, and of 
course pointers to any examples/documentation.

Chris Cunnington | 6 Feb 22:53
Picon

Squeak/Seaside all in one

http://squeak.org/Documentation/Installation/#h-5

Owing to Tobias Pape building an up-to-date Seaside image (3.0.6) for Squeak and Ken Causey's speedy assistance 
with the Squeak  server/box, there is now an up to date image available above. It can also be accessed from a link at 
the bottom of the squeak.org homepage in the Extraordinary Squeak section. 

Chris 

Chris Cunnington | 6 Feb 15:10
Picon

Squeak/Seaside all in one

Let me look into it and get back to you.

Chris

Tobias Pape | 6 Feb 11:20
Picon
Picon

Squeak/Seaside all in one

Dear all

I packaged Seaside 3.0.6 on Squeak 4.3 
just like the 3.0rc? on Squeak 4.1
(see http://www.squeak.org/Documentation/Installation/#h-5)

How can I get it onto the ftp server
(and probably onto the website)?

Best
	-Tobias

Göran Krampe | 6 Feb 10:30
Picon
Gravatar

Report from FOSDEM please! :)

...I want to hear how darn cool it was and how droves of new 
Smalltalkers got "reborn" :)

regards, Göran

Nicolas Cellier | 5 Feb 23:00
Picon
Gravatar

Re: The Inbox: Kernel-cmm.669.mcz

2012/2/4  <commits <at> source.squeak.org>:
> A new version of Kernel was added to project The Inbox:
> http://source.squeak.org/inbox/Kernel-cmm.669.mcz
>
> ==================== Summary ====================
>
> Name: Kernel-cmm.669
> Author: cmm
> Time: 3 February 2012, 5:55:11.175 pm
> UUID: 5ddec343-01ad-4e76-b32c-299fac68ec09
> Ancestors: Kernel-eem.668
>
> Introduced Timespan class>>defaultOffset.  This is the offset that will be used for creation of all
Timespans when an offset is not specified.  When an offset is specified or involved in construction or
calculation, the result is now produced in terms of the source offset.
>        For example, Date today now produces a globalized date by default.  However, "Date starting:
(DateAndTime year: 2004 month: 2 day: 29 hour: 13 minute: 33 second: 0 offset: 2 hours)" produces a
Date.whose start is expressed in terms of UTC+2.
>        The default defaultOffset is Duration zero so that Squeak will have fast, globalized Dates out
of the box.  Globalized Dates are common for applications.
>        Legacy localized Dates can be obtained by evaluating "Date localize" so that, when an offset is
not specified or otherwise involved in the input, the local offset will be used.
>
> =============== Diff against Kernel-eem.668 ===============
>
> Item was changed:
>  ----- Method: DateAndTime>>midnight (in category 'squeak protocol') -----
>  midnight
> +       "Answer a DateAndTime starting at midnight of the same timezone offset as the receiver."
> +       ^ self class basicNew
> -       "Answer a DateAndTime starting at midnight local time"
> -
> -       ^self class basicNew
>                setJdn: jdn
>                seconds: 0
>                nano: 0
> +               offset: offset!
> -               offset: self class localOffset
> - !
>

I like this one because

| dateAndTime |
dateAndTime := DateAndTime year: 2012 month: 1 day: 1 hour: 1 minute:
1 second: 1 offset: 10 hours.
self assert: (dateAndTime asDate includes: dateAndTime)

will succeed whatever your local time zone...

Nicolas Cellier | 5 Feb 22:46
Picon
Gravatar

Re: The Inbox: Kernel-cmm.669.mcz

2012/2/4  <commits <at> source.squeak.org>:
> A new version of Kernel was added to project The Inbox:
> http://source.squeak.org/inbox/Kernel-cmm.669.mcz
>
> ==================== Summary ====================
>
> Name: Kernel-cmm.669
> Author: cmm
> Time: 3 February 2012, 5:55:11.175 pm
> UUID: 5ddec343-01ad-4e76-b32c-299fac68ec09
> Ancestors: Kernel-eem.668
>
> Introduced Timespan class>>defaultOffset.  This is the offset that will be used for creation of all
Timespans when an offset is not specified.  When an offset is specified or involved in construction or
calculation, the result is now produced in terms of the source offset.
>        For example, Date today now produces a globalized date by default.  However, "Date starting:
(DateAndTime year: 2004 month: 2 day: 29 hour: 13 minute: 33 second: 0 offset: 2 hours)" produces a
Date.whose start is expressed in terms of UTC+2.
>        The default defaultOffset is Duration zero so that Squeak will have fast, globalized Dates out
of the box.  Globalized Dates are common for applications.
>        Legacy localized Dates can be obtained by evaluating "Date localize" so that, when an offset is
not specified or otherwise involved in the input, the local offset will be used.
>
> =============== Diff against Kernel-eem.668 ===============
>
SNIP...
>
> Item was changed:
>  ----- Method: DateAndTime>>asSeconds (in category 'smalltalk-80') -----
>  asSeconds
>        "Return the number of seconds since the Squeak epoch"
> +       ^ (self - (self class epoch offset: offset)) asSeconds!
> -
> -       ^ (self - (self class epoch)) asSeconds!
>
OK, I see why you changed this one, just to preserve the fact that
DateAndTime epoch is local time zone sensitive...
But why was it so? Anyone has a good rationale?

Nicolas


Gmane