The following produces a correct type error:

  $ csi -n
  #;1> (append "foo" "bar" '())
  Error: (append bad argument type - not a proper list: "foo")

Whereas this does not:

  $ csi -n
  #;1> (use srfi-1)
  #;2> (append! "foo" "bar" '())
  ()

I would expect to see the error in example 1 repeated in example 2. 

types.db shows |append| declared as:

  (append (#(procedure #:clean) append (list #!rest) *))

and |append!| declared as:

  (append! (#(procedure #:enforce) append! (#!rest list) *))

Should the signature of |append!| be updated to mirror the signature
of |append|?  (I'm speculating, as this is the first time I've
opened types.db.)

-a
-- 
my personal website: http://c0redump.org/

_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to