Peter Amstutz wrote: > Well, I haven't had a chance to sit down and work on this, but basically > I have a few principals I want to follow: > > 1) It should be very easy to write by hand. Requiring less typing than > XML for example. > 2) It should be readable and scan well, minimize extraneous and > "magical" punctuation. It should be somewhat context-sensitive.
Well one of the easiest things to immediately grasp is simple key=value pairs. I think we will need some kind of grouping syntax though. This could be Python-style and just use indenting, or use actual start and end markers. <objectname> = types = ... <childobject> = ... <type-specific> = <val> <nextobject> = ... or <objectname> { types = <type1>, <type2>, <type3> <childobject> { types = ... } <type-specific-key> = <value> <type-specific-key> = <value> children = <childreference>, <childreference> } e.g. terangreal { avatar { types = misc:avatar misc:nick { # Since a property key is given (the loading code will have # a list of these, added by metaobjects), we can # assume this object has "property:property" # type and don't make them specify that: property:value = reed property:type = text/plain } # Or maybe you should be able to just do this, and assume that # any unknown keys mean to create a property with the given value: misc:fullname = "Reed Hedges" } bookmarks { # A comma could let you continue on a new line # (like Python I think, and gnu awk, let you do): children = vip://interreality.org/world, vip://interreality.org/otherworld, vip://blacksun.com/world } example:xyzzy { # referencing other objects in this config file: children = avatar, bookmarks, vip://foo.bar/baz } } > 5) It should be suitable for writing anything from simple configuration > files up to complete worlds. I think we should favor "simple configuration files" over "complete world", i.e., not worry that much about parsing efficiency or whatever, since binary COD does pretty well at that. Reed _______________________________________________ vos-d mailing list vos-d@interreality.org http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d