Hi,
Mercap Software is opening some of the base code we wrote for a financial application. Aconcagua is the first one and it is a model to handle measures. You can download it from SourceForge (https://sourceforge.net/projects/aconcagua) SqueakSource (for Squeak) and the VW Public Repository (for VW). We currently support VA Smalltalk 7, VisualAge 6.0.2 (although we did not upload that version yet), Squeak, VisualWorks and GemStone. We uploaded a FAQ in SourceForge and also in SqueakSource. The model has been developed using TDD, so it has around 600 tests. With this package there are some extensions we made to SUnit as well. These extensions are now part of the Squeak SUnit version. (For a description of these extensions you can go to the project SUnitExtensions in SqueakSource) This measure model was presented at OOPSLA 2005 as a practitioner Report. You can get it from There is also a practitioner report we wrote for OOPSLA about this model: (http://portal.acm.org/citation.cfm?id=1094964&coll=ACM&dl=ACM&CFID=72196433&CFTOKEN=8952623 Here are some Smalltalk code of what you can do with this model: 2 * miles ---> Create the measure 2 miles (1 * day) + (3 * day) --> Returns the measure 4 * day (1 * day) + (24 * hour) --> Returns the measure 2 * day or 48 * hour, they are equal (10 * dollars) – (5 * dollars) --> Returns 5 * dollar (1 * day) * (2 * day) --> Returns 2 * (day*day) (10 * meter) / (1 * second) --> Returns the measure 10 * (meter/second) (10 * meter) * (200 * centimeter) --> Returns 20 * (meter*meter) (24 * month) / (1 * year) --> Returns the number 2 because month and year are units of the same domain. This expression is equal to (2 * year) / (1 * year), where the year units is reduced and the result of 2 / 1 is returned. (1 * day )< (2 * day) --> Returns true (1 * day) > ( 12 * hour) --> Returns false (1 * day) to: (10 * day) --> Creates an interval from 1 day to 10 days every 1 day. (1 * day) to: (10 * day) by: (2 * day) --> Creates an interval from 1 day to 10 days every 2 day. (5 * meter) toYourself --> Creates an interval from 5 meters to 5 meters. Because they are intervals, they provide the same protocol as Collection. For example: ((1 * day) to: (10 * day)) select: [ :aDayMeasure | aDayMeasure \\ 2 = 0 ] --> Returns a collection with 2 days, 4 days, 6 days, 8 days and 10 days. The model is provided with the MIT license. I hope you like it and find it useful. Hernan ----------- Lic. Hernán A. Wilkinson Gerente de Desarrollo y Tecnología Mercap S.R.L. Tacuari 202 - 7mo Piso - Tel: 54-11-4878-1118 Buenos Aires - Argentina http://www.mercapsoftware.com -- ______________________________ Lic. Hernán A. Wilkinson Gerente de Desarrollo y Tecnología Mercap S.R.L. Tacuari 202 - 7mo Piso - Tel: 54-11-4878-1118 Buenos Aires - Argentina http://www.mercapsoftware.com --------------------------------------------------------------------- Este mensaje es confidencial. Puede contener informacion amparada por el secreto profesional. Si usted ha recibido este e-mail por error, por favor comuniquenoslo inmediatamente via e-mail y tenga la amabilidad de eliminarlo de su sistema; no debera copiar el mensaje ni divulgar su contenido a ninguna persona. Muchas gracias. This message is confidential. It may also contain information that is privileged or otherwise legally exempt from disclosure. If you have received it by mistake please let us know by e-mail immediately and delete it from your system; you should also not copy the message nor disclose its contents to anyone. Thanks. --------------------------------------------------------------------- |
Free forum by Nabble | Edit this page |