Date classes

Hernan Wilkinson hernan.wilkinson at gmail.com
Tue Apr 17 16:00:24 UTC 2007


> 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:
1) 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

2) GregorianDateTime now + 1 day ---> Same as 1)

3) 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

4) 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.
> >
> > > > 5) 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 at 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 at gmail.com>
> > > > > >Reply-To: The general-purpose Squeak developers
> > > > > >list< squeak-dev at lists.squeakfoundation.org>
> > > > > >To: "The general-purpose Squeak developers
> > > > > >list"< squeak-dev at 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 at 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/
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> >
> >
> >
> >
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20070417/36bc951b/attachment.htm


More information about the Squeak-dev mailing list