3 ms·
Pantograph is a new kind of structure editor where you directly edit a typed program. In order to accomplish this, it introduces a new kind of selection -- tree
by rybla 2y ago
Pantograph is a new kind of structure editor where you directly edit a typed program. In order to accomplish this, it introduces a new kind of selection -- tree selection -- and a automatic typed refactoring system.
The link is the Pantograph tutorial. Follow the [about] link from the tutorial for more information on Pantograph's implementation and published formalization.
- deleted 2y ago[deleted]
- Yoric 2y agoThat is nice! Would this work well with weirder type-based features, such as typeclasses, regions, etc?
- rybla 2y agoThanks! We're working on extending the system to support more advanced type systems. In theory, the current system could already support these kinds of features (but not in quite as slick a way as modern languages, most likely), but it would be very cumbersome, so the work is in trimming down the formalization and taking advantage of new abstractions. Check out the implementation for a look at how defining the actual language (and typing rules) works currently https://github.com/jeprinz/pantograph/blob/main/src/Language/Pantograph/Specific/Currying.purs https://github.com/jeprinz/pantograph/blob/main/src/Language...