diff --git a/README.md b/README.md index 92f2ef78..1f9f5bf8 100644 --- a/README.md +++ b/README.md @@ -18,8 +18,8 @@ Supported targets and builds * WebAssembly (WASM) * `no-std` -Standard Features ----------------- +Standard features +----------------- * Easy-to-use language similar to JavaScript+Rust with dynamic typing. * Tight integration with native Rust [functions](https://schungx.github.io/rhai/rust/functions.html) and [types]([#custom-types-and-methods](https://schungx.github.io/rhai/rust/custom.html)), including [getters/setters](https://schungx.github.io/rhai/rust/getters-setters.html), [methods](https://schungx.github.io/rhai/rust/custom.html) and [indexers](https://schungx.github.io/rhai/rust/indexers.html). @@ -39,19 +39,19 @@ Standard Features * Scripts are [optimized](https://schungx.github.io/rhai/engine/optimize.html) (useful for template-based machine-generated scripts) for repeated evaluations. * Support for [minimal builds](https://schungx.github.io/rhai/start/builds/minimal.html) by excluding unneeded language [features](https://schungx.github.io/rhai/start/features.html). -Protection Against Attacks -------------------------- +Protection against attacks +-------------------------- * Sand-boxed - the scripting engine, if declared immutable, cannot mutate the containing environment unless explicitly permitted (e.g. via a `RefCell`). * Rugged - protected against malicious attacks (such as [stack-overflow](https://schungx.github.io/rhai/safety/max-call-stack.html), [over-sized data](https://schungx.github.io/rhai/safety/max-string-size.html), and [runaway scripts](https://schungx.github.io/rhai/safety/max-operations.html) etc.) that may come from untrusted third-party user-land scripts. * Track script evaluation [progress](https://schungx.github.io/rhai/safety/progress.html) and manually terminate a script run. -For Those Who Actually Want Their Own Language +For those who actually want their own language --------------------------------------------- * Use as a [DSL](https://schungx.github.io/rhai/engine/dsl.html). -* Define [custom operators](https://schungx.github.io/rhai/engine/custom-op.html). * Restrict the language by surgically [disabling keywords and operators](https://schungx.github.io/rhai/engine/disable.html). +* Define [custom operators](https://schungx.github.io/rhai/engine/custom-op.html). * Extend the language with [custom syntax](https://schungx.github.io/rhai/engine/custom-syntax.html). Documentation diff --git a/doc/src/advanced.md b/doc/src/advanced.md index 3cb28cb5..b7d69e39 100644 --- a/doc/src/advanced.md +++ b/doc/src/advanced.md @@ -5,6 +5,12 @@ Advanced Topics This section covers advanced features such as: -* [Script optimization] +* Simulated [Object Oriented Programming][OOP]. -* The dreaded (or beloved for those with twisted tastes) [`eval`] statement +* [`serde`] integration. + +* [Script optimization]. + +* [Domain-Specific Languages][DSL]. + +* The dreaded (or beloved for those with twisted tastes) [`eval`] statement. diff --git a/doc/src/safety/max-array-size.md b/doc/src/safety/max-array-size.md index af5ba6f0..d2724e0f 100644 --- a/doc/src/safety/max-array-size.md +++ b/doc/src/safety/max-array-size.md @@ -3,8 +3,8 @@ Maximum Size of Arrays {{#include ../links.md}} -Limiting How Large Arrays Can Grow ---------------------------------- +Limit How Large Arrays Can Grow +------------------------------ Rhai by default does not limit how large an [array] can be. diff --git a/doc/src/safety/max-call-stack.md b/doc/src/safety/max-call-stack.md index f10a8fbe..2d33d653 100644 --- a/doc/src/safety/max-call-stack.md +++ b/doc/src/safety/max-call-stack.md @@ -3,8 +3,8 @@ Maximum Call Stack Depth {{#include ../links.md}} -Limiting How Stack Usage by Scripts ----------------------------------- +Limit How Stack Usage by Scripts +------------------------------- Rhai by default limits function calls to a maximum depth of 128 levels (16 levels in debug build). diff --git a/doc/src/safety/max-map-size.md b/doc/src/safety/max-map-size.md index 2fcd3273..a980562b 100644 --- a/doc/src/safety/max-map-size.md +++ b/doc/src/safety/max-map-size.md @@ -3,8 +3,8 @@ Maximum Size of Object Maps {{#include ../links.md}} -Limiting How Large Object Maps Can Grow --------------------------------------- +Limit How Large Object Maps Can Grow +----------------------------------- Rhai by default does not limit how large (i.e. the number of properties) an [object map] can be. diff --git a/doc/src/safety/max-operations.md b/doc/src/safety/max-operations.md index 6dd5d7d9..e4778b88 100644 --- a/doc/src/safety/max-operations.md +++ b/doc/src/safety/max-operations.md @@ -3,8 +3,8 @@ Maximum Number of Operations {{#include ../links.md}} -Limiting How Long a Script Can Run ---------------------------------- +Limit How Long a Script Can Run +------------------------------ Rhai by default does not limit how much time or CPU a script consumes. diff --git a/doc/src/safety/max-stmt-depth.md b/doc/src/safety/max-stmt-depth.md index e8b5ee84..e9749689 100644 --- a/doc/src/safety/max-stmt-depth.md +++ b/doc/src/safety/max-stmt-depth.md @@ -3,8 +3,8 @@ Maximum Statement Depth {{#include ../links.md}} -Limiting How Deeply-Nested a Statement Can Be --------------------------------------------- +Limit How Deeply-Nested a Statement Can Be +----------------------------------------- Rhai by default limits statements and expressions nesting to a maximum depth of 128 (which should be plenty) when they are at _global_ level, but only a depth of 32 diff --git a/doc/src/safety/max-string-size.md b/doc/src/safety/max-string-size.md index 4b279d68..c693af9c 100644 --- a/doc/src/safety/max-string-size.md +++ b/doc/src/safety/max-string-size.md @@ -3,8 +3,8 @@ Maximum Length of Strings {{#include ../links.md}} -Limiting How Long Strings Can Grow ---------------------------------- +Limit How Long Strings Can Grow +------------------------------ Rhai by default does not limit how long a [string] can be. diff --git a/doc/src/safety/progress.md b/doc/src/safety/progress.md index 00c2ed0e..3432a00e 100644 --- a/doc/src/safety/progress.md +++ b/doc/src/safety/progress.md @@ -1,5 +1,5 @@ -Tracking Progress and Force-Termination -====================================== +Track Progress and Force-Termination +=================================== {{#include ../links.md}}