Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
smalltalktransform [2021/05/05 09:34] christian [Get startet] |
smalltalktransform [2022/02/23 16:13] christian [Smalltalk Transform Project] |
||
---|---|---|---|
Line 4: | Line 4: | ||
Transformations are declared for each package, class and method. | Transformations are declared for each package, class and method. | ||
- | The transformations are applied some code to generate the target Smalltalk code. | + | The transformations are applied |
This is the next more general version of the [[GemstoneFileout|Gemstone Fileout]] project. | This is the next more general version of the [[GemstoneFileout|Gemstone Fileout]] project. | ||
- | The only working example is the PDFtalk | + | A **[[PDFtalkNonNamespaceFileout|project]]** started at the beginning of 2022 to port [[PDFtalk]] |
- | It is intended to cover other dialects (Pharo, VisualAge, | + | The [[SmalltalkTransformDocumentation|Smalltalk |
===== Get startet ===== | ===== Get startet ===== | ||
Line 17: | Line 17: | ||
As Example, load package [Gemstone Fileout PDFtalk] from the [[: | As Example, load package [Gemstone Fileout PDFtalk] from the [[: | ||
- | ===== Smalltalk is not Smalltalk ===== | ||
- | |||
- | While all Smalltalk dialects share the same message sending paradigm with the same basic syntax. Many dialects extended the syntax (VW: namespace and literal bindings, Squeak: dynamic array, Amber: literal dictionaries, | ||
- | |||
- | The basic class library (Object, Number, Collection, Class etc.) with standardized selectors are the same in all dialects. But each one extends the library and classes with their own ways of doing things. | ||
- | |||
- | There are some cross dialect libraries like Glorp. | ||
- | |||
- | The UI, at the other end, is very different in all dialects, so that porting is almost impossible. | ||
- | |||
- | ==== Translations ==== | ||
- | |||
- | Classes may need to be translated. | ||
- | |||
- | Methods may need to be translated. | ||
- | |||
- | Packages must be mapped. | ||
- | |||
- | ==== Rewrite Tool ==== | ||
- | |||
- | The code transformations are done with the rewrite tool. | ||