-
Notifications
You must be signed in to change notification settings - Fork 36
Update README #1294
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Update README #1294
Conversation
…elp users find more info. Renamed `DEVELOPMENT.md` to `CONTRIBUTING.md` to make it a bit more clear what it's used for.
…a relative link so that it will work properly when reposted to other locations.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left some suggestions.
README.md
Outdated
@@ -15,6 +15,86 @@ | |||
A modular set of compiler APIs empowering the next generation of Solidity code analysis and developer tooling. | |||
Written in Rust and distributed in multiple languages. | |||
|
|||
Slang analyzes Solidity source code and generates a rich concrete syntax tree (CST) that can be reasoned about. This is a departure from the classic approach of "black-box" compilers, which are handed the input and only their output can be observed. | |||
|
|||
Slang is not a replacement for solc, the standard Solidity compiler. We do not plan at the moment to support emitting optimized EVM bytecode for use in production. It does not perform formal verification of contracts or Solidity logic in general. However, other tools that serve this purpose are intended to be built on top of it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Slang is not a replacement for solc, the standard Solidity compiler. We do not plan at the moment to support emitting optimized EVM bytecode for use in production. It does not perform formal verification of contracts or Solidity logic in general. However, other tools that serve this purpose are intended to be built on top of it. | |
Slang is not a replacement for solc, the standard Solidity compiler. We do not plan at the moment to support emitting optimized EVM bytecode for use in production. It does not perform formal verification of contracts or Solidity logic in general. However, it is designed to empower such tools to be built on top of it. |
README.md
Outdated
yarn add "@nomicfoundation/slang" | ||
``` | ||
|
||
Although Slang is written in Rust, we do not currently support the usage of Slang as a standalone crate. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggest removing this for now, since we are not actively discouraging people from using Rust+giving feedback. It is just that the API is not finalized yet.
Although Slang is written in Rust, we do not currently support the usage of Slang as a standalone crate. |
README.md
Outdated
|
||
Although Slang is written in Rust, we do not currently support the usage of Slang as a standalone crate. | ||
|
||
[Learn more about how to get started with Slang.](https://nomicfoundation.github.io/slang/latest/user-guide/04-getting-started/01-installation/) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggest placing this link (and others like it) in a bullet to indent/for visibility.
[Learn more about how to get started with Slang.](https://nomicfoundation.github.io/slang/latest/user-guide/04-getting-started/01-installation/) | |
- [Learn more about how to get started with Slang.](https://nomicfoundation.github.io/slang/latest/user-guide/04-getting-started/01-installation/) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left a few suggestions. Otherwise, looks great!
Thanks for working on this...
@@ -15,6 +15,86 @@ | |||
A modular set of compiler APIs empowering the next generation of Solidity code analysis and developer tooling. | |||
Written in Rust and distributed in multiple languages. | |||
|
|||
Slang analyzes Solidity source code and generates a rich concrete syntax tree (CST) that can be reasoned about. This is a departure from the classic approach of "black-box" compilers, which are handed the input and only their output can be observed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Once it is approved, let's sync the contents with other _PRODUCT_README_
markers...
@@ -15,6 +15,86 @@ | |||
A modular set of compiler APIs empowering the next generation of Solidity code analysis and developer tooling. | |||
Written in Rust and distributed in multiple languages. | |||
|
|||
Slang analyzes Solidity source code and generates a rich concrete syntax tree (CST) that can be reasoned about. This is a departure from the classic approach of "black-box" compilers, which are handed the input and only their output can be observed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
WDYT of adding a short code example (10-20 lines) on how to use the public API?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Left a couple of questions.
## Solidity compiler tooling by [@NomicFoundation](https://github.com/NomicFoundation) | ||
|
||
A modular set of compiler APIs empowering the next generation of Solidity code analysis and developer tooling. | ||
Written in Rust and distributed in multiple languages. | ||
|
||
Slang analyzes Solidity source code and generates a rich concrete syntax tree (CST) that can be reasoned about. This is a departure from the classic approach of "black-box" compilers, which are handed the input and only their output can be observed. | ||
|
||
```ts |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any reason why the example is present in all READMEs except the root one?
Also, while I like that this example is short, it only shows a very small fraction of Slang's capabilities. Do we want to showcase more?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any reason why the example is present in all READMEs except the root one?
Not sure, just an oversight while I was trying to sync up all the READMEs.
Also, while I like that this example is short, it only shows a very small fraction of Slang's capabilities. Do we want to showcase more?
IMO it's okay to be brief on the "front page" of the project. It's not a user guide, it's an introduction. I'm not attached to this particular example so if you have a better one I'm happy to swap it out; however, I think being superficial is fine here. Showing off (and explaining) all Slang's features is what the user guide is for.
metaslang/*
andcodegen/*