Eron Woolf and Andreas Kling Talking About the Ladybird Web Browser

The world won't let him do anything except browser engineering.

See https://ladybird.org/

Can't someone pay him to do a syntax-directed editing framework? I tried to do one in JavaScript once but I just couldn't get the DOM to represent abstract syntax. The way HTML/CSS is designed doesn't allow it. You want to be able model abstract syntax with something like <div> tags, but there is no way I could see to address the elements in a "hierarchical way". [Update: in HTML <div> tags are nothing to do with divisions of a structured document: they are used to represent regions of "screen" as far as I can tell.] [Updated Update: you can do what I was trying to do with HTML 5 custom tags or embedded XML.]

The conclusion I came to in the end is that it has all been designed to represent concrete representations. What I wanted was a system which would allow editor operations to develop an abstract syntax (think lisp s-exps) which would be presented to JavaScript code as native tuples of tuples. But the DOM is all about concrete styles attatched to <div> elements either by id or class, but what I wanted was different things to be attached to the elements depending on the context.  For example, if the focus point is on the condition of an if, then else block then you want it rendered as a menu of boolean expression elements, but otherwise it should be rendered as text. [Update: the HTML 5 spec allows arbitrary HTML element definitions and embedded XML so you can use this DOM interface for anything you like. See Blockly for an example: Ruth Leopold and Neil Fraser Demonstrating Blockly]

I think Pi Calculus is the way to do this, because in that you represent data as processes. See Programming Channel Processes and Robin's The Polyadic π-Calculus: a Tutorial.

Subscribe to Futo.

Comments

Popular posts from this blog

Steven Johnson - So You Think You Know How to Take Derivatives?

Welsh Republic Podcast Talking With Kars Collective on Armenia Azerbaijan Conflict

Hitachi HD44780U LCD Display Fonts