Re: Document model of projectured

30 views
Skip to first unread message

Levente Mészáros

unread,
Jan 22, 2015, 4:41:01 AM1/22/15
to Henri Tuhola, proje...@googlegroups.com
Hi Henri,

I'm happy to hear that other people are also thinking about structured/projectional editing. I strongly believe that projectional editing can be done and that they will become more widespread eventually. Unfortunately there are only a very few people who are interested in the development of these tools at the moment, and I myself have very little time allocated for this project.

The document model of ProjecturEd is very flexible, in fact it hardly poses any constraints on the data structures. The implementation simply uses various classes, sequences and primitive types such as strings, numbers, etc. Take a look at https://github.com/projectured/projectured/tree/master/source/domain page. The most complete parts are the graphics, text, tree, json, xml, and book domains. In the domain directory you will find the domain specific data structure definitions and the data manipulation functions other than construstion and deconstruction (they are mostly added automatically).

I think the interesting parts are not the document data structures but rather the projections. And the most important part is how the generalized read-eval-print-loop, the printer and the reader algorithm works. How primitive, generic, and higher-order projections can be composed to build more complicated ones that can deal with the composition of diverse document data structures in a way the provides useful and predictable behavior.

You can read more about how ProjecturEd works internally at https://github.com/projectured/projectured/wiki pages, but please keep in mind that some things might be out of date. There's also a presentation at https://github.com/projectured/projectured/blob/master/documentation/overview.odp?raw=true page, which might shed some light on the internals.

If you have any further question, suggestion, or idea, please feel free to contact me.

Best regards,
levy

On Wed, Jan 21, 2015 at 5:34 PM, Henri Tuhola <henri....@gmail.com> wrote:
Hello

I'm working on an editor textended: https://github.com/cheery/textended-edit/

Textended operates on a tree, consisting of list, string, and symbol nodes. Each node has an identifier so they can be referenced outside it's file. A customizable layouter transforms the tree into a boxmodel, where the user can edit.

The document is translated and generated often. Makes me wonder if I'm using a good model, or whether there were better around. I heard about projectured but had difficulty reading the source code. Not sure where to look exactly to learn about the structures projectured is working on.

Do you have some explanation of how projectured functions? And know about anything that might help me on my project?

Reply all
Reply to author
Forward
0 new messages