diagrams
Laurent Dube <[email protected]>
| Newsgroups | gmane.comp.lang.prothon.user |
|---|---|
| Organization | DEI |
| Message-ID | <[email protected]> |
I've spent part of the weekend studying your code. Compliments!
Clean coding. Felt at home right away.
About the diagrams, I was suggesting we make e-r type diagrams of
the different proposals concerning:
> object, prototype, class, instance, factory, type, metaclass, etc.
Your response was to describe the contents of the C representation
of "object". That's useful and interesting, and actually we can push
this to documenting graphically the whole code, hopefully using
automated tools. As an exercise, I've re-arranged what you sent
into a text table format (see below).
But... what I was hinting at was a description of the terms as to their
hierarchy, contents, relationship, rules, restrictions, etc. and how
these change between the various proposals.
If not in a drawing, maybe as a table?
We should at least do the current proposal, as it would be an essential
part of the Vancouver presentation.
Laurent Dube
_______________________________________________________________________
Prothon object
* refers to:
prototypes single or list
* has:
attributes optional
data optional
_______________________________________________________________________
C representation of Prothon object
* has:
immediate storage
status 32 bits (details below)
composition 32 bits pointer to single prototype or
pointer to prototype list and/or
attribute dictionary
data 64 bits immediate data or
pointer to separate data
? write lock 32 bits write-lock semaphore ?
optional separate storage
list of prototypes
dictionary of attributes
separate data
_______________________________________________________________________
status
* has: bits
deletion state 2 not deletable, deletable, deleted
data type 2 none, immediate, separate, C function
data length 4 length of immediate data
read access 2 guest, user1, user2, admin
write access 2 guest, user1, user2, admin
unclonable 1 0/1
archived 1 0/1
immutable 1 0/1
scanned 1 0/1
has attributes 1 0/1
delete lock 1 0/1
read lock count 7
write lock request count 7
_______________________________________________________________________