gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gcl-devel] Calling for top ten ANSI issues ...


From: Camm Maguire
Subject: Re: [Gcl-devel] Calling for top ten ANSI issues ...
Date: 22 Sep 2003 17:09:55 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Greetings!

"Paul F. Dietz" <address@hidden> writes:

> Camm Maguire wrote:
> 
> > Greetings!  I think its time to work on this some more.  What are the
> > top ten issues in order of priority revealed by Paul's latest tests?
> 
> Here's a list of ten bugs (or classes of bugs) from the test suite that
> may have a high impact on the test suite.  Take this as advisory only,
> though, and work on what seems easiest to you.
> 
> (BTW, do *not* work on the (array nil) or nil-string tests until
> everything else is out of the way, if then.  My guess is these 'features'
> will be removed from the spec at some point.)
> 
> 
> 1. When a condition is defined, it's not always detected as a subtype
>    of CONDITION.
> 
>     Example:
>     Test CONDITION-1/IS-SUBTYPE-OF/CONDITION failed
>     Form: (SUBTYPEP* 'CONDITION-1 'CONDITION)
>     Expected values: T
>                      T
>     Actual values: NIL
>                    NIL.
> 

OK, I've put in code (not yet committed) in subtypep to coerce symbols
to the class they may name if possible, and resolve the subtype
relationship according to the class precedence list, i.e. just as
subtypep handles class object arguments at present.

A few type/class questions:

1) I'm assuming from what I read that the above logic is valid.
2) I'm assuming that there is no analogous logic I can use to process
        subtypep relationships between instances of classes
3) Our subtypep function really needs help.  Its mostly a list of
        one-off relationships at present.  Do you know of a more
        elegant algorithm, likely recursive, to handle non-class type
        relationships in subtypep in a more robust fashion?

Take care,

> 2. :ALLOW-OTHER-KEYS processing is broken
> 
>     Example: (MAKE-LIST.ALLOW-OTHER-KEYS.4)
> 
>     (MAKE-LIST 5 :ALLOW-OTHER-KEYS T :ALLOW-OTHER-KEYS NIL 'BAD T)
>       Should be: (nil nil nil nil nil)
>       gcl instead: raises an error
>       The *leftmost* occurence of :ALLOW-OTHER-KEYS has priority
>         over later occurences of the same keyword parameter.
> 
> 3. Some number comparison tests cause the test driver to break.
> 
>     <.4, <=.4, >.4, >=.4 all raise a condition that can't be printed:
> 
>      Test <.4 failed
>      Form: (LOOP
>              FOR
>              (X Y RESULT . REST)
>              IN
>              *NUMBER-LESS-TESTS*
>              UNLESS
>              (IF (< X Y) RESULT (NOT RESULT))
>              COLLECT
>              (LIST* X Y RESULT REST))
>      Expected value: NIL
>      Actual value:
>      Error in EVAL [or a callee]: Can't print a non-number.
> 
>      Fast links are on: do (use-fast-links nil) for debugging
>      Broken at DO-TEST.  Type :H for Help.
>       1 (Abort) Return to top level.
>      dbl:CL-TEST>>
> 
> 4. Builtin method combinations aren't working.
> 
>     See the DEFGENERIC-METHOD-COMBINATION* tests, as well as the CPL
>     tests (which use a nonstandard builtin method combination.)
> 
> 5. LOOP errors
> 
>     These can probably be fixed by using the CMUCL or SBCL LOOP macro.
> 
> 6. Numerous error cases not properly handled.
> 
>     Many list functions, for example, are required to signal a type error
>    if the list argument is not a proper list (see many of the error cases
>    in tests loaded from load-cons.lsp.)
> 
> 7. The function SIMPLE-CONDITION-FORMAT-CONTROL isn't defined, and
>    SIMPLE-ERROR doesn't admit a :FORMAT-CONTROL initialization argument.
>    (There's much more condition-related breakage, but I haven't gone
>     through that in detail.)
> 
> 8. (SETF <symbol>) should be a valid function name.
> 
> 9. PARSE-INTEGER should produce PARSE-ERRORs, not STREAM-ERRORs.
> 
> 10. I've put together a random stress tester (see random-int-form.lsp).
>    This is having great impact on flushing out compiler bugs in other
>    lisps, but I can't get it to run anything in gcl.  Could this be fixed?
> 
> 
> Finally: BROADCAST-STREAM isn't defined, but I haven't written stream
> tests yet.  This is breaking a few tests of other things.
> 
>       Paul
> 
> 
> 
> 
> 

-- 
Camm Maguire                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah




reply via email to

[Prev in Thread] Current Thread [Next in Thread]