Skip to content
Snippets Groups Projects
  1. Aug 08, 2000
  2. Aug 07, 2000
  3. Aug 06, 2000
    • dtc's avatar
      o Add the new function order-layout-inherits to correctly order the · 9793164a
      dtc authored
        layouts within the layout-inherits vector. This ensures that
        the compiler can generate inline type tests for hierarchical classes.
      
      o Modify the definition of the stream class to be hierarchical.
      
      o Have the condition classes correctly order their layout-inherits
        so that the hierarchical condition class is placed at it specified depth.
      
      o Enhance the compiler instance typep transform to generate inline
        type tests for hierarchical classes, not just for structures.
      9793164a
  4. Aug 04, 2000
  5. Jul 31, 2000
  6. Jul 23, 2000
    • dtc's avatar
      When read-sequence is using the read-n-bin method, loop if the number · 645e50b8
      dtc authored
      of bytes returned is less than required, and until either done or zero
      bytes is returned indicating an EOF.
      645e50b8
    • dtc's avatar
      Fix the handling of :unread and :clear-input in the stream · 40f31f66
      dtc authored
      misc functions synonym-misc, two-way-misc, and concatenated-misc.
      These streams encapsulate other input streams which may have an input
      buffer so they need to call unread-char and clear-input on the
      encapsulated stream rather than directly calling the encapsulated
      streams misc method as the misc methods are below the layer of the
      input buffer.
      40f31f66
  7. Jul 11, 2000
  8. Jul 10, 2000
  9. Jul 07, 2000
  10. Jul 06, 2000
    • dtc's avatar
      Reworking of the values-type system to overcome a number of inconsistencies · daf333f4
      dtc authored
      causing problems:
      
      o Redefine coerce-to-values to convert a single value type into (values type),
        rather than the former definition (values type &rest t). A single value
        type such as fixnum is now equivalent to (values fixnum). Values-type-union
        and values-type-intersection will canonicalise values types with a
        single value such as (values fixnum) back to a single value type
        such as fixnum.
      
      o Now when the compiler makes assertions for the first value of
        continuations that may be generating multiple values it asserts the
        type as (values type &rest t), or as (value &optional type &rest t) if
        it is not sure that the continuation does generate a value.
      
      o Enhance the type check generation to better handle the now common
        values types with optional and rest arguments. Add the new function
        Values-types-asserted which converts asserted optional and rest
        arguments to required arguments that have been proven to be delivered,
        Thus an assertion such as (values &optional fixnum &rest t) will
        generate a fixnum type check if the proven type if (values t).
      
      o The compiler is now far more likely to pickup attempts to use an
        assertion to select a subset of values. For example
        (the (values fixnum) (values x y)) will generated a compiler warning.
      
      o Update single values type assertions where appropriate to clarify that
        the received values may be optional or that multiple values may be
        received. For example, a macro argument which had been asserted to be
        a list via (the list ,...) would now be asserted to be
        (the (values &optional list &rest t)) etc.
      
      o Have the IR1 translator for THE convert single value types into
        (values &optional type &rest t) so that code such as
        (the fixnum (values x y)) will still work acceptably. This does not
        restrict the possible type assertions as the values types may be used
        and are not modified.
      daf333f4
    • dtc's avatar
      Back out the previous assertion type changes, function rem only returns · 9615ecbc
      dtc authored
      a single value anyway!
      9615ecbc
    • dtc's avatar
      When asserting a single value from truncate etc, rather than · 2db06b3c
      dtc authored
      using a single value type assertion following values
      '(the index (values ...)), use a multiple values types assertion
      '(the (values index t) ...), which is simpler for the compiler.
      2db06b3c
    • dtc's avatar
      When asserting a single value from truncate etc, rather than · b4693ec2
      dtc authored
      using a single value type assertion following values
      '(the index (values ...)), use a multiple values types assertion
      '(the (values index t) ...), which is simpler for the compiler.
      b4693ec2
    • dtc's avatar
      Clarify an assertion on the result of truncate, firstly receiving the · d10fdea7
      dtc authored
      only the first value.
      d10fdea7
    • dtc's avatar
      o Correct some of the return types of parse-namestring to be consistent · 29e46319
      dtc authored
        with the declared return type; some paths were returning only a single
        value.
      
      o Correct the declared result type of substitute-into to declare both
        return values.
      29e46319
    • dtc's avatar
      Clarify some assertions on the result of function rem, firstly · fc841c24
      dtc authored
      receiving the only the first value.
      fc841c24
    • dtc's avatar
      Correct single-value-type to return the union with the null type for · 8d82b3ca
      dtc authored
      an optional or rest argument, and enhance it to return the *null-type*
      if there are no values. Also no longer inline this function as it is
      becoming more complex.
      8d82b3ca
    • dtc's avatar
      Clarify an assertion on the result of round, firstly receiving the · cba07466
      dtc authored
      only the first value.
      cba07466
    • dtc's avatar
      Clarify an assertion on the result of truncate, firstly receiving the · 7818c27f
      dtc authored
      only the first value.
      7818c27f
  11. Jun 27, 2000
  12. Jun 19, 2000
  13. Jun 17, 2000
  14. Jun 12, 2000
  15. Jun 07, 2000
  16. May 23, 2000
    • dtc's avatar
      Based on patches from Tim Moore; problem noted by Sam Steingold: · 14824ad1
      dtc authored
      o Fix sharp-backslash which had been binding the *readtable* to the
        std-lisp-readtable and breaking the recognition of the end of the token.
      o A new supporting function read-extended-token-escaped has been added
        that reads a token with the first character escaped, and
        internal-read-extended-token has been extended to handle the case in
        which the first character is to be escaped.
      o Fix the handling of single escapes within a double escape, within
        the function internal-read-extended-token.
      14824ad1
    • dtc's avatar
      Move the symbol %defpackage from the LISP to the KERNEL package and · c79ff02d
      dtc authored
      export it.
      c79ff02d
  17. May 22, 2000
  18. May 14, 2000
    • dtc's avatar
      Special case the handling of hash tables within equalp. This brings · 49774478
      dtc authored
      equalp in line with the CL spec. and is necessary because the new hash
      implementation maintains a reference back to the hash table within the
      hash vector (for the garbage collector) which could cause infinite
      recursion by equalp. Based on some good spotting and a patch from
      Raymond Toy.
      49774478
  19. May 13, 2000
  20. May 12, 2000
  21. May 06, 2000
  22. May 02, 2000
    • dtc's avatar
      Implement a specializing CONS class as per issue CONS-TYPE-SPECIFIER:ADD. · 764ec478
      dtc authored
      The new cons-type which maintains the specialised CAR and CDR types:
      
      o Typep recurses, checking the respective car and cdr specialisations;
        two cons-types are type= if both their car and cdr types are type=.
      
      o Subtypep recurses, applying subtypep to the respective car and
        cdr types. If both sub-tests return true then the cons test returns
        true with a win only when both sub-tests win. If either sub-test
        returns false then the cons tests returns false with a win if either
        of sub-tests win.
      
      o Type-intersection is applied to the respective car and cdr types,
        and wins if both win.
      
      o The type-union of two cons-types handles cases for which either the
        respective car or cdr types are type=, in which case type-union is
        applied to the other type. This avoid returning an overly general result.
      
      o Ctype-of a cons object simply returns (cons * *); and does not attempt
        to recurse.
      
      o The compiler recursively checks the specialised type of the cons-type,
        which allows it to also use this type information to derive the result
        type car and cdr. Inline code is currently only generated when
        natively compiling.
      764ec478
  23. Apr 29, 2000
  24. Apr 19, 2000
  25. Apr 14, 2000
Loading