close Warning: Can't synchronize with repository "(default)" (/project/cl-weblocks/svn does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 17 years ago

Closed 17 years ago

#53 closed defect (fixed)

Research switching from using slot's :type specifier to our own metaclass

Reported by: Slava Akhmechet Owned by: Slava Akhmechet
Priority: medium Milestone: 0.1
Component: weblocks Version: pre-0.1
Keywords: slot type renderer Cc:

Description

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'.

Change History (1)

comment:1 Changed 17 years ago by Slava Akhmechet

Resolution: fixed
Status: newclosed

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.

Note: See TracTickets for help on using tickets.