home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 116.lha / SmallTalk / Sources / READ_ME < prev    next >
Encoding:
Text File  |  1986-11-20  |  7.6 KB  |  265 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. _G_e_n_e_r_a_l _O_v_e_r_v_i_e_w
  8.  
  9.      First, the obvious facts.  This  is  not  Smalltalk-80,
  10. nor  even  Smalltalk-V.   This  is the second version of the
  11. Little Smalltalk system,  the  first  version  of  which  is
  12. described in the book recently published by Addison-Wesley*.
  13. Version  two  is smaller and faster; does more in Smalltalk,
  14. less in C; and is designed to be more portable  to  a  wider
  15. variety  of  machines  (we  are  working on versions now for
  16. various PCs).
  17.  
  18.      My  attitude  towards  the  language  has  been  rather
  19. cavalier;  what  I  liked  I  kept  and what I didn't like I
  20. tossed out.  This is explained in more detail in my book and
  21. in the end of this note.  As a consequence, individuals fam-
  22. iliar with ST-80 or Smalltalk-V will be struck by  how  much
  23. they  are missing, and I make no apologies for this.  On the
  24. other  hand,  you   don't   find   Smalltalk-V   posted   to
  25. comp.source.unix. Among the features you won't find here are
  26. metaclasses, class methods, windows, graphics  support,  and
  27. more.
  28.  
  29.      What you will find is a small language that  does  give
  30. you the flavor of object oriented programming at very little
  31. cost.  We are working to improve the  system,  and  hope  to
  32. distribute new versions as we develop them, as well as port-
  33. ing it to a wide  range  of  machines.   If  you  find  (and
  34. preferably,  fix!) bugs let us know.  If you make nice addi-
  35. tions let us know.  If you want to make complements  let  us
  36. know.   If  you want to make complaints let us know.  If you
  37. want support you just might be out of luck.
  38.  
  39.      This software  is  entirely  public  domain.   You  are
  40. encouraged  to  give  it to as many friends as you may have.
  41. As a courtesy, I would appreciate it if you left my name  on
  42. the  code as the author, but I make no other claims to it (I
  43. also, of course,  disavow  any  liability  for  any  bizarre
  44. things you may choose to do with it).  Enjoy.
  45.  
  46. _B_u_i_l_d_i_n_g _t_h_e _S_y_s_t_e_m
  47.  
  48.      The first step in building the system is to unpack  the
  49. sources.   The fact that you are reading this means you have
  50. probably already figured out how to do this.
  51.  
  52.      The next step is to tailor the system to  the  type  of
  53. enviornment  it will be run in.  For most users, this should
  54. mean only changing at most three lines in  the  file  env.h.
  55. These  three  lines  are  near the front of the file and are
  56. clearly marked.  Two are hard paths; for the default initial
  57. _________________________
  58. * _A _L_i_t_t_l_e _S_m_a_l_l_t_a_l_k, by Timothy A. Budd.  Published by
  59. Addison Wesley, 1987.  In better bookshops everywhere.
  60.  
  61.  
  62.  
  63.  
  64.                       October 26, 1987
  65.  
  66.  
  67.  
  68.  
  69.  
  70.                            - 2 -
  71.  
  72.  
  73. object image and for a temporary file to be used when  edit-
  74. ing.   The  third  line is a ``meta-define'' which indicates
  75. the type of machine and/or operating system to be used.  You
  76. should  examine  the  rest of the file to see the variety of
  77. systems supported.  If  you  are  unable  to  find  anything
  78. appropriate,   you   will  have  to  look  in  the  document
  79. install.ms for further instructions.  In this  latter  case,
  80. if  you  are  sucessful  in  porting  the  software to a new
  81. machine, I would be pleased if you could  let  me  know  the
  82. nature of the changes required.
  83.  
  84.      Once you have tailored the system, there are then three
  85. steps  involving  in  building the system; making the parser
  86. (the component used to generate the initial  object  image),
  87. making  the  bytecode  interpreter,  and  making  the object
  88. image.  Typing _m_a_k_e, with no arguments, will do  all  three.
  89. For  more detailed instructions on making the system consult
  90. install.ms.
  91.  
  92.      Once you  have  sucessfully  created  the  parser,  the
  93. bytecode compiler, and an object image, type
  94.  
  95.         st
  96.  
  97.  
  98. to run the system.  Now would be a very good time to go read
  99. explore.ms,  which  would tell you more how to find your way
  100. around.
  101.  
  102. _C_h_a_n_g_e_s _f_r_o_m _L_i_t_t_l_e _S_m_a_l_l_t_a_l_k _v_e_r_s_i_o_n _o_n_e
  103.  
  104.      The following changes have been made from  version  one
  105. to version two:
  106.  
  107. o+    The user interface is slightly different.  This is most
  108.      apparent   in  the  way  new  classes  are  added  (see
  109.      explore.ms), and in the fact that expressions will  not
  110.      be  printed unless you explicitly request printing, and
  111.      in the fact that new global variables cannot be created
  112.      at the command level merely by assignment.
  113.  
  114. o+    Much (very much) more of the system is now  written  in
  115.      Smalltalk, rather than C.  This allows the user to see,
  116.      and modify it if they wish.  This also means  that  the
  117.      virtual machine is now much smaller.
  118.  
  119. o+    The pseudo variable selfProcess is no longer supported.
  120.      The  variables  true,  false and nil are now treated as
  121.      global variables, not  pseudo  variables  (see  below).
  122.      There  are  plans  for adding processes to version two,
  123.      but they have not been formalized yet.
  124.  
  125. o+    Global variables are now supported; in fact classes are
  126.      now simply global variables, as are the variables true,
  127.  
  128.  
  129.  
  130.                       October 26, 1987
  131.  
  132.  
  133.  
  134.  
  135.  
  136.                            - 3 -
  137.  
  138.  
  139.      false, smalltalk and nil.  The global variable  global-
  140.      Names  contains  the  dictionary of all currently known
  141.      global variables and their values.  (Pool variables are
  142.      still not supported).
  143.  
  144. o+    The internal bytecodes are slightly different.  In par-
  145.      ticular,  the  bytecode  representing ``send to super''
  146.      has been eliminated, and a bytecode representing ``do a
  147.      primitive'' has been added.
  148.  
  149. o+    The internal representation of  objects  is  different.
  150.      Instead  of the ``super-object'' chain, objects are now
  151.      created big enough to hold all the  instance  variables
  152.      for  all  their  superclasses.   (This is the way it is
  153.      done in Smalltalk-80, and, to the best of my knowledge,
  154.      in Smalltalk-V).
  155.  
  156. o+    The Collection  hierarchy  has  been  rearranged.   The
  157.      rational for this change is explained in more detail in
  158.      another essay.  (possibly not written yet).
  159.  
  160. o+    Some methods, most notably the error  message  methods,
  161.      have  been  moved  out  of  class Object and into class
  162.      Smalltalk.
  163.  
  164. o+    The syntax for primitives  is  different;  the  keyword
  165.      primitive has been eliminated, and named primitives are
  166.      now gone as well.  Fewer actions are performed by prim-
  167.      itives, having been replaced by Smalltalk methods.
  168.  
  169. o+    Command line options, such as the  fast  load  feature,
  170.      have been eliminated.  However, since version two reads
  171.      in a binary object image, not a textual  file,  loading
  172.      should be considerably faster.
  173.  
  174. _E_l_e_c_t_r_o_n_i_c _C_o_m_m_u_n_i_c_a_t_i_o_n
  175.  
  176.      Here is my address, various net addresses:
  177.  
  178.         Tim Budd
  179.         Oregon State University
  180.         Department of Computer Science
  181.         Corvallis, Oregon 97331 USA
  182.         (503) 754-3273
  183.  
  184.         budd@ cs.orst.edu
  185.  
  186.         {tektronix, hp-pcd} !orstcs!budd
  187.  
  188.  
  189. _C_h_a_n_g_e_s
  190.  
  191.      I want to emphasize that this is not even  a  beta-test
  192. version (does that make it an alpha or a gamma version?).  I
  193.  
  194.  
  195.  
  196.                       October 26, 1987
  197.  
  198.  
  199.  
  200.  
  201.  
  202.                            - 4 -
  203.  
  204.  
  205. will be making a number of changes, hopefully just additions
  206. to  the initial image, in the next few months.  In addition,
  207. I hope to prepare versions for other machines,  notably  the
  208. Macintosh  and  the IBM PC.  I am also encouraging others to
  209. port the system to new  machines.   If  you  have  done  so,
  210. please let me know.
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.                       October 26, 1987
  263.  
  264.  
  265.