As part of this change, based on what I've been seeing in Gluon, Argon, Lark, and rust-analyzer, I've begun to break up Pikelet into separate crates. The new directory structure looks like this:
makes it easier for newcomers to focus on a single crate - say, if they are interested in a specific thing, eg. editors, type checking, compilation, parsing, etc.
enforces a DAG between some of our components, which is nice architecturally
reduces the need for cargo features, making it easier just to grab the driver for embedding the compiler on a web page, for instance
The downsides are:
we end up with some stubby little crates
there's more jumping between directories
harder to make use of dead-code warnings
I've made a subdirectory for editors, as it will give us some incentive to add some more, on top of just VS Code!
Sooo, the plugin keeps crashing, but oh well! Thinking I'll just merge this for now. It's a bit of a shake up, so it'd be nice to do this sooner rather than later.
This begins our work on #97.
As part of this change, based on what I've been seeing in Gluon, Argon, Lark, and rust-analyzer, I've begun to break up Pikelet into separate crates. The new directory structure looks like this:
This should give us the following benefits:
The downsides are:
I've made a subdirectory for editors, as it will give us some incentive to add some more, on top of just VS Code!