
Hi, Some issues about the type system that comes to my mind (some of them might be less important than the others): - no reliable way to figure out whether something is a type specifier or not - no way to portably expand a type specifier by using its definition - practically there is no reflection on types - no easy way to specify a parametric type of strings with less than N characters (this is just an example of the issue: (deftype length-limited-string (limit) ...) due to the limits of satisfies - no portable way to get the inferred type of a function, a variable, etc. Cheers, levy -- There's no perfectoin

On Sep 2, 2009, at 14:12 , Levente Mészáros wrote:
Hi,
Some issues about the type system that comes to my mind (some of them might be less important than the others): - no reliable way to figure out whether something is a type specifier or not
Yep. I use (defun type-specifier-p (ts) (ignore-errors (subtypep ts t)))
- no way to portably expand a type specifier by using its definition
Yep.
- practically there is no reflection on types
Yep.
- no easy way to specify a parametric type of strings with less than N characters (this is just an example of the issue: (deftype length-limited-string (limit) ...) due to the limits of satisfies
Careful. This opens up a can of worms. There is no way to specify a recursive type either, but this would go really deep.
- no portable way to get the inferred type of a function, a variable, etc.
Environment access *could* mitigate this problem. Cheers Marco
Cheers, levy
-- There's no perfectoin
_______________________________________________ cltl3-devel mailing list cltl3-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/cltl3-devel
-- Marco Antoniotti, Associate Professor tel. +39 - 02 64 48 79 01 DISCo, Università Milano Bicocca U14 2043 Viale Sarca 336 I-20126 Milan (MI) ITALY Please note that I am not checking my Spam-box anymore.
participants (2)
-
Levente Mészáros
-
Marco Antoniotti