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 # 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) ## Query Language (Experimental)
You should be able to ask the compiler to tell you any value or set of values in the 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) ## Translation Language (Experimental)
For some configuration file formats we need a way to specify a particular 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) * Simple data export (json)
* A Functional Transform similar to xslt or css transforms. * 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 # Minor Fixes and Polish
* Allow trailing commas * Better error messages.
* Allow trailing commas.
* Flags should allow different seperators for prefixed flags. * Flags should allow different seperators for prefixed flags.
* YAML export * YAML export

View File

@ -59,13 +59,13 @@
//! //!
//! ucg has a relatively simple syntax with 3 primitive types, Int, Float, and String. //! 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 //! ```ucg
//! 1; // a single Integer //! 1; // a single Integer
//! ``` //! ```
//! //!
//! * Float is any number with a decimal point. //! * A Float is any number with a decimal point.
//! //!
//! ```ucg //! ```ucg
//! 1.0; // A typical float. //! 1.0; // A typical float.
@ -73,7 +73,7 @@
//! .1 // the leading 0 is also optional. //! .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. //! character.
//! //!
//! ``` ucg //! ``` ucg
@ -85,7 +85,7 @@
//! //!
//! ucg has two complex data types, Lists and Tuples. //! 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 //! ```ucg
//! [1, 2, 3]; // A simple list of numbers. //! [1, 2, 3]; // A simple list of numbers.
@ -139,7 +139,9 @@
//! mytuple.field2.0; // descend into a deeply nested tuple and array. //! 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. //! Attempting to reference an enviroment variable that does not exist is a compile error.
//! //!
//! #### Binary operators //! #### Binary operators
@ -223,9 +225,9 @@
//! connstr = "couchdb://@:@" % (arg1, arg2), //! 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. //! 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 parse::parse;
pub use build::Builder; pub use build::Builder;
pub use build::Val;