Fix APPEND/NCONC type derivation properly this time.
authorStas Boukarev <stassats@gmail.com>
Mon, 3 Jun 2013 14:25:19 +0000 (18:25 +0400)
committerStas Boukarev <stassats@gmail.com>
Mon, 3 Jun 2013 14:25:53 +0000 (18:25 +0400)
commita6661cdaac013752213d381aa469cb0919a6ce4c
tree4b8bb58f1c4de1862a2fccfd3711d6faee1cc9f0
parent6c1e23b7535e86697e518125f60550ecac82439d
Fix APPEND/NCONC type derivation properly this time.

Use type-intersection for checking types, it's more robust than what
was there before.

And a slight improvement. When argument in the middle can't be a NIL,
then the end result is guaranteed to be a CONS. Previously, the
assumption was if the type is a CONS, but that doesn't work with types
like (or cons vector).
src/compiler/srctran.lisp
tests/compiler.pure.lisp