diff --git a/TODO.md b/TODO.md index cb6eed6..6ffd0fe 100644 --- a/TODO.md +++ b/TODO.md @@ -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 \ No newline at end of file diff --git a/src/lib.rs b/src/lib.rs index 72d131c..2c5d630 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -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;