-
Notifications
You must be signed in to change notification settings - Fork 15
Description
Currently in SmSn, everything is an Atom, or a set of Atoms. An Atom has a (possibly empty) list of children, a title, and a number of other properties. It is untyped. Children are ordered. These were very deliberate design decisions 12 years ago, before it was clear how SmSn might incorporate strong schemas without compromising rapid, stream-of-consciousness editing. I specifically did not want to force users to choose between creating a Person atom, a Book atom, a Dog atom, etc., then to be constrained to selecting properties supplied in a predefined ontology. However, APG and now LambdaGraph offer a reasonable middle ground in which a user can define graphs which combine strongly typed elements with untyped ones -- or rather, with elements of one particular, distinguished type which would be equivalent to the current Atom (only without ordering on children) and others such as a wikitext type (embedding untyped links into Markdown or another language).
This change, on its own, will require a major rewrite of SmSn -- which is why it hasn't been done yet, despite obvious advantages.
cc @jmatsushita