[Date Prev] [Date Next] [Thread Prev] [Thread Next] Indexes: Main | Date | Thread | Author

Re: [ba-ohs-talk] GUI Ideas and NODAL

Hi Eugene,    (01)

>MapNode, SequenceNode, StructNode -- are equivalent to
> hashes, lists, and structs.    (02)

Yes, thanks, I'd understood that. What I was really asking is "Is it really
necessary to have these three distinct types if nodes are built up of other
nodes?" (I'll have to practice writing better questions.)
For instance, does the distinction between Sequence- and StructNode, and
MapNode types go
away if the Enumeration interface-implementing data class you use can store
different types at the same time (e.g. Vector) ?
And I might implement a property-value pair as a link node between two
nodes, and a MapNode as a Vector of LinkNodes.    (03)

What role(s) do the derivative types, Map, Seq..,Struct really play?    (04)

In the GUI ideas I posted I wanted everything to be a Node (hyperlink
LinkNodes were a specialisation of Node), and a node was defined by its
content and any (type-)name(s) it might have. My view was that everything
should be transparently a node or node-composite, in as simplistic terms as
possible, as far as the user view is concerned.    (05)

And I'm not sure I agree with the definition of a text document as solely "a
sequence of lines, represented as strings". I think this point is going to
prove very controversial. For me, a text document should just be a sequence
of characters (char[]) at the lowest API level, with '\n' just being another
character. The interpretation of '\n' as a line-breaking character depends
on the task in hand. This means that I might want to optionally specify how
the file data is picked up depending on what I have in mind. Most
programming language already have a 'getline' type function in their core
Where that idea breaks for me, is that I will want to insert other nodes
(childNodes) into the stream of text content, in which case a node that was
previously only a single char[] has to become a sequence of nodes, some of
which are char[] and others which are not because they hold data further
down the branch of the tree. However, this is probably not that difficult
(he says, with fingers and toes crossed) to program.
Tracking node changes then becomes trickier though as the node histories
somehow have to register the split (or merger?).    (06)

Peter    (07)

----- Original Message -----
From: "Eugene Eric Kim" <eekim@eekim.com>
To: <ba-ohs-talk@bootstrap.org>
Sent: Monday, November 12, 2001 8:24 AM
Subject: Re: [ba-ohs-talk] GUI Ideas and NODAL    (08)

> On Sun, 11 Nov 2001, Peter  Jones wrote:
> > In Nodal, why are there three subclass interfaces of Node: MapNode,
> > SequenceNode, StructNode?
> NODAL is a data modeling language based on HyTime/SGML Groves.  Data may
> be either an atomic type (i.e. int, char, etc.) or a node type.  The three
> node types -- MapNode, SequenceNode, StructNode -- are equivalent to
> hashes, lists, and structs.  If you're modeling some data in NODAL and you
> need one of the latter three data types, then you use the appropriate node
> type.
> -Eugene
> --
> +=== Eugene Eric Kim ===== eekim@eekim.com ===== http://www.eekim.com/
> |       "Writer's block is a fancy term made up by whiners so they
> +=====  can have an excuse to drink alcohol."  --Steve Martin
>    (09)