Custom Query (1030 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (757 - 759 of 1030)

Ticket Resolution Summary Owner Reporter
#1400 fixed Loop's destructuring bind is not conformant R. Matthew Emerson Javier Olaechea
Description

When passing less values than variables to destructure against CCL raises a SIMPLE-PROGRAM-ERROR

(loop :with (a b) := '(nil))
;; =>
(NIL) can't be destructured against the lambda list (A
                                                     B
                                                     . #:LOOPVAR-8347), because it does not contain at least 2 elements.

The CLHS says that b should be given a value of nil in this case.

During loop expansion, each variable in the variable list is matched with the values in the values list. If there are more variables in the variable list than there are values in the values list, the remaining variables are given a value of nil

6.1.1.7 Destructuring

SBCL which shares the same loop implementation of CCL handled this bug in this way.

#1402 fixed darwinx8664 Makefile doesn’t specify OSVERSION when linking Chris Hanson
Description

In the darwinx8664 Makefile, the final link of dx86cl64 specifies -mmacosx-version-min=10.6. It should probably specify $(OSVERSION).

#1403 fixed in a 32-bit lisp, random apparently returns bad bignums R. Matthew Emerson
Description
    (defparameter *rnd-state* (make-random-state t))

    (dotimes (i 300000)
      (let* ((rand-val (random #.(1- (expt 2 64)) *rnd-state*))
             (read-val (read-from-string (with-output-to-string (o)
                                           (pprint rand-val o)))))
        (assert (= rand-val read-val)
                nil
                "rand-val: ~S, read-val: ~S" rand-val read-val)))

At some point (it may be necessary to try a few times), the assert fails and the message is:

    rand-val: 1037244565857250958, read-val: 1037244565857250958

Inspecting the variables in SLIME debuggers shows this:

#<(INTEGER 536870912) #xE65086FE5202E8E>
--------------------
Value: 1037244565857250958 = #xE65086FE5202E8E = #o71450206774510027216 = #b1110 01100101 00001000 01101111 11100101 00100000 00101110 10001110 = 1.0260616E+19
Integer-length: 64



READ-VAL:

#<(INTEGER 536870912) #xE65086FE5202E8E>
--------------------
Value: 1037244565857250958 = #xE65086FE5202E8E = #o71450206774510027216 = #b1110 01100101 00001000 01101111 11100101 00100000 00101110 10001110 = 1.0372446E+18
Integer-length: 60

I (rme) was able to duplicate this on a 32-bit ARM lisp (I haven't tested an x8632 lisp), where the message was

> Error: rand-val: 1769403817437272421, read-val: 1769403817437272421
1 > :f 0
 (76BA44C8) : 0 (%ASSERTION-FAILURE NIL (= RAND-VAL READ-VAL) "rand-val: ~S, read-val: ~S" 1769403817437272421 1769403817437272421) 452
  (SETF-PLACES-P TEST-FORM STRING &REST CONDITION-ARGS)
   SETF-PLACES-P: NIL
   TEST-FORM: (= RAND-VAL READ-VAL)
   STRING: "rand-val: ~S, read-val: ~S"
   CONDITION-ARGS: (1769403817437272421 1769403817437272421)
1 > :arg 'condition-args 0
(1769403817437272421 1769403817437272421)
1 > (mapcar 'integer-length *)
(64 61)
1 > (mapcar 'uvsize **)
(3 2)

So, that's not right: the first value appears to be a three-digit bignum.

This makes me think that we are somehow allowing non-normalized bignums to escape from the lab. I wonder if there's an error in the guts of the implementation of cl:random.

https://lists.clozure.com/pipermail/openmcl-devel/2017-January/011456.html

Batch Modify
Note: See TracBatchModify for help on using batch modify.
Note: See TracQuery for help on using queries.