Hi, I'm Peter Wasilko

I am an Attorney, Programmer, and Independent Scholar.

Currently, I’m thinking a lot about Literate Programming and how to support it with some sort of graphical user interface.

At present I’ve been using nuweb, which has a rather primative DSL not far removed from Knuth’s original Web, although it does have a rather intriguing pattern matching scheme for parameterizing fragment expansions. But the program source is written in C and doesn’t lend itself to easy modification.

I am going to try replicating its functionality in Eastgate Systems Tinderbox, which is a highly flexible Turing Complete Outliner and Spatial Hypertext System with Prototype Based Inheritance and Query Based Background Agents, per Note Rules - On Add and On Remove Actions, a system of Aliases, and user created library Functions drawing on a fairly elaborate Action Code DSL that can leverage Designators like “parent”, “siblings”, “ancestors”, “grandparent”, “descendants”, and “randomChild”. Tinderbox can also use action code to create new notes and agents and perform actions when “typed links” are graphically created by dragging from one note into another, although Agents can also instigate the linking process programmatically.

Then I can prototype what I’d want in a nuweb replacement and implement it outside of Tinderbox using imba or crystal.

4 Likes

Welcome, Peter!

I heard you speak about Literate programming, and I am very interested in learning more about it.

I look forward to a presentation of yours.

Regards,

Fidel H Viegas

Hi Fidel,

Currently, I’m working on building a literate programming solution on top of Tinderbox and LaTeX. By leveraging Tinderbox it should be possible to provide an elegant GUI for building literate programming webs that will still enjoy all the typographical sophistication possible in LaTeX.

Up to now, my literate programming took of choice has been nuweb, but its code doesn’t led itself to extension and of course it doesn’t have any kind of user interface beyond its textual DSL.

Since Tinderbox is built around prototype inheritance, we can reify nuweb’s DSL model as Tinderbox Prototypes to turn the generic outliner into a dedicated Web Structure Editor that will transparently generate any typesetting directives.

When everything is up and running, I’d be happy to give a talk in 2023 to introduce the system and its implementation approach to the community.

Hi, Peter!

Thanks for your reply. I look forward to it.

Regards,

Fidel H Viegas