More documentation cleanup and a reexport.

Grammar, spelling, and wording fixes. Also reexport the Val
type which is the intermediate type of a compiled config.
This commit is contained in:
Jeremy Wall 2018-03-12 21:34:40 -05:00
parent c6f41e53dd
commit 0a8f3d703d
2 changed files with 22 additions and 9 deletions

14
TODO.md
View File

@ -1,5 +1,12 @@
# Major Planned Features
## List processing
* Map over lists
* Filtering lists
* Flags could automatically expand a list of values into a list of flags.
* Joining a lists elements. (i.e. folds)
## Query Language (Experimental)
You should be able to ask the compiler to tell you any value or set of values in the
@ -8,7 +15,9 @@ compiled configuration.
## Translation Language (Experimental)
For some configuration file formats we need a way to specify a particular
organiztion for a given configuration structure. Some options here could be
organiztion for a given configuration structure (i.e. xml attribute or tag?).
Some options here could be:
* Simple data export (json)
* A Functional Transform similar to xslt or css transforms.
@ -17,6 +26,7 @@ organiztion for a given configuration structure. Some options here could be
# Minor Fixes and Polish
* Allow trailing commas
* Better error messages.
* Allow trailing commas.
* Flags should allow different seperators for prefixed flags.
* YAML export

View File

@ -59,13 +59,13 @@
//!
//! ucg has a relatively simple syntax with 3 primitive types, Int, Float, and String.
//!
//! * Int is any integer number.
//! * An Int is any integer number.
//!
//! ```ucg
//! 1; // a single Integer
//! ```
//!
//! * Float is any number with a decimal point.
//! * A Float is any number with a decimal point.
//!
//! ```ucg
//! 1.0; // A typical float.
@ -73,7 +73,7 @@
//! .1 // the leading 0 is also optional.
//! ```
//!
//! * String is any quoted text. backslashes within a string escape the next preceding
//! * A String is any quoted text. Backslashes within a string escape the next preceding
//! character.
//!
//! ``` ucg
@ -85,7 +85,7 @@
//!
//! ucg has two complex data types, Lists and Tuples.
//!
//! * Lists start are surrounded with square brackets `[ ]` and have comma separated elements.
//! * Lists are surrounded with square brackets `[ ]` and have comma separated elements.
//!
//! ```ucg
//! [1, 2, 3]; // A simple list of numbers.
@ -139,7 +139,9 @@
//! mytuple.field2.0; // descend into a deeply nested tuple and array.
//! ```
//!
//! The env variable is a reserved variable that always contains a tuple with the any environment variables.
//! The `env` variable is a reserved variable that always contains a tuple with any environment
//! variables in it.
//!
//! Attempting to reference an enviroment variable that does not exist is a compile error.
//!
//! #### Binary operators
@ -223,9 +225,9 @@
//! connstr = "couchdb://@:@" % (arg1, arg2),
//! }
//!
//! let my dbconf = myfunc("couchdb.example.org", "9090");
//! let my_dbconf = myfunc("couchdb.example.org", "9090");
//!
//! let my dbhost = dbconf.host;
//! let my_dbhost = dbconf.host;
//! ```
//!
//! macros always resolve to a tuple. If you want to get a single value out you can use selector syntax to retrieve it.
@ -292,3 +294,4 @@ pub use ast::Statement;
pub use parse::parse;
pub use build::Builder;
pub use build::Val;