Skip to content
Snippets Groups Projects
  1. Mar 22, 2003
    • gerd's avatar
      * bootfiles/18e/boot[12].lisp: Bootstrap files for the lisp:class · a1e3ed93
      gerd authored
      = pcl:class part.  To get it booted from 18e, cross-compile using
      boot1.lisp as bootstrap.lisp in pmai's build scripts, then do a
      normal compile with boot2.lisp as bootstrap.lisp with the
      resulting Lisp.
      
      * code/byte-interp.lisp, code/defstruct.lisp, code/describe.lisp:
      * code/error.lisp, code/exports.lisp, code/hash-new.lisp:
      * code/hash.lisp, code/macros.lisp, code/misc.lisp:
      * code/package.lisp, code/pred.lisp, code/sharpm.lisp, code/type.lisp:
      * compiler/dump.lisp, compiler/fndb.lisp, compiler/globaldb.lisp:
      * compiler/proclaim.lisp, compiler/typetran.lisp, compiler/xref.lisp:
      * compiler/generic/primtype.lisp, compiler/generic/vm-type.lisp:
      Changes for to use kernel::class etc.
      
      * code/class.lisp (toplevel): Shadow class, built-in-class etc.
      (class): Give it conc-name %class-.
      (toplevel) [#+bootstrap-lisp-class=pcl-class]: Define old accessors.
      (everywhere): Use new class accessors.
      
      * compiler/generic/vm-fndb.lisp (%make-instance): Change from
      unsafe to flushable and movable.
      
      * code/ntrace.lisp (expand-trace, untrace): Changes for method
      tracing.
      
      * code/profile.lisp (profile, profile-all, unprofile): Method
      profiling.
      
      * pcl/*.text, pcl/bench.lisp, pcl/extensions.lisp:
      * pcl/fast-init.lisp, pcl/precom1.lisp, pcl/precom4.lisp:
      * pcl/structure-class.lisp, pcl/user-instances.lisp:
      Removed.
      
      * tools/pclcom.lisp: Changes for my PCL and lisp:class =
      pcl::class.
      a1e3ed93
  2. Mar 18, 2003
  3. Feb 03, 2003
  4. Dec 07, 2002
  5. Dec 04, 2002
  6. Nov 13, 2002
  7. Oct 23, 2002
    • toy's avatar
      Fix entomotomy bug · e6655d2c
      toy authored
      subtypep-too-certain-about-satisfies-undefined-function
      
      Port over the SBCL fix.
      e6655d2c
  8. Oct 22, 2002
    • toy's avatar
      Fix for the Entomotomy bug · f50481e9
      toy authored
      numeric-types-with-empty-ranges-cause-errors
      
      We silently accept numeric types with empty ranges and treat that as
      the empty type.
      f50481e9
  9. Oct 16, 2002
    • toy's avatar
      Fix for the Entomotomy bug · dac93106
      toy authored
      atom-type-not-completely-understood-by-subtypep
      
      This is ported from the fix used by SBCL.
      dac93106
  10. Aug 23, 2002
  11. Aug 12, 2002
  12. Feb 23, 2002
  13. Nov 22, 2001
  14. Mar 04, 2001
  15. Jul 07, 2000
  16. 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
      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
  17. Jun 27, 2000
  18. 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
  19. Jan 10, 2000
  20. Aug 19, 1998
  21. May 19, 1998
  22. May 13, 1998
  23. Apr 17, 1998
  24. Feb 02, 1998
    • dtc's avatar
      Patch from Raymond Toy for the :negative-zero-is-not-zero feature: · b6137f53
      dtc authored
      have make-numeric-type canonicalize the bounds so that a lower bound
      of (-0.0) becomes 0.0 and an upper bound of (0.0) becomes -0.0.  Also
      fixes the problem of (subtypep '(float (-0.0)) (float 0.0)), returning
      nil when it should be T.  This is because (float (-0.0)) is
      canonicalized to the identical (float 0.0).
      b6137f53
  25. Jan 21, 1998
  26. Jan 08, 1998
  27. Jan 05, 1998
    • dtc's avatar
      Change to the handling of floating point zeros within numeric type · 3fe8030e
      dtc authored
      specifiers by Raymond Toy. With these changes -0.0 and 0.0 and
      considered separate on the float type intervals which is more natural
      for many arithmetic function derive type optimizers.  These changes
      are dependent upon the :negative-zero-is-not-zero feature.
      3fe8030e
  28. Dec 18, 1997
  29. Sep 05, 1997
  30. Oct 31, 1994
  31. Feb 11, 1994
  32. Sep 03, 1993
  33. Sep 01, 1993
  34. Aug 31, 1993
  35. Aug 25, 1993
  36. Aug 23, 1993
    • ram's avatar
      Fixed semantics of various type-classes (CL arrays, numbers, functions & · 47739842
      ram authored
      alien-types) that have superclasses.  This was especially problematic with the
      Dylan collection heterarchy, but some problems could arise with 
      e.g. (subtypep `(member ,#'cons) '(function (t t) cons)) (not technically legal
      in CL, but used by the compiler on legal programs.)
      47739842
Loading