#53: Research switching from using slot's :type specifier to our own metaclass --------------------------------+------------------------------------------- Reporter: sakhmechet | Owner: sakhmechet Type: defect | Status: new Priority: medium | Milestone: 0.1 Component: weblocks | Version: pre-0.1 Keywords: slot type renderer | --------------------------------+------------------------------------------- Note, some implementations (like OpenMCL) enforce slot type specializations. If we set a slot's type as integer, OpenMCL will not let us assign nil. Currently we rely on default values of data types to be nil, but in case of OpenMCL we're forced to set the default to some integer value. For some types of data (like age, for example) this leads to weird 'default' age of zero. In the future, we may want to rely on boundp instead of checking for nil.
Additionally, some implementations (CLISP) don't return the value of type declaration as is: if we define a new type alias 'age', set the type for a slot, and then query the type of the slot, we may get back a different value equivalent to age.
In light of these facts, we may want to consider creating a new metaclass for datatypes and using a new slot specifier instead of 'type'.
#53: Research switching from using slot's :type specifier to our own metaclass -------------------------+-------------------------------------------------- Reporter: sakhmechet | Owner: sakhmechet Type: defect | Status: closed Priority: medium | Milestone: 0.1 Component: weblocks | Version: pre-0.1 Resolution: fixed | Keywords: slot type renderer -------------------------+-------------------------------------------------- Changes (by sakhmechet):
* resolution: => fixed * status: new => closed
Comment:
Initforms are no longer required. Weblocks is now changed to fully rely on typespecs for input validation. Direct-slot-object always returns type declaration as it was declared.
cl-weblocks-ticket@common-lisp.net