Hi Steven, > I have decided that man's best friend is 1) a dog, 2) hexdump. ;)
Indeed! Though in this case, when exploring the structure of a PicoLisp database, I would recommend 'show' and 'edit'. Perhaps you already found "http://picolisp.com/wiki/?usingedit"? It explains this specifically in the DB context. > I'm a bit confused with which is the "entity object" and which are the > "B-Tree nodes". Entities are objects of class '+Wrds', for example. Each such object may grow to arbitrary size, has the list of its classes in the value, and relations in the properties. B-Tree nodes, on the other hand, are not objects in the OOP-sense. They store the tree data in their value (the property list is empty), and keep a fixed size (as determined by the block size of that DB file) and split into two if this size is exceeded. It doesn't matter in wich file these symbols reside. A single DB file may hold both entities and tree nodes, though often trees are in their own files because of different block size requirements. > I think I will need eventually is for the Wrds file to hold lemmas, so > objects that are semantically unique. And before had used a List prefix > as a way of holding the article ("Teil" "r") ("Teil" "s") for that > reason. Later there will be verbs which can be reflexive or not. And > these are also part of the word semantically, are different lemmas. Interesting! > > In all (+List +String) cases it is a bit tedious to handle these for > > data in the GUI. Note that you can use +ListTextField to map a > > single text field to a list of strings. > > This is any case is a must, and if it is easier for the GUI to use and > to reformat a simple string (for display) then just do that. And so > maybe stick with just the ((rel wrd (+Key +String))? Yes, that's best I think. Using plain +String, with +Key because they are unique, and e.g. (gui '(+E/R +TextField) '(wrd : home obj) 60) for the GUI. ♪♫ Alex -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe