sbcl Log


Commit Date  
[a149ad] by Douglas Katzman Douglas Katzman

INFO :SETF :EXPANDER/:INVERSE can't both return T as their second value.

Setting an INFO to NIL was a technique that made some degree of sense
when the globaldb didn't allow clearing, but clearing is more sensible.

The unrelated QUIETLY-ASSIGN-SETF-MACRO function will be used
in a subsequent change.

2014-06-10 02:57:50 Tree
[68f960] by Douglas Katzman Douglas Katzman

Fix discrepancy in how MACROEXPAND-1 calls the expander for symbols.

2014-06-10 02:22:10 Tree
[86f696] by Douglas Katzman Douglas Katzman

Missing a clause in ECASE in %DEFINE-SYMBOL-MACRO

2014-06-10 02:22:10 Tree
[88429d] by Paul Khuong Paul Khuong

More aggressive ARRAY-RANK type derivation

* Use list-abstract-type-function to derive possible values for
ARRAY-RANK even in the face of union/intersection/negation types.

* Fixes lp#1310574 (triggered by a prior fix to array type union).

* Plus tests derived from opticl.

2014-06-09 04:44:26 Tree
[fa92fb] by Paul Khuong Paul Khuong

Type/compiler: new utility functions to compute over types

sb!kernel:generic-abstract-type-function approximates a function over
types given an arbitrary finite set representation.

sb!kernel:list-abstract-type-function specialises on the standard
CL list representation of finite sets.

See late-type.lisp for documentation.

2014-06-09 04:40:40 Tree
[0b7c7e] by Paul Khuong Paul Khuong

Really fix SVREF with unknown types

Now that array type intersection are correct (less broken?), the
kludge in bd84e72bb655e77c0c0bfeaec1c8eac7a427507b isn't useful
anymore.

2014-06-09 02:47:22 Tree
[2b1e77] by Paul Khuong Paul Khuong

Type system: fix array type intersection and unparsing

1. We need to intersect specialised element types, not just re-derive
it from the element type. This only affects intersections between
unspecialised array types and T arrays.

2. Be more careful when unparsing array types: we can intersect array
element types for relatively wide specialised element types. We
must always preserve the specialised element type.

3. Smoke regression tests.# Please enter the commit message for your changes. Lines starting

2014-06-09 02:47:21 Tree
[954ad5] by Paul Khuong Paul Khuong

New function: %upgraded-array-element-type to upgrade ctypes

Much saner than mutating an array ctype to upgrade it, and then
reading the specialised element type.

2014-06-09 02:47:21 Tree
[ff9c43] by Paul Khuong Paul Khuong

typep: arrays test on wild _specialised_ element type

It currently works because unknown element types are disregarded, but
we'll eventually want to have a real type on the element type, and
some set representation for specialised element types.

2014-06-09 02:47:21 Tree
[6a0391] by Paul Khuong Paul Khuong

Type system: contains-unknown-type also walks down negation types

Low occurrence, but negated unknown types can have pretty far-ranging
effects (e.g., `(and vector (not foo)), where 'foo is eventually
'vector).

2014-06-09 02:47:21 Tree
[c177ff] by Stas Boukarev Stas Boukarev

make-genesis-2.sh: read output/build-config.

2014-06-07 22:36:50 Tree
[3e8011] by Stas Boukarev Stas Boukarev

Fix a regression in MAP-INTO.

A change in the %MAP transform also required a change in
BUILD-SEQUENCE-ITERATOR, but it wasn't the only place where it was
used.

Spotted by David O'Toole, tracked down by Bart Botta.

2014-06-07 22:16:45 Tree
[b735a2] by Stas Boukarev Stas Boukarev

Fix immediate encoding in SET-UNWIND-PROTECT on ARM.

Reported by David O'Toole.

2014-06-07 17:21:56 Tree
[a2adbe] by Stas Boukarev Stas Boukarev

Optimize MAP for unknown types.

Pick up some simple types like list and simple-vector without going
through subtypep. Avoid consing sequences together when possible.

2014-06-06 18:20:57 Tree
[021d58] by Stas Boukarev Stas Boukarev

Optimize MAP NIL.

Transform %map nil into %map-for-effect-arity-1 if the type of
sequence is not known. SOME and EVERY are optimized too as a result of
this.

2014-06-06 18:01:09 Tree
[615be9] by Stas Boukarev Stas Boukarev

Optimize PROBE-FILE.

In QUERY-FILE-SYSTEM, avoid formatting an error message if no error is
requested. FORMAT is not expanded during the build, making it even
slower.

2014-06-04 12:28:26 Tree
[d2d74c] by Douglas Katzman Douglas Katzman

Resolve a FIXME. There is no COLD-INIT-INTEGER-READER

Also make it known that {READER-EOF,SIMPLE-READER}-ERROR don't return.

2014-06-03 22:02:01 Tree
[330234] by Douglas Katzman Douglas Katzman

Fix test failure spotted by the ever vigilant Jan Moringen.

2014-06-03 19:13:04 Tree
[dfebad] by Stas Boukarev Stas Boukarev

Fix loop.pure:of-type-character test.

Should read #+sb-unicode, not #-sb-unicode.

Spotted by Jan Moringen.

2014-06-03 12:50:18 Tree
[e83b4f] by Douglas Katzman Douglas Katzman

Rename TOKEN-BUF-INCH-PTR to TOKEN-BUF-CURSOR

2014-06-03 03:29:18 Tree
[b27380] by Douglas Katzman Douglas Katzman

Delete INCH-READ-BUFFER function and macroize some stuff.

2014-06-03 03:15:15 Tree
[138365] by Douglas Katzman Douglas Katzman

Change some more uses of INCH-READ-BUFFER to TOKEN-BUF-GETCHAR.

Also delete READ-UNWIND-READ-BUFFER which seemed to confuse
rewinding with unwinding - I would think that an unwound tape
couldn't be read again but a rewound one could.

2014-06-03 01:42:59 Tree
[415665] by Stas Boukarev Stas Boukarev

LOOP: produce warnings for empty types.

Jan Moringen reported that the test
(typep (loop with a of-type extended-char return a) 'extended-char)
failed on #-sb-unicode.
It returned 0.0 and didn't produce a warning during compilation, since
extended-char is an empty type on #-sb-unicode.
Catch empty types and don't produce default values for them.

2014-06-03 00:36:07 Tree
[e5d8dd] by Douglas Katzman Douglas Katzman

Compute MAKE-INTEGER's magic constants for any n-fixnum-bits.

Also rename token-buf's OUCH-PTR to FILL-PTR.

2014-06-02 22:41:49 Tree
[b6cc67] by Douglas Katzman Douglas Katzman

Use a consistent message string when signaling reader package errors.

Also improve some nondescript variable names, and a stealth bugfix.

2014-06-02 17:16:45 Tree
Older >