(subtypep 'si::proper-list t)
I confirm that this occurs with the latest ECL (stack overflow error).
You seem to have CSS turned off.
Please don't fill out this field.
Both (subtypep 'si:property-list 'condition) and (subtypep 'si::proper-list 'condition) raise "Stack overflow" - serious-condition (version 13.5.1)
This appears to still be the case with the Git HEAD version as well.
Problem comes from call sequence:
canonical_type -> register_cons_type -> apply -> canonical_type -> ... etc
Basically, it is impossible to compute canonical-type of recursive datatype, since it's infinite.
Solution would be - detect recursive type and throw exception. Related irc discussion on attachment.
Alternate solution - subtypep returns (values nil nil), if one of types is recursive.
sidenote: same problem found on sbcl.
Recursive deftype's aren't standard common-lisp. Please refer:
Problem is that ecl defines proper-list as type - probably it should be removed. Another enhancement would be implementing handling propositions from 1). Leaving it as bug, until proper-list will be removed from ECL defined types, then will move it to features.