Si, Maxi hizo mucho trabajo al respecto... igual hay algunas cosas que
quedaron afuera porque tampoco tenía mucho sentido hacerlos, como modelar
más calendarios o los "segundos bisiestos", algo muy loco que hace que se
rompa toda la regularidad de la medición de tiempo...

On Thu, Aug 28, 2008 at 10:14 AM, German Morales
<[EMAIL PROTECTED]>wrote:

> No, ningun problema con cargar todo... me referia a que era sorprendente
> todo lo que hace esta version.
>
> 2008/8/27 Hernan Wilkinson <[EMAIL PROTECTED]>
>
> Tenes la oportunidad de cargar en la imagen solo lo que necesites. Ese fue
>> uno de los objetivos que buscamos con este trabajo también. Si no queres el
>> Islámico no lo cargas y listo, sigue siendo igual que antes....
>>
>>
>> On Tue, Aug 26, 2008 at 10:44 PM, German Morales <
>> [EMAIL PROTECTED]> wrote:
>>
>>> Fantastico. Tuve la oportunidad de usar la version anterior (Squeak) y ya
>>> me parecia excelente, lo que trae esta version ya es como mucho ;-)
>>>
>>> German
>>>
>>> 2008/8/26 Maximiliano Taborda <[EMAIL PROTECTED]>
>>>
>>>
>>>> Hola gente, les copio abajo el mail que envie a las listas de squeak y
>>>> de visualworks... intenta estar en ingles, y creo que se entiende...
>>>> sino, chiflen y lo intento escribir en argentino ;-)
>>>>
>>>> Saludos.
>>>> Maximiliano.
>>>>
>>>> Hi.
>>>>
>>>> We uploaded to SqueakSource (for Sqeuak) and to the Cincom Public
>>>> Repository (for Visualworks) a new release of the project called
>>>> "Chalten" (2.0) that is our implementation of the Time Domain (not
>>>> only of the Gregorian Calendar now).
>>>>
>>>> This model was born as a representation of the Gregorian Calendar,
>>>> and, in this last version, the model support the Gregorian, Julian,
>>>> Islamic an Hebrew Calendars.
>>>> Many refactorings was done from the original model to get this last
>>>> version wich reifyes many concepts of the Time Domain that
>>>> Smalltalk-80 does not; for example: day, day of month, month of year,
>>>> month, year, calendars, time zones, filters over the timeline, etc..
>>>>
>>>> The main objective of this model is to easily, and in a "SDL way",
>>>> solve problems of the Time Domain that are not easy (or impossible) to
>>>> do with the Smalltalk-80 abstractions.
>>>> t provides also some concepts that are useful for financial
>>>> application, among others, like relative dates and time line filters.
>>>>
>>>> This model also uses the units models (Aconcagua). Because it uses the
>>>> units model, there are some concepts that are not useful anymore, like
>>>> Duration, because a Duration is a Measure of time.
>>>> The model covers many concepts of the Time Domain, but lacks of some
>>>> abstractions; for example, the representation of the leap second.
>>>>
>>>> It comes with more than 1600 tests (all green).
>>>>
>>>> Here are some examples:
>>>>
>>>> "Create some time entities"
>>>>       August twentieth, 2008          -->     Creates an instance of
>>>> the gregorian Date for 20/08/2008
>>>>       August twentieth                -->     Creates an instance of
>>>> the gregorian DayOfMonth for 20/08
>>>>       August, 2008                    -->     Creates an instance of
>>>> the gregorian MonthOfYear for August of 2008
>>>>
>>>> "But, not only gregorian entities"
>>>>       Shaban seventeenth, 1429        -->     Creates an instance of
>>>> the islamic Date for 17/08/1429
>>>>       Shaban seventeenth              -->     Creates an instance of
>>>> the islamic DayOfMonth for 17/08
>>>>       Shaban, 1429                    -->     Creates an instance of
>>>> the islamic MonthOfYear for Shaban of 1429
>>>>
>>>>       JulianAugust seventh, 2008      -->     Creates an instance of
>>>> the julian Date for 07/08/2008
>>>>       JulianAugust seventh            -->     Creates an instance of
>>>> the julian DayOfMonth for 07/08
>>>>       JulianAugust, 2008              -->     Creates an instance of
>>>> the julian MonthOfYear for August of 2008
>>>>
>>>>       Av nineteenth, 5768             -->     Creates an instance of
>>>> the hebrew Date for 19/05/2008
>>>>       Av nineteenth                   -->     Creates an instance of
>>>> the hebrew DayOfMonth for 19/05
>>>>       Av, 5768                        -->     Creates an instance of
>>>> the hebrew MonthOfYear for Av of 5768
>>>>
>>>> "Converting dates between diferents calendars"
>>>>       (August twentieth, 2008) asIslamic      -->     Return Sha'ban 17,
>>>> 1429
>>>>       (August twentieth, 2008) asHebrew       -->     Return Av 19, 5768
>>>>       (August twentieth, 2008) asJulian       -->     August 7, 2008
>>>> (julian)
>>>>
>>>>       (Shaban seventeenth, 1429) asHebrew     -->     Return Av 19, 5768
>>>>       (JulianAugust seventh, 2008) asIslamic  -->     Return Sha'ban 17,
>>>> 1429
>>>>       (Av nineteenth, 5768) asGregorian       -->     August 20, 2008
>>>> (gregorian)
>>>>
>>>> "Measuring distances"
>>>>       August twentieth, 2008 distanceTo: December thirtieth, 2008
>>>> -->     Return an instance of Measure <132 days>
>>>>       Shaban seventeenth, 1429 distanceTo: Muharram second, 1430
>>>> -->     Return an instance of Measure <132 days>
>>>>       Av nineteenth, 5768 distanceTo: Tevet third, 5769
>>>> -->     Return an instance of Measure <132 days>
>>>>
>>>> "Also, measuring distance expressed in diferents way (calendars)"
>>>>       August twentieth, 2008 distanceTo: Tevet third, 5769
>>>> -->     Return an instance of Measure <132 days>
>>>>       Shaban seventeenth, 1429 distanceTo: December thirtieth, 2008
>>>>  -->     Return an instance of Measure <132 days>
>>>>       Av nineteenth, 5768 distanceTo: Muharram second, 1430
>>>> -->     Return an instance of Measure <132 days>
>>>>
>>>> "Collect some entities"
>>>>        (ChaltenYear number: 2008 calendar: GregorianCalendar) months
>>>>                collect: [:monthOfYear | monthOfYear lastDate]  -->
>>>> Returns all
>>>> the last dates of the 2008 months.
>>>>        (ChaltenYear number: 2008 calendar: GregorianCalendar) dates
>>>> select:
>>>>                [:date | date is: Monday]       -->     Returns all
>>>> Mondays of 2008
>>>>        (ChaltenYear number: 5768 calendar: HebrewCalendar) dates select:
>>>>                [:date | date is: YomShabbat]   -->     Returns all yom
>>>> shabbats of 5768
>>>>
>>>> "Let's create a filter for all dates..."
>>>>       nonWorkingDays := TimeLineFilter named: 'Non Working Days'
>>>>
>>>> "Now, we want Saturdays to be on that filter"
>>>>       nonWorkingDays addDayRule: Saturday
>>>>
>>>> "Now we want Sundays from January 1st of year 1000 to the end of
>>>> time..."
>>>>       nonWorkingDays
>>>>               addRule: (nonWorkingDays dayRule: Sunday)
>>>>               from: (January first, 1000)
>>>>               to: TheEndOfTime
>>>>
>>>> "Now we want all July 9th since 1816 because is the Independence Day
>>>> in Argentina".
>>>>       nonWorkingDays
>>>>               addRule: (nonWorkingDays dayOfMonthRule: July ninth)
>>>>               from: (July ninth, 1816)
>>>>               to: TheEndOfTime
>>>>
>>>> "Testing some dates..."
>>>>       nonWorkingDays includes: (July ninth, 2008)     -->     Returns
>>>> true
>>>>       nonWorkingDays includes: (July eighth, 2008)    -->     Returns
>>>> false
>>>>       nonWorkingDays includes: (July twelfth, 2008)   -->     Returns
>>>> true, it is Saturday
>>>>
>>>> "But, how about to filter some like the hebrew new year day"
>>>>       nonWorkingDays addDayOfMonthRule: Tishri first
>>>>       nonWorkingDays includes: (Tishri first, 5769)           -->
>>>> Return true, it is the next hebrew new year
>>>>       nonWorkingDays includes: (September thirtieth, 2008)    -->
>>>> Return true, it is the next hebrew new year (in gregorian)
>>>>
>>>> "21/08/2008 is a Thursday"
>>>>       timespan := TimeSpan from: (August twentyfirst, 2008) duration:
>>>> (48 * TimeUnits hour)
>>>>       settleDate := RelativeDate timespan: timespan using:
>>>> nonWorkingDays negated
>>>>
>>>>       nonWorkingDays includes: (August twentyfifth, 2008)     -->
>>>> Returns false because 25/08/2008, a Monday, is a working day
>>>>       settleDate absoluteDate                                 -->
>>>> Returns 25/08/2008
>>>>
>>>> "Now a new non working day is added to the filter"
>>>>       nonWorkingDays addDateRule: (August twentyfifth, 2008)
>>>>
>>>>       nonWorkingDays includes: (August twentyfifth, 2008)      -->
>>>> Return true.
>>>> "Now 25/08/2008, is a not working day"
>>>>        settleDate absoluteDate                                 -->
>>>> Now it returns 26/08/2008 because
>>>> the filter has changed
>>>>
>>>> "Working with time zones"
>>>>       buenosAiresDateTime := TimeZonedDateTime
>>>>               dateTime: (DateTime
>>>>                       date: August twentieth, 2008
>>>>                       timeOfDay: (TimeOfDay hours: 19 minutes: 35))
>>>>               zone: TimeZones buenosAires
>>>>
>>>>       greenwichDateTime := TimeZonedDateTime
>>>>               dateTime: (DateTime
>>>>                       date: August twentieth, 2008
>>>>                       timeOfDay: (TimeOfDay hours: 22 minutes: 35))
>>>>               zone: TimeZones greenwich
>>>>
>>>>       buenosAiresDateTime = greenwichDateTime                  -->
>>>> Return true,
>>>> it is the same instant but measure in diferent zone
>>>>       buenosAiresDateTime distanceTo: greenwichDateTime        -->
>>>> Return a measure <0 days>, because it is the same instant
>>>>
>>>>       buenosAiresDateTime  := buenosAiresDateTime next: (TimeUnits hour
>>>> * 3)
>>>>
>>>>       buenosAiresDateTime = greenwichDateTime                  -->
>>>> Return false,
>>>> the hour is the same but the zone is different
>>>>       (buenosAiresDateTime distanceTo: greenwichDateTime)
>>>>                convertTo: TimeUnits hour                       -->
>>>> Return a measure <-3 hours>,
>>>> just the offset between zones
>>>>
>>>>
>>>>
>>>> Regards.-
>>>> Maximiliano
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~

To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]

http://www.clubSmalltalk.org
-~----------~----~----~----~------~----~------~--~---

Responder a