Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
research:software:gradualtalk [2012/07/18 23:39] – [Download] oalvarez | research:software:gradualtalk [2013/05/09 13:27] – eallende | ||
---|---|---|---|
Line 4: | Line 4: | ||
The type system of Gradualtalk supports as much Smalltalk idioms as possible through a number of features: a combination of nominal and structural types, union types, self types, parametric polymorphism, | The type system of Gradualtalk supports as much Smalltalk idioms as possible through a number of features: a combination of nominal and structural types, union types, self types, parametric polymorphism, | ||
+ | |||
+ | **Gradualtalk team:** Esteban Allende, Oscar Callaú, Johan Fabry, Éric Tanter | ||
===== Kind of Types ===== | ===== Kind of Types ===== | ||
Line 27: | Line 29: | ||
===== Download ===== | ===== Download ===== | ||
- | The latest version of Gradualtalk can be found here: [[https:// | + | There are two images |
- | + | ||
- | There are two images: | + | |
- | * **Types.zip**: The basic image of the Gradual Type System | + | * **{{research: |
- | * **Types-KernelTyped.zip**: Has the same functionalities that the basic image, but additionally some kernel classes and the type system has been typed. | + | * **{{research: |
We recommend to use the [[http:// | We recommend to use the [[http:// | ||
Line 143: | Line 143: | ||
Object subclass: #Point | Object subclass: #Point | ||
uses: TTyped | uses: TTyped | ||
- | parametricVariableNames: | + | parametricVariableNames: |
instanceVariableNames: | instanceVariableNames: | ||
classVariableNames: | classVariableNames: | ||
Line 155: | Line 155: | ||
True >> (A) & (A) aBoolean | True >> (A) & (A) aBoolean | ||
- | < | + | < |
^aBoolean | ^aBoolean | ||
</ | </ | ||
Line 178: | Line 178: | ||
By default, method instrumentation and runtime casts are enable. However in some cases, programmers do not want to worry about method instrumentation and runtime casts, eg. type annotations are only a checked documentation of the project. Because of this, we include the ability to disable runtime casts: | By default, method instrumentation and runtime casts are enable. However in some cases, programmers do not want to worry about method instrumentation and runtime casts, eg. type annotations are only a checked documentation of the project. Because of this, we include the ability to disable runtime casts: | ||
<code smalltalk> | <code smalltalk> | ||
- | TypeConfiguration uniqueInstance | + | Gradualtalk configuration |
- | TypeConfiguration uniqueInstance | + | Gradualtalk configuration |
</ | </ | ||
Line 203: | Line 203: | ||
Filein of new code have problems when typechecking, | Filein of new code have problems when typechecking, | ||
- | - Disable the type system <code smalltalk> | + | - Disable the type system <code smalltalk> |
- Import the code using filein | - Import the code using filein | ||
- | - Enable the type system <code smalltalk> | + | - Enable the type system <code smalltalk> |
- Import again the code using file in. A second "file in" is needed in order to properly load the types of instance variables. | - Import again the code using file in. A second "file in" is needed in order to properly load the types of instance variables. | ||