fset icon indicating copy to clipboard operation
fset copied to clipboard

Reversing a char-containing sequence doesn't work

Open asciipip opened this issue 2 years ago • 0 comments

Normally, reversing a sequence reverses it:

CL-USER> (fset:reverse (fset:seq 1 2 3 4))
#[ 4 3 2 1 ]

But if the elements of the sequence are characters, reverse fails:

CL-USER> (fset:reverse (fset:seq #\a #\b #\c #\d))

Results in the condition:

The value
  "abcd"
is not of type
  FSET::WB-SEQ-TREE-NODE
   [Condition of type TYPE-ERROR]

Backtrace:
  0: (FSET::WB-SEQ-TREE-REVERSE "abcd")
  1: ((:METHOD FSET:REVERSE (FSET:WB-SEQ)) #[ #\a #\b #\c #\d ]) [fast-method]
  2: (SB-INT:SIMPLE-EVAL-IN-LEXENV (FSET:REVERSE (FSET:SEQ #\a #\b #\c #\d)) #<NULL-LEXENV>)
  3: (EVAL (FSET:REVERSE (FSET:SEQ #\a #\b #\c #\d)))
 --more--

I'm using SBCL 2.1.1 with fset-20200610-git from Quicklisp, in case that makes a difference.

asciipip avatar Jan 04 '23 03:01 asciipip