diff --git a/README.md b/README.md index 4ac5e8d..de82e98 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,19 @@ -**RSC is a handwritten scientific calculator for use in Rust projects that require turning an equation inside a string into a result.** RSC is designed to be very lightweight and have as few dependencies as possible. It has the goal of just doing a single thing really well, and enabling anyone to extend it with more features. +**RSC is a handwritten scientific calculator for turning an equation inside a string into a result.** RSC is designed to be very lightweight and have as few dependencies as possible. It has the goal of just doing a single thing really well, and enabling anyone to extend it with more features. + +RSC is also designed with the goal to not become bloated software. **RSC will not receive frequent updates, but that does not mean it is old or unmaintained.** That being said, RSC may still receive internal updates with relation to speed or resource usage. + +The abbreviation can be interpreted in two majorly different ways: +* Rust Scientific Calculations library +* Rust Scientific Calculator # Size -**RSC 0.1 is less than 300 lines of code**. +**RSC is ~300 lines of code**. # Performance -RSC 0.1 computes instantaneously, even with debug builds. +RSC computes instantaneously, even with debug builds. -# Stable -When RSC reaches stable, it will rarely change. Only performance improvements will likely appear after it has become stable. -*You can probably expect RSC 1.0 in about a week.* +# Stability +RSC will not have any major changes to its syntax. It will remain to be consistent for a long time. It is up to forkers to make different tastes of RSC. It will also forever keep the same open-source permissions. # License RSC is MIT licensed. RSC will always remain free to modify and use without attribution. @@ -16,10 +21,6 @@ RSC is MIT licensed. RSC will always remain free to modify and use without attri # Example ``` PS C:\Users\lukew> rsc ->2+2 -4 ->3(3) -9 >2+3*4 14 >2+3(4) @@ -34,15 +35,33 @@ PS C:\Users\lukew> rsc 4 >sin(6.5/9.7) 0.6210667900937665 ->cos(7.2/6.5) -0.44672732786461816 >sin cos tan 2 -0.5449592372801408 ->sin ( cos ( tan ( 2 ) ) ) --0.5449592372801408 +``` +## Debug +RSC can be run with the `ast` flag and show the internal expression that was created by the parser. This is most commonly used for entertainment purposes 😛. +``` +PS C:\Users\lukew> rsc ast +>pi*2^2 +BinOp( + Star, + Constant( + 3.141592653589793 + ), + Pow( + Constant( + 2.0 + ), + Constant( + 2.0 + ) + ) +) +12.566370614359172 ``` ## Errors ``` +PS C:\Users\lukew> rsc >oops Lexer error: InvalidIdentifier("oops") >3.3.1