But hernan class comments and method comments are good too.
Stef
On 17 avr. 07, at 18:00, Hernan Wilkinson wrote:
I loaded Aconcagua-mx.1.6 and Chalten-mx.1.3 in Squeak 3.9. The following all give errors:
GregorianDay today + 1 day GregorianDateTime now + 1 day GregorianDay today next: 5 GregorianYear current + 1 year 5 months
I guess I have to thank you. After hearing what a piece of shit Seaside is because of its lack of documentation it's relieving to see a framework with no class comments at all. A quick browsing through same classes showed also no method comments.
jaja, it seems to me that you did not look good enough.... just look at the Test!!! They are all the documentation you need! and more!! real examples, live code! not just documentation.... We defenetly use different development techniques... Also, remember the paper! Links: http://www.iam.unibe.ch/~ducasse/Teaching/CoursAnnecy/0506-M1-COO/A% 20New%20Object-Oriented%20Model%20of%20the%20Gregorian%20Calendar.pdf http://prog2.vub.ac.be/~cderoove/esugtalks/Wilkinson.pdf (ESUG Presentation)
About the code you tried:
- GregorianDay today + 1 day -> It will not work becuase a date
is not polymorphic with numbers. You have to do: "GregorianDate today next" or "GregorianDate today next: 1 * day" Remember the *, that allows you to create measures easily
GregorianDateTime now + 1 day ---> Same as 1)
GregorianDay today next: 5 --> It will not work because 5 is not
a measure of time, it is just a number. Try "GregorianDay today next: 5 * day" 5 * day is a measure of time
- GregorianYear current + 1 year --> Same as 1) but using a
measure expressed in year, for example "2 * year" 5) 5 months --> Measure are created in many ways. We decided not to clutter the number protocol with each unit you could have... because measures are arithmetic representations of a number times its unit, the right way to create them is using the arithmetic operator * (See our paper about Aconcagua. Link: http://portal.acm.org/citation.cfm? id=1094964&coll=ACM&dl=ACM&CFID=20205775&CFTOKEN=19800555 )
Hope this help. Hernan.
Cheers Philippe
These objects are polymorphic with numbers respect to the arithmetic messages
such as +,
-, *,
etc., that means that you can use them in arithmetic formulas
That's true to a certain extent in Chronos for example you can: Timepoint now - (CalendarDuration months: 1) (CalendarDuration months: 1) * 5 but you can't: 5 * (CalendarDuration months: 1)
Ok, but it is not only the functionality what it is important for
us... for
us it is also important the way you "write" these things... for
example,
with Chalten/Aconcagua you can write:
5 * month ---> Equivalent to 5 * (CalendarDuration months: 1) 5 * meter / (second * second) --> A measure of acceleration if
you create
meter as a unit using Aconcagua 1/10 * year --> Represents an interest rate of 10% yearly.
As you can see, time measure are not only related only to the
time domain
but used in other domains... that is way for us it is important
to support
this type of behavior and in a DSL way...
Bye, Hernan.
- And of course, I like Chalten's model more that
Chronos :-). For me
it is
easier to use, but this is just a matter of taste...
There is a paper we wrote 2 years ago about the problems that
the
Smalltalk
date classes have and the advantages of having a better
model. If you
are
interested on having better date and time classes, I
recommend you to
read
the paper... you may not like it, but at least you will see
other people
ideas... We use that model (Chalten) in a production system and we
believe it
allowed
us to avoid many common mistakes related to financial
systems.... but
hey,
that's just a feeling, nothing I can prove formally.
I hope you can do something useful. Bye,
Chronos is a bit ugly in Squeak because Squeak does not support namespaces which means that classes that model the same concept as Squeak Chronology classes have different names (unless you mess
with
shared pools). Also loading it is a bit of a pain with Monticello (this is the fault of Monticello and not Chronos).
Cheers Philippe
Hernan.
On 4/16/07, J J <azreal1977@hotmail.com > wrote:
I have looked at Cronos but it is really huge, and the
classes that
come
with the image are already very close. I will have to look at
Chalten,
but
what is wrong with a few upgrades to the classes that come
with
Squeak?
From: "Hernan Wilkinson" < hernan.wilkinson@gmail.com> Reply-To: The general-purpose Squeak developers list< squeak-dev@lists.squeakfoundation.org > To: "The general-purpose Squeak developers list"< squeak-dev@lists.squeakfoundation.org > Subject: Re: Date classes Date: Mon, 16 Apr 2007 14:28:09 -0300
Before doing something with Date, I recommend you to take
a look at
"Chalten" or "Cronos". Chalten is in SqueakSource.... I
think Cronos
too.
Hernan.
On 4/16/07, J J < azreal1977@hotmail.com> wrote: > >Hi all, > >I am doing some stuff with dates and I noticed the date
classes that
come
>with the default Squeak image are very nice and very
close to having
>everything I would want. But there are a few
inconsistencies here
and
>there, and things missing that would make things easier. > >So what is the procedure to updating this? I think it's
part of the
core
>system so I probably can't just do a monicello package
update
>somewhere? Do >I have to do it through mantis? > >Thanks, >Jason >
>Download Messenger. Join the i'm Initiative. Help make a
difference
today.
http://im.live.com/messenger/im/home/?source=TAGHM_APR07
> > >
Get a FREE Web site, company branded e-mail and more from
Microsoft
Office
Live!
http://clk.atdmt.com/MRT/go/mcrssaub0050001411mrt/direct/01/