home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / scheme / schmlbrr / schem_lb.lha / unsupported / CScheme / readme.cl2mits < prev    next >
Encoding:
Text File  |  1991-08-06  |  4.3 KB  |  151 lines

  1. This is brief notes on the procedures defined by the files in this
  2. directory.  This is not intended to be a complete documentation but just
  3. remarks that users of these functions and macroes should be aware of.
  4. These source codes are writeen as a part of a project that involves first
  5. porting a program written in CL to MIT Scheme.  I have tried to filter
  6. out, in these files, the comments that relate to only that prject but there
  7. might be some that escaped me.  Please ignore comments that do not seem
  8. relevant.  As the primary goal of the afore mentioned project is not to
  9. implement the CL language using MIT Scheme, the implementation contained
  10. here are correct to a degree but I have not checked them rigourously
  11. against the CL speciifiications.
  12.  
  13.                     - Minghsun Liu
  14.                        lmh@medg.lcs.mit.edu    
  15.  
  16.  
  17. 1. MACRO-HACKS.SCM
  18.  
  19. This file contains modifications to the MIT Scheme macroes to make them
  20. behave more like their CL counterparts.  I did not write these codes,
  21. the codes are taken from the doc macro.txt, written by the MIT Scheme
  22. team.
  23.  
  24.  
  25. 2. ARRAY.SCM & ARRAY-DISPLACED.SCM
  26.  
  27. These files are similar in all aspects except one: the array datatype
  28. implemented in ARRAY.SCM does not include support for the :displaced-to
  29. keyword whereas ARRAY-DISPLACED.SCM contains one that does. (buggy still
  30. though)  With a few additional modifications to the implementation in
  31. ARRAY-DISPLACED.SCM, support for :displaced-index-offset can be
  32. easily implemented.  For now, these keywords are implemented:
  33. :initial-contents, initial-element, and :displaced-to (in
  34. ARRAY-DISPLACED.SCM).  Some of the major bugs in the implementation of array
  35. with support for :displaced-to exist in the handling of displacements
  36. between an array that has NIL dimension and one that has non-NIL
  37. dimensions.
  38.  
  39. P.S. The elements of the array can't be lists.  If they are, FLATTEN in
  40. MAKE-ARRAY has to be modified.
  41.  
  42.  
  43. 3. LOG-OPER.SCM
  44.  
  45. Implementations of some of the logical operations in CL.  ASH is 
  46. implemented using arithmetic operations to simulate logical ones and
  47. might be relatively expensive.  *MAX-BIT-STRING-LENGTH* is used by several
  48. procedure, during the convertion of a number from its decimal
  49. representation to binay representation, as the upper limit.  (i.e. These
  50. logical operations should have no problem handling integers as large as
  51. 2^199 - 1, with 200 being the default value.)  
  52.  
  53.  
  54. 4. MISC.SCM
  55.  
  56. As the name suggests, this file contains definitions that I can't find
  57. coherent groupings for.  A note concerning the implementation of SETQ:
  58. since most of the time, the use of SETQ is similar to SET! in Scheme
  59. except that it returns the new value, instead of the old value (or
  60. something else), SETQ implement only this aspect while SETQQ is the
  61. complete implementation that behaves like SETQ in CL.
  62. BTW, the iterative constructs can also be found in this file.
  63.  
  64.  
  65. 5. UTIL.SCM
  66.  
  67. Contains an implementation of the TIME procedure in CL.  (This procedure
  68. is the combined child of SHOW-TIME and PRINT-GC-STATISTICS procedures written
  69. by the Scheme team as part of MIT Scheme.)
  70.  
  71.  
  72. 6. FILE.SCM
  73.  
  74. Implements WITH-OPEN-FILE with support for some keywords.
  75.  
  76.  
  77. 7. BSORT.SCM
  78.  
  79. This file contains an alternative definition to CL-SORT.  Instead of
  80. using the sorting algorithm (Q-sort, a non-stable sort) defined in MIT
  81. Scheme, this uses the good-old bubble sort.
  82.  
  83.  
  84. 8. SEQUENCE.SCM
  85.  
  86. Some of the operations on sequences are implemented in this file, with
  87. support for most of the keywords.
  88.  
  89.  
  90. In all, the follow CL functions and macroes are implemented:  (I tried
  91. to use the same name when possible, if not, the name(s) to the left is(are)
  92. the equivalent(s) in MIT Scheme.)
  93.  
  94. CL                                MIT Scheme (if different)
  95. -----------------------------------------------------------
  96. AREF                              AREF & ARRAY-SET!
  97. ARAAY-DIMENSION
  98. ARRAY-DIMENSIONS
  99. ARRAY-RANK
  100. ASH
  101. COMPILE
  102. CONCATENATE                   
  103. COUNT 
  104. COUNT-IF
  105. DEFMACRO
  106. DO*
  107. DOLIST
  108. DOTIMES
  109. ELT
  110. FIND
  111. FILL
  112. FUNCALL                           
  113. INTEGER-LENGTH
  114. LENGTH                            CL-LENGTH
  115. LOGAND
  116. LOGANDC2
  117. LOGCOUNT
  118. LOGIOR
  119. LOOP
  120. MAPCAN
  121. MAPCAR                            MAP & MAP-VEC
  122. NSUBSTITUTE-IF
  123. NSUBSTITUTE-IF-NOT
  124. POSITION
  125. PRINT                    
  126. PROG1
  127. PSETQ
  128. PUSH
  129. READ-LINE
  130. SEARCH
  131. SET
  132. SETF
  133. SETQ                              SETQ & SETQQ
  134. SORT                    CL-SORT
  135. STRING                            CL-STRING
  136. TIME
  137. (TYPEP OBJ 'ATOM)                 ATOM?
  138. UNLESS
  139. WHEN
  140. WITH-OPEN-FILE
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.