[View]  [Edit]  [Lock]  [References]  [Attachments]  [History]  [Home]  [Changes]  [Search]  [Help] 

[go8] Jump binnacle

Prepare the platform folders

  1. Copy full platform files from another (complete) S8 platform
  2. Rename occurrences of the native language of origin to "go"
    For go we copy from the py8 platform
  3. Rebuild to test your changes are good and produce expected target files without errors.

Create folders for Go modules

  1. Created boot, image and snapshot folders to host Go modules for each product of build process
  2. Test execution of each module from Fake contents

Hand made boot and initial model

Hack the build/buildImage.st file to use fake boot file
true ifTrue: [ | boot |
	self note: 'Generating boot file - copying fake.boot.txt'.
	boot := ('../boot/fake.boot.txt') fileContents.
	boot outputToFile: bootPathName.
	^self
].

Add hand written code to produce initial model for S8 objects & classes.
At this point the initial model should work and initial tests of the model can be executed incrementally.

Output on the console should be something like:
C:\C\go\go8>go run s8/go8
Running main() in ./go8.go (See also ./go.mod)
Running Fake snapshot - About to boot
Running, Fake Boot - See build/buildImage.st under 'Generating boot file...'
Creating Object class with method for #hello
Instantiating Object
Sending #hello
Hello from Smalltalk-Go!
Hello, Fake Smalltalk - See build/buildImage.st under 'Writing the system snapshot'


Test initial model

The manual/fake implementation of boot let us validate the initial model we expect to use for S8 objects in Go.
On each iteration step we produce part of the model and test with hand written tests.

Uploaded Image: UnderConstructionLine.gif


Uploaded Image: alert.gifNote this platform is under construction, this binnacle is updated to current date of development