Chris Muller uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-cmm.606.mcz
==================== Summary ====================
Name: Morphic-cmm.606
Author: cmm
Time: 5 January 2012, 10:12:46.114 pm
UUID: b3bb5602-a323-4e67-a26d-236676c67c76
Ancestors: Morphic-laza.605
Pick up halo to behave the same as a red-button grab.
=============== Diff against Morphic-laza.605 ===============
Item was changed:
----- Method: HaloMorph>>doGrab:with: (in category 'private') -----
doGrab: evt with: grabHandle
"Ask hand to grab my target."
self obtainHaloForEvent: evt andRemoveAllHandlesBut: grabHandle.
+ evt hand attachMorph: target.
- evt hand grabMorph: target.
self step. "update position if necessary"
evt hand addMouseListener: self. "Listen for the drop"!
David T. Lewis uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-dtl.476.mcz
==================== Summary ====================
Name: System-dtl.476
Author: dtl
Time: 29 March 2012, 8:44:19.309 pm
UUID: 6cc16423-f2ef-49e2-80b5-fabaf9fb8664
Ancestors: System-edc.475
Nil out some unreferenced slots in the special objects array. Slots 32, 33 and 34 were originally used to hold instances of Float, LargePositiveInteger and Point that could be used as prototypes for fast initialization of these objects. This usage is no longer required in any current VM, so the slots in the special objects array are set to nil and marked as available for future use.
=============== Diff against System-edc.475 ===============
Item was changed:
----- Method: SmalltalkImage>>recreateSpecialObjectsArray (in category 'special objects') -----
recreateSpecialObjectsArray
"Smalltalk recreateSpecialObjectsArray"
"To external package developers:
**** DO NOT OVERRIDE THIS METHOD. *****
If you are writing a plugin and need additional special object(s) for your own use,
use addGCRoot() function and use own, separate special objects registry "
"The Special Objects Array is an array of objects used by the Squeak virtual machine.
Its contents are critical and accesses to it by the VM are unchecked, so don't even
think of playing here unless you know what you are doing."
| newArray |
newArray := Array new: 56.
"Nil false and true get used throughout the interpreter"
newArray at: 1 put: nil.
newArray at: 2 put: false.
newArray at: 3 put: true.
"This association holds the active process (a ProcessScheduler)"
newArray at: 4 put: (self associationAt: #Processor).
"Numerous classes below used for type checking and instantiation"
newArray at: 5 put: Bitmap.
newArray at: 6 put: SmallInteger.
newArray at: 7 put: ByteString.
newArray at: 8 put: Array.
newArray at: 9 put: Smalltalk.
newArray at: 10 put: Float.
newArray at: 11 put: MethodContext.
newArray at: 12 put: BlockContext.
newArray at: 13 put: Point.
newArray at: 14 put: LargePositiveInteger.
newArray at: 15 put: Display.
newArray at: 16 put: Message.
newArray at: 17 put: CompiledMethod.
newArray at: 18 put: (self specialObjectsArray at: 18).
"(low space Semaphore)"
newArray at: 19 put: Semaphore.
newArray at: 20 put: Character.
newArray at: 21 put: #doesNotUnderstand:.
newArray at: 22 put: #cannotReturn:.
newArray at: 23 put: nil. "This is the process signalling low space."
"An array of the 32 selectors that are compiled as special bytecodes,
paired alternately with the number of arguments each takes."
newArray at: 24 put: #( #+ 1 #- 1 #< 1 #> 1 #<= 1 #>= 1 #= 1 #~= 1
#* 1 #/ 1 #\\ 1 #@ 1 #bitShift: 1 #// 1 #bitAnd: 1 #bitOr: 1
#at: 1 #at:put: 2 #size 0 #next 0 #nextPut: 1 #atEnd 0 #== 1 #class 0
#blockCopy: 1 #value 0 #value: 1 #do: 1 #new 0 #new: 1 #x 0 #y 0 ).
"An array of the 255 Characters in ascii order.
Cog inlines table into machine code at: prim so do not regenerate it."
newArray at: 25 put: (self specialObjectsArray at: 25).
newArray at: 26 put: #mustBeBoolean.
newArray at: 27 put: ByteArray.
newArray at: 28 put: Process.
"An array of up to 31 classes whose instances will have compact headers"
newArray at: 29 put: self compactClassesArray.
+ newArray at: 30 put: (self specialObjectsArray at: 30). "(delay Semaphore)"
+ newArray at: 31 put: (self specialObjectsArray at: 31). "(user interrupt Semaphore)"
+ "Entries 32 - 34 unreferenced. Previously these contained prototype instances to be copied for fast initialization"
+ newArray at: 32 put: nil. "was (Float new: 2)"
+ newArray at: 33 put: nil. "was (LargePositiveInteger new: 4)"
+ newArray at: 34 put: nil. "was Point new"
- newArray at: 30 put: (self specialObjectsArray at: 30).
- "(delay Semaphore)"
- newArray at: 31 put: (self specialObjectsArray at: 31).
- "(user interrupt Semaphore)"
- "Prototype instances that can be copied for fast initialization"
- newArray at: 32 put: (Float new: 2).
- newArray at: 33 put: (LargePositiveInteger new: 4).
- newArray at: 34 put: Point new.
newArray at: 35 put: #cannotInterpret:.
"Note: This must be fixed once we start using context prototypes (yeah, right)"
"(MethodContext new: CompiledMethod fullFrameSize)."
newArray at: 36 put: (self specialObjectsArray at: 36). "Is the prototype MethodContext (unused by the VM)"
newArray at: 37 put: BlockClosure.
"(BlockContext new: CompiledMethod fullFrameSize)."
newArray at: 38 put: (self specialObjectsArray at: 38). "Is the prototype BlockContext (unused by the VM)"
"array of objects referred to by external code"
newArray at: 39 put: (self specialObjectsArray at: 39). "preserve external semaphores"
newArray at: 40 put: nil. "Reserved for Mutex in Cog VMs"
newArray at: 41 put: nil. "Reserved for a LinkedList instance for overlapped calls in CogMT"
"finalization Semaphore"
newArray at: 42 put: ((self specialObjectsArray at: 42) ifNil: [Semaphore new]).
newArray at: 43 put: LargeNegativeInteger.
"External objects for callout.
Note: Written so that one can actually completely remove the FFI."
newArray at: 44 put: (self at: #ExternalAddress ifAbsent: []).
newArray at: 45 put: (self at: #ExternalStructure ifAbsent: []).
newArray at: 46 put: (self at: #ExternalData ifAbsent: []).
newArray at: 47 put: (self at: #ExternalFunction ifAbsent: []).
newArray at: 48 put: (self at: #ExternalLibrary ifAbsent: []).
newArray at: 49 put: #aboutToReturn:through:.
newArray at: 50 put: #run:with:in:.
"51 reserved for immutability message"
"newArray at: 51 put: #attemptToAssign:withIndex:."
newArray at: 52 put: #(nil "nil => generic error" #'bad receiver'
#'bad argument' #'bad index'
#'bad number of arguments'
#'inappropriate operation' #'unsupported operation'
#'no modification' #'insufficient object memory'
#'insufficient C memory' #'not found' #'bad method'
#'internal error in named primitive machinery'
#'object may move').
"53 to 55 are for Alien"
newArray at: 53 put: (self at: #Alien ifAbsent: []).
newArray at: 54 put: #invokeCallback:stack:registers:jmpbuf:.
newArray at: 55 put: (self at: #UnsafeAlien ifAbsent: []).
"Weak reference finalization"
newArray at: 56 put: (self at: #WeakFinalizationList ifAbsent: []).
"Now replace the interpreter's reference in one atomic operation"
self specialObjectsArray becomeForward: newArray
!
Etoys 5 release candidate 2
More fixes went into this new release candidate, but if there are some show
stoppers we would like to know asap !
So download from here:
http://squeakland.org/download/
And give feedback
http://tracker.squeakland.org
or to
etoys-dev(a)squeakland.org
last resort is mailing me directly karlramberg 'at' gmail.com
Cheers,
Karl
20th International Smalltalk Joint Conference - Call for Contributions
Gent, Belgium
August 27-31, 2012; Camp Smalltalk August 25-26
http://esug.org/Conferences/2012
This call includes:
1) Developers forum
2) Innovation Technology Award
3) International Workshop
4) Student Volunteer program
5) Free ESUG tickets program
----------------------------------------------------------------------
For the past 20 years, the European Smalltalk User Group (ESUG) has
organised the International Smalltalk Conference, a lively forum on
cutting edge software technologies that attract people from both
academia and industry for a whole week. The attendees are both
engineers using Smalltalk in business and students and teachers using
Smalltalk both for research and didactic purposes.
This year's edition of the largest European Smalltalk event will
include:
- The regular Smalltalk developers conference with
renowned invited speakers
- a Smalltalk camp that proved fruitful for interactions and
discussions (August 25-26)
- 9th edition of the Innovation Technology Awards where prizes
will be awarded to authors of best pieces of
Smalltalk-related projects
- IWST: an international workshop on Smalltalk and dynamic
languages
You can support the ESUG conference in many different ways:
- Sponsor the conference. New sponsoring packages are described
at http://www.esug.org/About/SupportESUG
- Submit a talk, a software or a paper to one of the events.
See below.
- Attend the conference. We'd like to beat the previous record
of attendance (170 people at
Amsterdam)!
- Students can get free registration and hosting if they enroll
into the the Student Volunteers program. See below.
1) Developers Forum: International Smalltalk Developers Conference
----------------------------------------------------------------------
This year we are looking for YOUR experience on using Smalltalk. In
addition, we are looking for tutorials. The list of topics includes,
but is not limited to the following:
- XP practices
- Development tools
- Experience reports
- Model driven development
- Web development
- Team management
- Meta-Modeling
- Security
- New libraries & frameworks
- Educational material
- Embedded systems and robotics
- SOA and Web services
- Interaction with other programming languages
Submissions due on 15 June 2012
Notification of acceptance on 25 June 2012
How to submit?
Pay attention: the places are limited so do not wait till the last
minute to apply. Prospective presenters should submit a request to
board(a)esug.org AND damien.cassou(a)gmail.com AND
stephane.ducasse(a)free.fr following the template below. Please use this
template since the emails will be automatically processed!
Subject: [ESUG 2012 Developers] + your name
First Name:
Last Name:
Email where you can always be reached:
Title:
Abstract: (max 1400 characters)
Bio: (max 1400 characters)
Any presentation not respecting this form will be discarded
automatically
2) Innovation Technology Award
----------------------------------------------------------------------
We are proud to announce the 9th Innovation Technology Awards. The top
3 teams with the most innovative software will receive, respectively,
500 Euros, 300 Euros and 200 Euros during an awards ceremony at the
conference. Developers of any Smalltalk-based software are welcome to
compete. This year we will request 3-5min videos.
More information at:
http://www.esug.org/Conferences/2012/Innovation-Technology-Awards
3) International Workshop - IWST 2012
----------------------------------------------------------------------
International Workshop on Smalltalk Technologies, August 28
The goals of the workshop is to create a forum around advances or
experience in Smalltalk and to trigger discussions and exchanges of
ideas. Participants are invited to submit research articles. We will
not enforce any length restriction. Nevertheless, we expect papers of
two kinds:
- Short position papers describing emerging ideas.
- Long research papers with deeper description of experiments and of
research results.
We welcome research papers on all aspects, theoretical as well as
practical, of Smalltalk related topics. All accepted papers will be
published in ACM DL, and the authors of the best papers will be
invited to submit an extended version to a journal special issue (to
be confirmed).
Submissions deadline: June 15, 2012
Notification of acceptance: July 15, 2012
More information at:
http://www.esug.org/Conferences/2012/International-Workshop---IWST-2012
4) Student Volunteer Program
----------------------------------------------------------------------
If you are a student wanting to attend ESUG, have you considered being
a student volunteer? Student volunteers help keep the conference
running smoothly; in return, they have free accommodations, while
still having most of the time to enjoy the conference.
More information at:
http://www.esug.org/Conferences/2012/StudentVolunteers
5) Free ESUG tickets program
----------------------------------------------------------------------
ESUG will offer 10 free entrance tickets. To get a free ticket you
should send a mail to board(a)esug.org
Subject: [ESUG 2012 Free entrance] + your name
And you should write a small motivation.
We hope to see you there and have fun together.
--
The ESUG board
Board mailing list: board(a)lists.esug.org
Fellow Squeakers,
A tad more than one year has passed and it is time to ruuummmmble with
another Squeak Oversight Board Election!
Every year we elect the SOB (Squeak Oversight Board) consisting of seven
members from our community. The current board is:
http://www.squeak.org/Foundation/Board
Everything about the election, including schedule and more, can be
tracked here:
http://wiki.squeak.org/squeak/6187
Since the election process has not been reformed during this last year
(ehm, yet again), the schedule and process of the Election is as "usual"
which follows (this is a DRAFT, will be final on the 1st of April):
*** Now until 13th April 2PM (14.00 UTC): Nominations of SOB members and
campaigning!
Candidates should nominate themselves and start their campaign on the
squeak-dev mailing list. Or if you nominate someone else, make sure that
person really wants to run. :) I will not put anyone on the candidate
list until that person makes it known on squeak-dev that he/she does
run. During this period, the candidates should ideally present
themselves on squeak-dev, unless they have already done so, and the
community can ask questions.
*** 13th April 2PM (14.00 UTC): The candidate list is finalized.
*** 13th April 6PM (18.00 UTC): Online election starts
The voting period is one week long and ballots are sent out via email.
And how do you end up on the voter list? See below. :)
IMPORTANT: New voters will NOT be added once the election is started.
You MUST try to get on the voter list before the 3rd April or you will
NOT be able to vote.
*** 20th April 6PM (18.00 UTC): Online election ends
Results will be announced immediately when the election ends.
--------------------------
If you were invited to vote last year you are already on the voter list,
no worries! If you are a new Squeaker and wish to vote do ONE of the
following:
* Get a "known" Squeaker to vouch for you. If a known Squeaker
sends an email to voters (at) squeak.org giving me name and email for
you, then I will add you.
* Send an email to voters at squeak.org yourself (and CC to
squeak-dev if you like) with information/arguments showing me that you
are indeed serious about voting and that you are indeed a Squeaker. And
no, I don't have any hints on what you should write! :) Unless you
totally screw that up, you will probably be added. And no, don't send me
a 10 page essay ;)
When the voting period starts all voters will receive an email with
instructions and a link to the voting website.
If there are any further questions, just reply *in this thread* and I
will closely track it - or send email to voters (at) squeak.org which
points to me.
...so let's get on with it!
regards, Göran Krampe