rust-hosted-langs / book

Writing Interpreters in Rust: a Guide
https://rust-hosted-langs.github.io/book/
Creative Commons Attribution 4.0 International
485 stars 30 forks source link

"Writing Interpreters in Rust: a Guide" WIP draft #12

Closed pliniker closed 4 years ago

pliniker commented 4 years ago

Book rendering updated on each push: https://pliniker.github.io/book/

What this is:

This is obviously an absurdly large pull request. The history of that is that in the early days there was a lot of churn in my code design (implying a long period where I lacked confidence in my choices) and so by the time the architecture had stabilized there was already quite a lot of code.

Proceeding

My intention is to focus on the book until it is caught up with the source code.

PRs and contributions

If this looks at all interesting to anybody, some questions should be discussed:

  1. book license
    • I think this should be some form of Creative Commons but which one?
  2. source code license
    • I initially picked MPLv2 because I have some sympathy to copyleft
    • I also recognize that this is a rare choice and there are arguments in favor of more copyleft but possibly even more arguments toward the commonly used MIT/Apache2 in the Rust community. MPLv2 is a middle-way IMO but :man_shrugging:
  3. This PR is too big to be sanely reviewed. Options:
    • just accept it, ugly parts and all as something to start from: merge it to base/master and create issues and PRs from there on
    • don't accept it as is, fork this fork and make PRs to it until it's acceptable quality. This could take a long time.

What should this become?

What should the book and code cover, going forward?

What I'd like this to be is a repository that somebody can fork and design their own language from, where the builiding blocks are provided. A language design kit, almost. That's a way off though.

pliniker commented 4 years ago

Decision on Q3 - just merge and open issues/prs to tidy up going forward. That'll mean issues for Q1 & Q2.