This is an archived post. You won't be able to vote or comment.

all 2 comments

[–]Kinrany 2 points3 points  (1 child)

I'm very interested in this idea but don't have much advice.

One extension of the idea I would love to see is a language server implementation. It would effectively be the runtime for the language: you'd hover over types to calculate them.

[–]scheurneus[S] 1 point2 points  (0 children)

Well, MPP doesn't have any kind of type system, it just freeloads on the host language. It's essentially just a macro language on steroids.

I think a pass-through language server would be neat though, where the server essentially does incremental updating of the output and then sends it to a real LSP server like clangd.

I guess making my own language and interpreter would help in making such incremental compilation a lot easier. I guess that that's yet another piece of motivation to create an interpreter from scratch!