Skip to content

Porting code from other Smalltalk dialects

gokr edited this page Aug 27, 2011 · 16 revisions

As of 2011-08 the way to get code into Jtalk from another Smalltalk goes like this:

  1. Export the code as a "fileout" in the chunk format, typically with a .st filename extension. Make one file per class category and give it the same name as the class category - otherwise it breaks.
  2. Monticello style class extensions (loose methods) using "*yaddayadda" method category names is allowed.
  3. Run "jtalkc MyCategory.st" to compile it into MyCategory.js. Put this file into the $JTALK/js directory.
  4. Load http://localhost/jtalk/ide.html (or whatever path you use) and you should have the code in Jtalk.

After this, pressing commit should store any changes made (of selected class category) back to localhost using WebDAV, if you have set it up properly. It also stores a corresponding MyCategory.st-file in the st directory and a special MyCategory.deploy.js file which is a stripped down version for deployment purposes.

Things you need to fix in MyCategory.st before it works:

  • Rewrite character literals as Strings and make changes accordingly. Jtalk does not have Character.
  • Remove any pragmas. We will add support in the parser to just ignore them.
  • Rewrite dynamic Arrays to "(Array new add: x; add: y; yourself)". We will add support for them.
Clone this wiki locally