Perthtalk 3  Check-in [8a7caf28b7]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Notes on Casaccio et al 2011.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:8a7caf28b73bf573cbd1969dcd11a73023cd4b59
User & Date: jaccarmac 2018-03-02 04:12:03
Context
2018-03-02
04:14
Cite properly. check-in: 0201a7cf3c user: jaccarmac tags: trunk
04:12
Notes on Casaccio et al 2011. check-in: 8a7caf28b7 user: jaccarmac tags: trunk
04:00
Add some information about encountered difficulties. check-in: f866fee0b7 user: jaccarmac tags: trunk
Changes

Changes to perthtalk-3.leo.

6
7
8
9
10
11
12
13


14
15
16
17
18
19
20
..
24
25
26
27
28
29
30








31
32
	<global_window_position top="50" left="50" height="500" width="700"/>
	<global_log_window_position top="0" left="0" height="0" width="0"/>
</globals>
<preferences/>
<find_panel_settings/>
<vnodes>
<v t="jaccarmac.20180301205902.3" a="E"><vh>Initial bootstrapping plan.</vh>
<v t="jaccarmac.20180301215858.1"><vh>Difficulties: images.</vh></v>


</v>
</vnodes>
<tnodes>
<t tx="jaccarmac.20180301205902.3">The Squeak implementors described their process approximately as follows (Forgive my memory, I can't double check the web site at the moment.):

    1. Decide on an image format.
    2. Create a transpiler from a subset of Smalltalk to C.
................................................................................

The approach here shall be somewhat similar.

My first idea for the image format is to simply use a Leo document as the image. This should serve at least as a proof of concept, but may have to be scrapped to perform decently. Time will tell.

As far as 2. goes it would be nice if my Smalltalk subset were capable of compiling itself somehow. This isn't really a needed feature and caters purely to my interest in compilers. Again time will tell.</t>
<t tx="jaccarmac.20180301215858.1">I underestimated the effort of creating an image from scratch. There is some research in the area, but most previous Smalltalks (including Squeak) were bootstrapped by operating on an existing image or a translation of an existing image. This is out of scope for what I'm trying to do here, I believe.</t>








</tnodes>
</leo_file>







|
>
>







 







>
>
>
>
>
>
>
>


6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
..
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
	<global_window_position top="50" left="50" height="500" width="700"/>
	<global_log_window_position top="0" left="0" height="0" width="0"/>
</globals>
<preferences/>
<find_panel_settings/>
<vnodes>
<v t="jaccarmac.20180301205902.3" a="E"><vh>Initial bootstrapping plan.</vh>
<v t="jaccarmac.20180301215858.1" a="E"><vh>Difficulties: images.</vh>
<v t="jaccarmac.20180301220834.1"><vh>Casaccio 2011.</vh></v>
</v>
</v>
</vnodes>
<tnodes>
<t tx="jaccarmac.20180301205902.3">The Squeak implementors described their process approximately as follows (Forgive my memory, I can't double check the web site at the moment.):

    1. Decide on an image format.
    2. Create a transpiler from a subset of Smalltalk to C.
................................................................................

The approach here shall be somewhat similar.

My first idea for the image format is to simply use a Leo document as the image. This should serve at least as a proof of concept, but may have to be scrapped to perform decently. Time will tell.

As far as 2. goes it would be nice if my Smalltalk subset were capable of compiling itself somehow. This isn't really a needed feature and caters purely to my interest in compilers. Again time will tell.</t>
<t tx="jaccarmac.20180301215858.1">I underestimated the effort of creating an image from scratch. There is some research in the area, but most previous Smalltalks (including Squeak) were bootstrapped by operating on an existing image or a translation of an existing image. This is out of scope for what I'm trying to do here, I believe.</t>
<t tx="jaccarmac.20180301220834.1">Casaccio, Ducasse, Fabresse, Arnaud, and van Ryseghm describe a GNU Smalltalk bootstrap process (very) roughly like:

    1. Stub literals, true, false, nil, characters.
    2. Stub definitions of classes and metaclasses.
    3. Compile methods.
    4. Serialize image.

They use a small kernel with 54 classes to do the work. On the other hand I'm partial to a true bootstrap approach where the core is implemented in Python.</t>
</tnodes>
</leo_file>